基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using Lskj.Business;
|
||||
using Lskj.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Lskj.PubFingerPrint
|
||||
{
|
||||
/// <summary>
|
||||
/// c#库被调用统一接口类
|
||||
/// </summary>
|
||||
public sealed class DllBaseClass : IForm
|
||||
{
|
||||
public DllBaseClass()
|
||||
{
|
||||
|
||||
}
|
||||
public DllBaseClass(string[] obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
//DynamicPubchartModel moduleModel = new DynamicPubchartModel(obj);
|
||||
FrmMain main = new FrmMain();
|
||||
this.SubForm = main;
|
||||
//main.PubchartModel = moduleModel;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogUtil.WriteError("Lskj.PubFingerPrint.dll--参数错误-->" + obj.ToString(), ex);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 窗口
|
||||
/// </summary>
|
||||
public Form SubForm { get; set; }
|
||||
}
|
||||
}
|
||||
+420
@@ -0,0 +1,420 @@
|
||||
|
||||
namespace Lskj.PubFingerPrint
|
||||
{
|
||||
partial class FingerControl
|
||||
{
|
||||
/// <summary>
|
||||
/// 必需的设计器变量。
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 清理所有正在使用的资源。
|
||||
/// </summary>
|
||||
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 组件设计器生成的代码
|
||||
|
||||
/// <summary>
|
||||
/// 设计器支持所需的方法 - 不要修改
|
||||
/// 使用代码编辑器修改此方法的内容。
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.repositoryItemCheckEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.FingerPanel = new System.Windows.Forms.Panel();
|
||||
this.LeftPanel = new System.Windows.Forms.Panel();
|
||||
this.MainSplitContainer = new DevExpress.XtraEditors.SplitContainerControl();
|
||||
this.FingerPicBox = new System.Windows.Forms.PictureBox();
|
||||
this.LeftMsgPanel = new System.Windows.Forms.Panel();
|
||||
this.LeftMessage = new System.Windows.Forms.Label();
|
||||
this.saveBtn = new System.Windows.Forms.Label();
|
||||
this.EmployeeControl = new DevExpress.XtraGrid.GridControl();
|
||||
this.EmployeeView = new DevExpress.XtraGrid.Views.Grid.GridView();
|
||||
this.工号 = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
this.姓名 = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
this.IsPrint = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.IsFinerPrintEdit = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.RightMessage = new System.Windows.Forms.Label();
|
||||
this.split2 = new System.Windows.Forms.Label();
|
||||
this.InfoLabel = new System.Windows.Forms.Label();
|
||||
this.split1 = new System.Windows.Forms.Label();
|
||||
this.userGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.userDepartment = new System.Windows.Forms.Label();
|
||||
this.userDepartText = new System.Windows.Forms.Label();
|
||||
this.userId = new System.Windows.Forms.Label();
|
||||
this.userIdText = new System.Windows.Forms.Label();
|
||||
this.userAcount = new System.Windows.Forms.Label();
|
||||
this.userAcountText = new System.Windows.Forms.Label();
|
||||
this.userName = new System.Windows.Forms.Label();
|
||||
this.userNameText = new System.Windows.Forms.Label();
|
||||
this.已录入 = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckEdit1)).BeginInit();
|
||||
this.FingerPanel.SuspendLayout();
|
||||
this.LeftPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.MainSplitContainer)).BeginInit();
|
||||
this.MainSplitContainer.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FingerPicBox)).BeginInit();
|
||||
this.LeftMsgPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeControl)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeView)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsPrint)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsFinerPrintEdit)).BeginInit();
|
||||
this.userGroupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// repositoryItemCheckEdit1
|
||||
//
|
||||
this.repositoryItemCheckEdit1.AutoHeight = false;
|
||||
this.repositoryItemCheckEdit1.Name = "repositoryItemCheckEdit1";
|
||||
this.repositoryItemCheckEdit1.ValueChecked = 1;
|
||||
this.repositoryItemCheckEdit1.ValueUnchecked = 0;
|
||||
//
|
||||
// FingerPanel
|
||||
//
|
||||
this.FingerPanel.Controls.Add(this.LeftPanel);
|
||||
this.FingerPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.FingerPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.FingerPanel.Name = "FingerPanel";
|
||||
this.FingerPanel.Size = new System.Drawing.Size(964, 455);
|
||||
this.FingerPanel.TabIndex = 2;
|
||||
//
|
||||
// LeftPanel
|
||||
//
|
||||
this.LeftPanel.Controls.Add(this.MainSplitContainer);
|
||||
this.LeftPanel.Controls.Add(this.split2);
|
||||
this.LeftPanel.Controls.Add(this.InfoLabel);
|
||||
this.LeftPanel.Controls.Add(this.split1);
|
||||
this.LeftPanel.Controls.Add(this.userGroupBox);
|
||||
this.LeftPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.LeftPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.LeftPanel.Name = "LeftPanel";
|
||||
this.LeftPanel.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.LeftPanel.Size = new System.Drawing.Size(964, 455);
|
||||
this.LeftPanel.TabIndex = 0;
|
||||
//
|
||||
// MainSplitContainer
|
||||
//
|
||||
this.MainSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.MainSplitContainer.Location = new System.Drawing.Point(10, 211);
|
||||
this.MainSplitContainer.Name = "MainSplitContainer";
|
||||
this.MainSplitContainer.Panel1.Controls.Add(this.FingerPicBox);
|
||||
this.MainSplitContainer.Panel1.Controls.Add(this.LeftMsgPanel);
|
||||
this.MainSplitContainer.Panel1.Text = "Panel1";
|
||||
this.MainSplitContainer.Panel2.Controls.Add(this.EmployeeControl);
|
||||
this.MainSplitContainer.Panel2.Controls.Add(this.RightMessage);
|
||||
this.MainSplitContainer.Panel2.Text = "Panel2";
|
||||
this.MainSplitContainer.Size = new System.Drawing.Size(944, 234);
|
||||
this.MainSplitContainer.SplitterPosition = 800;
|
||||
this.MainSplitContainer.TabIndex = 11;
|
||||
this.MainSplitContainer.Text = "splitContainerControl1";
|
||||
//
|
||||
// FingerPicBox
|
||||
//
|
||||
this.FingerPicBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.FingerPicBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FingerPicBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.FingerPicBox.Location = new System.Drawing.Point(0, 45);
|
||||
this.FingerPicBox.Name = "FingerPicBox";
|
||||
this.FingerPicBox.Size = new System.Drawing.Size(800, 189);
|
||||
this.FingerPicBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
|
||||
this.FingerPicBox.TabIndex = 33;
|
||||
this.FingerPicBox.TabStop = false;
|
||||
//
|
||||
// LeftMsgPanel
|
||||
//
|
||||
this.LeftMsgPanel.Controls.Add(this.LeftMessage);
|
||||
this.LeftMsgPanel.Controls.Add(this.saveBtn);
|
||||
this.LeftMsgPanel.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.LeftMsgPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.LeftMsgPanel.Name = "LeftMsgPanel";
|
||||
this.LeftMsgPanel.Size = new System.Drawing.Size(800, 45);
|
||||
this.LeftMsgPanel.TabIndex = 32;
|
||||
//
|
||||
// LeftMessage
|
||||
//
|
||||
this.LeftMessage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(238)))), ((int)(((byte)(249)))));
|
||||
this.LeftMessage.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.LeftMessage.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.LeftMessage.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(108)))), ((int)(((byte)(206)))));
|
||||
this.LeftMessage.Location = new System.Drawing.Point(0, 0);
|
||||
this.LeftMessage.Name = "LeftMessage";
|
||||
this.LeftMessage.Size = new System.Drawing.Size(738, 45);
|
||||
this.LeftMessage.TabIndex = 34;
|
||||
this.LeftMessage.Text = " 指纹识别区";
|
||||
this.LeftMessage.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// saveBtn
|
||||
//
|
||||
this.saveBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(118)))), ((int)(((byte)(200)))));
|
||||
this.saveBtn.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.saveBtn.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.saveBtn.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.saveBtn.Font = new System.Drawing.Font("Microsoft YaHei UI", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.saveBtn.ForeColor = System.Drawing.Color.White;
|
||||
this.saveBtn.Location = new System.Drawing.Point(738, 0);
|
||||
this.saveBtn.Name = "saveBtn";
|
||||
this.saveBtn.Size = new System.Drawing.Size(62, 45);
|
||||
this.saveBtn.TabIndex = 33;
|
||||
this.saveBtn.Text = "录入";
|
||||
this.saveBtn.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.saveBtn.Click += new System.EventHandler(this.saveBtn_Click);
|
||||
//
|
||||
// EmployeeControl
|
||||
//
|
||||
this.EmployeeControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.EmployeeControl.Location = new System.Drawing.Point(0, 45);
|
||||
this.EmployeeControl.MainView = this.EmployeeView;
|
||||
this.EmployeeControl.Name = "EmployeeControl";
|
||||
this.EmployeeControl.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
|
||||
this.IsPrint,
|
||||
this.IsFinerPrintEdit});
|
||||
this.EmployeeControl.Size = new System.Drawing.Size(138, 189);
|
||||
this.EmployeeControl.TabIndex = 17;
|
||||
this.EmployeeControl.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
|
||||
this.EmployeeView});
|
||||
//
|
||||
// EmployeeView
|
||||
//
|
||||
this.EmployeeView.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
|
||||
this.工号,
|
||||
this.姓名});
|
||||
this.EmployeeView.GridControl = this.EmployeeControl;
|
||||
this.EmployeeView.IndicatorWidth = 40;
|
||||
this.EmployeeView.Name = "EmployeeView";
|
||||
this.EmployeeView.OptionsView.ShowGroupPanel = false;
|
||||
//
|
||||
// 工号
|
||||
//
|
||||
this.工号.Caption = "员工工号";
|
||||
this.工号.FieldName = "员工工号";
|
||||
this.工号.Name = "工号";
|
||||
this.工号.Visible = true;
|
||||
this.工号.VisibleIndex = 0;
|
||||
//
|
||||
// 姓名
|
||||
//
|
||||
this.姓名.Caption = "员工姓名";
|
||||
this.姓名.FieldName = "员工姓名";
|
||||
this.姓名.Name = "姓名";
|
||||
this.姓名.Visible = true;
|
||||
this.姓名.VisibleIndex = 1;
|
||||
//
|
||||
// IsPrint
|
||||
//
|
||||
this.IsPrint.AutoHeight = false;
|
||||
this.IsPrint.Name = "IsPrint";
|
||||
this.IsPrint.ValueChecked = 1;
|
||||
this.IsPrint.ValueUnchecked = "0";
|
||||
//
|
||||
// IsFinerPrintEdit
|
||||
//
|
||||
this.IsFinerPrintEdit.AutoHeight = false;
|
||||
this.IsFinerPrintEdit.Name = "IsFinerPrintEdit";
|
||||
this.IsFinerPrintEdit.ValueChecked = 1;
|
||||
this.IsFinerPrintEdit.ValueUnchecked = 0;
|
||||
//
|
||||
// RightMessage
|
||||
//
|
||||
this.RightMessage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(238)))), ((int)(((byte)(249)))));
|
||||
this.RightMessage.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.RightMessage.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.RightMessage.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(108)))), ((int)(((byte)(206)))));
|
||||
this.RightMessage.Location = new System.Drawing.Point(0, 0);
|
||||
this.RightMessage.Name = "RightMessage";
|
||||
this.RightMessage.Size = new System.Drawing.Size(138, 45);
|
||||
this.RightMessage.TabIndex = 16;
|
||||
this.RightMessage.Text = " 已录入人员";
|
||||
this.RightMessage.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// split2
|
||||
//
|
||||
this.split2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.split2.Font = new System.Drawing.Font("宋体", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.split2.Location = new System.Drawing.Point(10, 201);
|
||||
this.split2.Name = "split2";
|
||||
this.split2.Size = new System.Drawing.Size(944, 10);
|
||||
this.split2.TabIndex = 10;
|
||||
//
|
||||
// InfoLabel
|
||||
//
|
||||
this.InfoLabel.AutoSize = true;
|
||||
this.InfoLabel.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.InfoLabel.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.InfoLabel.ForeColor = System.Drawing.Color.Red;
|
||||
this.InfoLabel.Location = new System.Drawing.Point(10, 181);
|
||||
this.InfoLabel.Name = "InfoLabel";
|
||||
this.InfoLabel.Size = new System.Drawing.Size(0, 20);
|
||||
this.InfoLabel.TabIndex = 8;
|
||||
//
|
||||
// split1
|
||||
//
|
||||
this.split1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.split1.Location = new System.Drawing.Point(10, 171);
|
||||
this.split1.Name = "split1";
|
||||
this.split1.Size = new System.Drawing.Size(944, 10);
|
||||
this.split1.TabIndex = 6;
|
||||
//
|
||||
// userGroupBox
|
||||
//
|
||||
this.userGroupBox.Controls.Add(this.userDepartment);
|
||||
this.userGroupBox.Controls.Add(this.userDepartText);
|
||||
this.userGroupBox.Controls.Add(this.userId);
|
||||
this.userGroupBox.Controls.Add(this.userIdText);
|
||||
this.userGroupBox.Controls.Add(this.userAcount);
|
||||
this.userGroupBox.Controls.Add(this.userAcountText);
|
||||
this.userGroupBox.Controls.Add(this.userName);
|
||||
this.userGroupBox.Controls.Add(this.userNameText);
|
||||
this.userGroupBox.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.userGroupBox.Font = new System.Drawing.Font("宋体", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.userGroupBox.Location = new System.Drawing.Point(10, 10);
|
||||
this.userGroupBox.Name = "userGroupBox";
|
||||
this.userGroupBox.Size = new System.Drawing.Size(944, 161);
|
||||
this.userGroupBox.TabIndex = 4;
|
||||
this.userGroupBox.TabStop = false;
|
||||
this.userGroupBox.Text = "用户信息";
|
||||
//
|
||||
// userDepartment
|
||||
//
|
||||
this.userDepartment.AutoSize = true;
|
||||
this.userDepartment.Location = new System.Drawing.Point(6, 124);
|
||||
this.userDepartment.Name = "userDepartment";
|
||||
this.userDepartment.Size = new System.Drawing.Size(104, 19);
|
||||
this.userDepartment.TabIndex = 6;
|
||||
this.userDepartment.Text = "部门名称:";
|
||||
//
|
||||
// userDepartText
|
||||
//
|
||||
this.userDepartText.AutoSize = true;
|
||||
this.userDepartText.Location = new System.Drawing.Point(116, 124);
|
||||
this.userDepartText.Name = "userDepartText";
|
||||
this.userDepartText.Size = new System.Drawing.Size(0, 19);
|
||||
this.userDepartText.TabIndex = 7;
|
||||
//
|
||||
// userId
|
||||
//
|
||||
this.userId.AutoSize = true;
|
||||
this.userId.Location = new System.Drawing.Point(6, 33);
|
||||
this.userId.Name = "userId";
|
||||
this.userId.Size = new System.Drawing.Size(104, 19);
|
||||
this.userId.TabIndex = 4;
|
||||
this.userId.Text = "用户编号:";
|
||||
//
|
||||
// userIdText
|
||||
//
|
||||
this.userIdText.AutoSize = true;
|
||||
this.userIdText.Location = new System.Drawing.Point(116, 33);
|
||||
this.userIdText.Name = "userIdText";
|
||||
this.userIdText.Size = new System.Drawing.Size(0, 19);
|
||||
this.userIdText.TabIndex = 5;
|
||||
//
|
||||
// userAcount
|
||||
//
|
||||
this.userAcount.AutoSize = true;
|
||||
this.userAcount.Location = new System.Drawing.Point(6, 94);
|
||||
this.userAcount.Name = "userAcount";
|
||||
this.userAcount.Size = new System.Drawing.Size(104, 19);
|
||||
this.userAcount.TabIndex = 2;
|
||||
this.userAcount.Text = "用户工号:";
|
||||
//
|
||||
// userAcountText
|
||||
//
|
||||
this.userAcountText.AutoSize = true;
|
||||
this.userAcountText.Location = new System.Drawing.Point(116, 94);
|
||||
this.userAcountText.Name = "userAcountText";
|
||||
this.userAcountText.Size = new System.Drawing.Size(0, 19);
|
||||
this.userAcountText.TabIndex = 3;
|
||||
//
|
||||
// userName
|
||||
//
|
||||
this.userName.AutoSize = true;
|
||||
this.userName.Location = new System.Drawing.Point(6, 63);
|
||||
this.userName.Name = "userName";
|
||||
this.userName.Size = new System.Drawing.Size(85, 19);
|
||||
this.userName.TabIndex = 0;
|
||||
this.userName.Text = "用户名:";
|
||||
//
|
||||
// userNameText
|
||||
//
|
||||
this.userNameText.AutoSize = true;
|
||||
this.userNameText.Location = new System.Drawing.Point(97, 63);
|
||||
this.userNameText.Name = "userNameText";
|
||||
this.userNameText.Size = new System.Drawing.Size(0, 19);
|
||||
this.userNameText.TabIndex = 1;
|
||||
//
|
||||
// 已录入
|
||||
//
|
||||
this.已录入.AppearanceHeader.Options.UseTextOptions = true;
|
||||
this.已录入.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
|
||||
this.已录入.Caption = "已录入";
|
||||
this.已录入.ColumnEdit = this.repositoryItemCheckEdit1;
|
||||
this.已录入.FieldName = "已录入";
|
||||
this.已录入.Name = "已录入";
|
||||
this.已录入.Visible = true;
|
||||
this.已录入.VisibleIndex = 2;
|
||||
//
|
||||
// FingerControl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.FingerPanel);
|
||||
this.Name = "FingerControl";
|
||||
this.Size = new System.Drawing.Size(964, 455);
|
||||
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckEdit1)).EndInit();
|
||||
this.FingerPanel.ResumeLayout(false);
|
||||
this.LeftPanel.ResumeLayout(false);
|
||||
this.LeftPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.MainSplitContainer)).EndInit();
|
||||
this.MainSplitContainer.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.FingerPicBox)).EndInit();
|
||||
this.LeftMsgPanel.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeControl)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeView)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsPrint)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsFinerPrintEdit)).EndInit();
|
||||
this.userGroupBox.ResumeLayout(false);
|
||||
this.userGroupBox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel FingerPanel;
|
||||
private System.Windows.Forms.Panel LeftPanel;
|
||||
private System.Windows.Forms.Label split2;
|
||||
private System.Windows.Forms.Label InfoLabel;
|
||||
private System.Windows.Forms.Label split1;
|
||||
private System.Windows.Forms.GroupBox userGroupBox;
|
||||
private System.Windows.Forms.Label userName;
|
||||
private System.Windows.Forms.Label userNameText;
|
||||
private System.Windows.Forms.Label userId;
|
||||
private System.Windows.Forms.Label userIdText;
|
||||
private System.Windows.Forms.Label userAcount;
|
||||
private System.Windows.Forms.Label userAcountText;
|
||||
private DevExpress.XtraEditors.SplitContainerControl MainSplitContainer;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn 已录入;
|
||||
private DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit repositoryItemCheckEdit1;
|
||||
private System.Windows.Forms.Label userDepartment;
|
||||
private System.Windows.Forms.Label userDepartText;
|
||||
private DevExpress.XtraGrid.GridControl EmployeeControl;
|
||||
private DevExpress.XtraGrid.Views.Grid.GridView EmployeeView;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn 工号;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn 姓名;
|
||||
private DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit IsPrint;
|
||||
private DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit IsFinerPrintEdit;
|
||||
private System.Windows.Forms.Label RightMessage;
|
||||
private System.Windows.Forms.PictureBox FingerPicBox;
|
||||
private System.Windows.Forms.Panel LeftMsgPanel;
|
||||
private System.Windows.Forms.Label saveBtn;
|
||||
private System.Windows.Forms.Label LeftMessage;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
using DevExpress.XtraGrid;
|
||||
using DevExpress.XtraGrid.Views.Grid;
|
||||
using libzkfpcsharp;
|
||||
using Lskj.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Control.ZKFinger;
|
||||
using Lskj.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Lskj.PubFingerPrint
|
||||
{
|
||||
public partial class FingerControl : UserControl
|
||||
{
|
||||
public DataRow focusedRow;
|
||||
public bool isDoCapture = false;
|
||||
public GridControl PrintUserControl
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.EmployeeControl;
|
||||
}
|
||||
}
|
||||
public GridView PrintUserView
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.EmployeeView;
|
||||
}
|
||||
}
|
||||
public FingerControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
public byte[] FingerBuffer
|
||||
{
|
||||
get { return StaticControl.fingerHelper.CapTmp; }
|
||||
}
|
||||
public void OnFrmFingerLoad(DataRow row)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.focusedRow = row;
|
||||
string userName = row["员工姓名"] + "";
|
||||
string userId = row["employeeid"] + "";
|
||||
string loginaccount = row["员工工号"] + "";
|
||||
string departName = row["departmentname"] + "";
|
||||
this.userNameText.Text = userName;
|
||||
this.userIdText.Text = userId;
|
||||
this.userAcountText.Text = loginaccount;
|
||||
this.userDepartText.Text = departName;
|
||||
InfoLabel.Text = "请放手指";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
InfoLabel.Text = ex.Message;
|
||||
this.focusedRow = null;
|
||||
}
|
||||
}
|
||||
public void DoCapture()
|
||||
{
|
||||
while (!isDoCapture)
|
||||
{
|
||||
try
|
||||
{
|
||||
int cbCapTmp = 2048;
|
||||
int ret = zkfp2.AcquireFingerprint(StaticControl.fingerHelper.mDevHandle, StaticControl.fingerHelper.FPBuffer, StaticControl.fingerHelper.CapTmp, ref cbCapTmp);
|
||||
if (ret == zkfp.ZKFP_ERR_OK)
|
||||
{
|
||||
if (this.focusedRow != null)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
BitmapFormat.GetBitmap(StaticControl.fingerHelper.FPBuffer, StaticControl.fingerHelper.mfpWidth, StaticControl.fingerHelper.mfpHeight, ref ms);
|
||||
Bitmap bmp = new Bitmap(ms);
|
||||
ShowImg(bmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("请选择录入人员");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
private void ShowImg(Bitmap bt)
|
||||
{
|
||||
if (this.InvokeRequired)
|
||||
{
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
FingerPicBox.Image = bt;
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
FingerPicBox.Image = bt;
|
||||
}
|
||||
}
|
||||
private void saveBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (StaticControl.fingerHelper.FPBuffer == null || StaticControl.fingerHelper.FPBuffer.Length == 0 || this.focusedRow == null)
|
||||
{
|
||||
MessageUtil.Show("请录入指纹后再保存");
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
string saveSql = string.Format("update P_EmployeeTab set FingerBuffer = @Picture,IsFingerPrint = 1 where EmployeeId = '{0}'", this.userIdText.Text);
|
||||
SqlParameter[] cmdParams = new SqlParameter[]
|
||||
{
|
||||
new SqlParameter("@Picture",SqlDbType.Binary,FingerBuffer.Length),
|
||||
};
|
||||
cmdParams[0].Value = FingerBuffer;
|
||||
int result = SqlHelper.ExecuteNonQuery(CommandType.Text, saveSql, cmdParams);
|
||||
if (result == 1)
|
||||
{
|
||||
MessageUtil.Show("指纹信息录入成功");
|
||||
DataTable sourceTable = this.EmployeeControl.DataSourceTable();
|
||||
DataRow addRow = sourceTable.NewRow();
|
||||
addRow.ItemArray = this.focusedRow.ItemArray;
|
||||
this.focusedRow.Table.Rows.Remove(this.focusedRow);
|
||||
sourceTable.Rows.Add(addRow);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageUtil.Show("指纹信息录入失败,请重试");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(string.Format("指纹信息录入失败,{0}", ex.Message));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
Generated
+236
@@ -0,0 +1,236 @@
|
||||
|
||||
namespace Lskj.PubFingerPrint
|
||||
{
|
||||
partial class FrmMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.MainSplitContainer = new DevExpress.XtraEditors.SplitContainerControl();
|
||||
this.LeftMainPanel = new System.Windows.Forms.Panel();
|
||||
this.EmployeeControl = new DevExpress.XtraGrid.GridControl();
|
||||
this.EmployeeView = new DevExpress.XtraGrid.Views.Grid.GridView();
|
||||
this.工号 = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
this.姓名 = new DevExpress.XtraGrid.Columns.GridColumn();
|
||||
this.IsPrint = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.IsFinerPrintEdit = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.LeftMessage = new System.Windows.Forms.Label();
|
||||
this.SearchControl = new DevExpress.XtraEditors.PanelControl();
|
||||
this.DepartmentSearch = new Lskj.Control.LabelComboxEdit();
|
||||
this.RightMainPanel = new System.Windows.Forms.Panel();
|
||||
this.FrmFinger = new Lskj.PubFingerPrint.FingerControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.MainSplitContainer)).BeginInit();
|
||||
this.MainSplitContainer.SuspendLayout();
|
||||
this.LeftMainPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeControl)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeView)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsPrint)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsFinerPrintEdit)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SearchControl)).BeginInit();
|
||||
this.SearchControl.SuspendLayout();
|
||||
this.RightMainPanel.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// MainSplitContainer
|
||||
//
|
||||
this.MainSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.MainSplitContainer.Location = new System.Drawing.Point(0, 0);
|
||||
this.MainSplitContainer.Name = "MainSplitContainer";
|
||||
this.MainSplitContainer.Panel1.Controls.Add(this.LeftMainPanel);
|
||||
this.MainSplitContainer.Panel1.Text = "Panel1";
|
||||
this.MainSplitContainer.Panel2.Controls.Add(this.RightMainPanel);
|
||||
this.MainSplitContainer.Panel2.Text = "Panel2";
|
||||
this.MainSplitContainer.Size = new System.Drawing.Size(1244, 545);
|
||||
this.MainSplitContainer.SplitterPosition = 300;
|
||||
this.MainSplitContainer.TabIndex = 0;
|
||||
this.MainSplitContainer.Text = "splitContainerControl1";
|
||||
//
|
||||
// LeftMainPanel
|
||||
//
|
||||
this.LeftMainPanel.BackColor = System.Drawing.Color.White;
|
||||
this.LeftMainPanel.Controls.Add(this.EmployeeControl);
|
||||
this.LeftMainPanel.Controls.Add(this.LeftMessage);
|
||||
this.LeftMainPanel.Controls.Add(this.SearchControl);
|
||||
this.LeftMainPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.LeftMainPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.LeftMainPanel.Name = "LeftMainPanel";
|
||||
this.LeftMainPanel.Size = new System.Drawing.Size(300, 545);
|
||||
this.LeftMainPanel.TabIndex = 0;
|
||||
//
|
||||
// EmployeeControl
|
||||
//
|
||||
this.EmployeeControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.EmployeeControl.Location = new System.Drawing.Point(0, 92);
|
||||
this.EmployeeControl.MainView = this.EmployeeView;
|
||||
this.EmployeeControl.Name = "EmployeeControl";
|
||||
this.EmployeeControl.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
|
||||
this.IsPrint,
|
||||
this.IsFinerPrintEdit});
|
||||
this.EmployeeControl.Size = new System.Drawing.Size(300, 453);
|
||||
this.EmployeeControl.TabIndex = 11;
|
||||
this.EmployeeControl.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
|
||||
this.EmployeeView});
|
||||
//
|
||||
// EmployeeView
|
||||
//
|
||||
this.EmployeeView.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
|
||||
this.工号,
|
||||
this.姓名});
|
||||
this.EmployeeView.GridControl = this.EmployeeControl;
|
||||
this.EmployeeView.IndicatorWidth = 40;
|
||||
this.EmployeeView.Name = "EmployeeView";
|
||||
this.EmployeeView.OptionsView.ShowGroupPanel = false;
|
||||
//
|
||||
// 工号
|
||||
//
|
||||
this.工号.Caption = "员工工号";
|
||||
this.工号.FieldName = "员工工号";
|
||||
this.工号.Name = "工号";
|
||||
this.工号.Visible = true;
|
||||
this.工号.VisibleIndex = 0;
|
||||
//
|
||||
// 姓名
|
||||
//
|
||||
this.姓名.Caption = "员工姓名";
|
||||
this.姓名.FieldName = "员工姓名";
|
||||
this.姓名.Name = "姓名";
|
||||
this.姓名.Visible = true;
|
||||
this.姓名.VisibleIndex = 1;
|
||||
//
|
||||
// IsPrint
|
||||
//
|
||||
this.IsPrint.AutoHeight = false;
|
||||
this.IsPrint.Name = "IsPrint";
|
||||
this.IsPrint.ValueChecked = 1;
|
||||
this.IsPrint.ValueUnchecked = "0";
|
||||
//
|
||||
// IsFinerPrintEdit
|
||||
//
|
||||
this.IsFinerPrintEdit.AutoHeight = false;
|
||||
this.IsFinerPrintEdit.Name = "IsFinerPrintEdit";
|
||||
this.IsFinerPrintEdit.ValueChecked = 1;
|
||||
this.IsFinerPrintEdit.ValueUnchecked = 0;
|
||||
//
|
||||
// LeftMessage
|
||||
//
|
||||
this.LeftMessage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(231)))), ((int)(((byte)(238)))), ((int)(((byte)(249)))));
|
||||
this.LeftMessage.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.LeftMessage.Font = new System.Drawing.Font("微软雅黑", 10.8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.LeftMessage.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(108)))), ((int)(((byte)(206)))));
|
||||
this.LeftMessage.Location = new System.Drawing.Point(0, 47);
|
||||
this.LeftMessage.Name = "LeftMessage";
|
||||
this.LeftMessage.Size = new System.Drawing.Size(300, 45);
|
||||
this.LeftMessage.TabIndex = 2;
|
||||
this.LeftMessage.Text = " 未录入人员";
|
||||
this.LeftMessage.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// SearchControl
|
||||
//
|
||||
this.SearchControl.Appearance.BackColor = System.Drawing.Color.White;
|
||||
this.SearchControl.Appearance.Options.UseBackColor = true;
|
||||
this.SearchControl.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Simple;
|
||||
this.SearchControl.Controls.Add(this.DepartmentSearch);
|
||||
this.SearchControl.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.SearchControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.SearchControl.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.SearchControl.Name = "SearchControl";
|
||||
this.SearchControl.Size = new System.Drawing.Size(300, 47);
|
||||
this.SearchControl.TabIndex = 9;
|
||||
//
|
||||
// DepartmentSearch
|
||||
//
|
||||
this.DepartmentSearch.BackColor = System.Drawing.Color.Transparent;
|
||||
this.DepartmentSearch.EditText = "";
|
||||
this.DepartmentSearch.FontSize = 0F;
|
||||
this.DepartmentSearch.LabelText = "部门";
|
||||
this.DepartmentSearch.Location = new System.Drawing.Point(13, 13);
|
||||
this.DepartmentSearch.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.DepartmentSearch.Model = null;
|
||||
this.DepartmentSearch.Name = "DepartmentSearch";
|
||||
this.DepartmentSearch.NullText = "";
|
||||
this.DepartmentSearch.ReadOnly = false;
|
||||
this.DepartmentSearch.Required = false;
|
||||
this.DepartmentSearch.Size = new System.Drawing.Size(269, 21);
|
||||
this.DepartmentSearch.TabIndex = 1;
|
||||
//
|
||||
// RightMainPanel
|
||||
//
|
||||
this.RightMainPanel.BackColor = System.Drawing.Color.White;
|
||||
this.RightMainPanel.Controls.Add(this.FrmFinger);
|
||||
this.RightMainPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.RightMainPanel.Location = new System.Drawing.Point(0, 0);
|
||||
this.RightMainPanel.Name = "RightMainPanel";
|
||||
this.RightMainPanel.Size = new System.Drawing.Size(938, 545);
|
||||
this.RightMainPanel.TabIndex = 1;
|
||||
//
|
||||
// FrmFinger
|
||||
//
|
||||
this.FrmFinger.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.FrmFinger.Location = new System.Drawing.Point(0, 0);
|
||||
this.FrmFinger.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.FrmFinger.Name = "FrmFinger";
|
||||
this.FrmFinger.Size = new System.Drawing.Size(938, 545);
|
||||
this.FrmFinger.TabIndex = 0;
|
||||
//
|
||||
// FrmMain
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.BackColor = System.Drawing.Color.White;
|
||||
this.ClientSize = new System.Drawing.Size(1244, 545);
|
||||
this.Controls.Add(this.MainSplitContainer);
|
||||
this.Name = "FrmMain";
|
||||
this.Text = "指纹管理";
|
||||
((System.ComponentModel.ISupportInitialize)(this.MainSplitContainer)).EndInit();
|
||||
this.MainSplitContainer.ResumeLayout(false);
|
||||
this.LeftMainPanel.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeControl)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.EmployeeView)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsPrint)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IsFinerPrintEdit)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SearchControl)).EndInit();
|
||||
this.SearchControl.ResumeLayout(false);
|
||||
this.RightMainPanel.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraEditors.SplitContainerControl MainSplitContainer;
|
||||
private System.Windows.Forms.Panel LeftMainPanel;
|
||||
private System.Windows.Forms.Panel RightMainPanel;
|
||||
private DevExpress.XtraEditors.PanelControl SearchControl;
|
||||
private Control.LabelComboxEdit DepartmentSearch;
|
||||
private FingerControl FrmFinger;
|
||||
private System.Windows.Forms.Label LeftMessage;
|
||||
private DevExpress.XtraGrid.GridControl EmployeeControl;
|
||||
private DevExpress.XtraGrid.Views.Grid.GridView EmployeeView;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn 工号;
|
||||
private DevExpress.XtraGrid.Columns.GridColumn 姓名;
|
||||
private DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit IsPrint;
|
||||
private DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit IsFinerPrintEdit;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,295 @@
|
||||
using DevExpress.Utils;
|
||||
using DevExpress.XtraGrid.Views.Grid;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Control.ZKFinger;
|
||||
using Lskj.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Lskj.PubFingerPrint
|
||||
{
|
||||
public partial class FrmMain : Form
|
||||
{
|
||||
public ContextMenuStrip menuStrip = new ContextMenuStrip();
|
||||
public Thread captureThread;
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Load += FrmMain_Load;
|
||||
this.Disposed += FrmMain_Disposed;
|
||||
}
|
||||
#region 事件
|
||||
/// <summary>
|
||||
/// 初始化
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void FrmMain_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!CheckTabColumns())
|
||||
{
|
||||
MessageUtil.Show("数据表employeetab不存在FingerBuffer或IsFingerPrint列");
|
||||
return;
|
||||
}
|
||||
if (StaticControl.fingerHelper != null)
|
||||
{
|
||||
StaticControl.fingerHelper.Close();
|
||||
StaticControl.fingerHelper = null;
|
||||
}
|
||||
FingerHelper.FreeSensor();
|
||||
StaticControl.fingerHelper = new FingerHelper();
|
||||
StaticControl.fingerHelper.FPBuffer = new byte[StaticControl.fingerHelper.mfpWidth * StaticControl.fingerHelper.mfpHeight];
|
||||
captureThread = new Thread(new ThreadStart(this.FrmFinger.DoCapture));
|
||||
captureThread.IsBackground = true;
|
||||
captureThread.Start();
|
||||
InitializeDeps();
|
||||
InitLeftSearchControl();
|
||||
InitLeftEmployeeGrid();
|
||||
InitRightEmployeeGrid();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 释放时
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void FrmMain_Disposed(object sender, EventArgs e)
|
||||
{
|
||||
this.FrmFinger.isDoCapture = true;
|
||||
if (StaticControl.fingerHelper != null)
|
||||
{
|
||||
StaticControl.fingerHelper.Close();
|
||||
StaticControl.fingerHelper = null;
|
||||
}
|
||||
FingerHelper.FreeSensor();
|
||||
if (captureThread != null)
|
||||
{
|
||||
captureThread.Abort();
|
||||
}
|
||||
}
|
||||
private void OnFocusedRowObjectChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs e)
|
||||
{
|
||||
DataRow focusedRow = this.EmployeeView.GetDataRow(e.FocusedRowHandle);
|
||||
if (focusedRow != null)
|
||||
{
|
||||
this.FrmFinger.OnFrmFingerLoad(focusedRow);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 部门查询值改变
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnDepartmentEditValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
string depid = this.DepartmentSearch.EditValue;
|
||||
DataTable table = GetUsersInfo(depid, "");
|
||||
DataTable sourceTab = table.Clone();
|
||||
table.Select("isfingerprint=0").CopyToDataTable(sourceTab, LoadOption.OverwriteChanges);
|
||||
sourceTab.Columns["loginaccount"].ColumnName = "员工工号";
|
||||
sourceTab.Columns["employeename"].ColumnName = "员工姓名";
|
||||
this.EmployeeControl.DataSource = sourceTab;
|
||||
DataTable sourceRightTab = table.Clone();
|
||||
table.Select("isfingerprint=1").CopyToDataTable(sourceRightTab, LoadOption.OverwriteChanges);
|
||||
sourceRightTab.Columns["loginaccount"].ColumnName = "员工工号";
|
||||
sourceRightTab.Columns["employeename"].ColumnName = "员工姓名";
|
||||
this.FrmFinger.PrintUserControl.DataSource = sourceRightTab;
|
||||
}
|
||||
/// <summary>
|
||||
/// 删除按钮点击
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void MenuStripItemClick(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
int[] selectIndexs = this.FrmFinger.PrintUserView.GetSelectedRows().OrderByDescending(n => n).ToArray();
|
||||
foreach (int index in selectIndexs)
|
||||
{
|
||||
DataRow focusedUserRow = this.FrmFinger.PrintUserView.GetDataRow(index);
|
||||
if (focusedUserRow != null)
|
||||
{
|
||||
string employeeid = focusedUserRow["employeeid"] + "";
|
||||
string saveSql = string.Format("update P_EmployeeTab set FingerBuffer = null,IsFingerPrint = 0 where EmployeeId = '{0}'", employeeid);
|
||||
SqlHelper.ExecuteNonQuery(saveSql);
|
||||
DataTable sourceTab = this.FrmFinger.PrintUserControl.DataSourceTable();
|
||||
DataTable notPrintTab = this.EmployeeControl.DataSourceTable();
|
||||
DataRow addRow = notPrintTab.NewRow();
|
||||
addRow.ItemArray = focusedUserRow.ItemArray;
|
||||
sourceTab.Rows.Remove(focusedUserRow);
|
||||
notPrintTab.Rows.Add(addRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageUtil.Show(string.Format("删除失败,原因:{0}", ex.Message));
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 行序号
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnCustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
e.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
|
||||
if (e.Info.IsRowIndicator)
|
||||
{
|
||||
if (e.RowHandle >= 0)
|
||||
{
|
||||
e.Info.DisplayText = (e.RowHandle + 1).ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
private void OnCustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
||||
{
|
||||
GridView gridView = (GridView)sender;
|
||||
try
|
||||
{
|
||||
if (e.RowHandle == gridView.FocusedRowHandle)
|
||||
e.Appearance.BackColor = ColorTranslator.FromHtml("#9feb6a");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region 方法
|
||||
/// <summary>
|
||||
/// 初始化左侧搜索
|
||||
/// </summary>
|
||||
private void InitLeftSearchControl()
|
||||
{
|
||||
this.DepartmentSearch.TextEdit.EditValueChanged += OnDepartmentEditValueChanged;
|
||||
}
|
||||
/// <summary>
|
||||
/// 初始化左侧员工表
|
||||
/// </summary>
|
||||
private void InitLeftEmployeeGrid()
|
||||
{
|
||||
DataTable table = GetUsersInfo("", "");
|
||||
DataTable sourceTab = table.Clone();
|
||||
table.Select("isfingerprint=0").CopyToDataTable(sourceTab, LoadOption.OverwriteChanges);
|
||||
sourceTab.Columns["loginaccount"].ColumnName = "员工工号";
|
||||
sourceTab.Columns["employeename"].ColumnName = "员工姓名";
|
||||
this.EmployeeControl.DataSource = sourceTab;
|
||||
this.EmployeeView.OptionsBehavior.Editable = false;
|
||||
this.EmployeeView.OptionsSelection.MultiSelect = false;
|
||||
this.EmployeeView.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;
|
||||
this.EmployeeView.FocusedRowObjectChanged += OnFocusedRowObjectChanged;
|
||||
this.EmployeeView.CustomDrawRowIndicator += OnCustomDrawRowIndicator;
|
||||
this.EmployeeView.CustomDrawCell += OnCustomDrawCell;
|
||||
if (sourceTab.Rows.Count > 0)
|
||||
{
|
||||
this.OnFocusedRowObjectChanged(null, new DevExpress.XtraGrid.Views.Base.FocusedRowObjectChangedEventArgs(0, null));
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 初始化右侧员工表
|
||||
/// </summary>
|
||||
private void InitRightEmployeeGrid()
|
||||
{
|
||||
DataTable table = GetUsersInfo("", "");
|
||||
DataTable sourceTab = table.Clone();
|
||||
table.Select("isfingerprint=1").CopyToDataTable(sourceTab, LoadOption.OverwriteChanges);
|
||||
sourceTab.Columns["loginaccount"].ColumnName = "员工工号";
|
||||
sourceTab.Columns["employeename"].ColumnName = "员工姓名";
|
||||
this.FrmFinger.PrintUserControl.DataSource = sourceTab;
|
||||
this.FrmFinger.PrintUserView.OptionsBehavior.Editable = false;
|
||||
this.FrmFinger.PrintUserView.OptionsSelection.MultiSelect = true;
|
||||
this.FrmFinger.PrintUserView.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect;
|
||||
this.FrmFinger.PrintUserView.CustomDrawRowIndicator += OnCustomDrawRowIndicator;
|
||||
this.FrmFinger.PrintUserView.CustomDrawCell += OnCustomDrawCell;
|
||||
ToolStripMenuItem menuItem = new ToolStripMenuItem();
|
||||
menuItem.Text = "删除指纹";
|
||||
menuItem.Click += new EventHandler(MenuStripItemClick);
|
||||
this.menuStrip.Items.Add(menuItem);
|
||||
this.FrmFinger.PrintUserControl.ContextMenuStrip = this.menuStrip;
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:初始化部门数据</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2019-06-24 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void InitializeDeps()
|
||||
{
|
||||
DataTable table = WorkFlowBaseImpl.GetDeps();
|
||||
this.DepartmentSearch.ValueMember = "departmentid";
|
||||
this.DepartmentSearch.ValueField = "departmentid";
|
||||
this.DepartmentSearch.TextField = "departmentname";
|
||||
this.DepartmentSearch.SetDataSource(table);
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取员工信息
|
||||
/// </summary>
|
||||
/// <param name="depid"></param>
|
||||
/// <param name="mf"></param>
|
||||
/// <returns></returns>
|
||||
private DataTable GetUsersInfo(string depid, string mf)
|
||||
{
|
||||
string where = string.Empty;
|
||||
if (!string.IsNullOrEmpty(depid))
|
||||
where = " and a.departmentid=" + depid;
|
||||
if (!string.IsNullOrEmpty(mf))
|
||||
where = string.Format(" and (a.loginaccount like '%{0}%' or a.employeename like '%{0}%' or dbo.P_getpy(a.employeename) like '%{0}%')", mf);
|
||||
string sqlValue = "select a.loginaccount,a.employeeid,a.employeename,a.departmentid,a.fingerbuffer,isnull(a.isfingerprint,0) as isfingerprint,b.departmentname from p_employeeTab a left join P_DepartmentTab b on a.departmentid=b.departmentid where a.sign=0 and a.UseFlag=1 " + where + " order by a.employeeid";
|
||||
return BaseImpl.GetDataTableResult(sqlValue);
|
||||
}
|
||||
/// <summary>
|
||||
/// 检查员工表列
|
||||
/// </summary>
|
||||
private bool CheckTabColumns()
|
||||
{
|
||||
bool isCheck = false;
|
||||
try
|
||||
{
|
||||
string alterSql = "";
|
||||
if (!BaseImpl.HasExistsColumn("p_employeeTab", "FingerBuffer"))
|
||||
{
|
||||
alterSql += "alter table p_employeeTab add FingerBuffer image;";
|
||||
}
|
||||
if (!BaseImpl.HasExistsColumn("p_employeeTab", "IsFingerPrint"))
|
||||
{
|
||||
alterSql += "alter table p_employeeTab add IsFingerPrint int";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(alterSql))
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(alterSql);
|
||||
}
|
||||
isCheck = true;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
return isCheck;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,234 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{AF768425-E7B7-4CEB-9C15-D93CFA844ED3}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Lskj.PubFingerPrint</RootNamespace>
|
||||
<AssemblyName>Lskj.PubFingerPrint</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Debug\Lib\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="API, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\GpyApi\API.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="AxInterop.CamCaptureCtlLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\AxInterop.CamCaptureCtlLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevExpress.Data.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.RichEdit.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Spreadsheet.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraBars.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraCharts.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraCharts.v15.2.UI, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraGrid.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraReports.v15.2.Extensions, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraRichEdit.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraScheduler.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraScheduler.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraSpreadsheet.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="FastReport, Version=2017.1.16.0, Culture=neutral, PublicKeyToken=417583d16d08abed, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\FastReport.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Geckofx-Core, Version=45.0.6.0, Culture=neutral, PublicKeyToken=3209ac31600d1857, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Geckofx-Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Geckofx-Winforms, Version=45.0.6.0, Culture=neutral, PublicKeyToken=3209ac31600d1857, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Geckofx-Winforms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IKVM.OpenJDK.Core, Version=8.1.5717.0, Culture=neutral, PublicKeyToken=13235d27fcbfff58, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\GpyApi\IKVM.OpenJDK.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="IKVM.OpenJDK.Security, Version=8.1.5717.0, Culture=neutral, PublicKeyToken=13235d27fcbfff58, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\GpyApi\IKVM.OpenJDK.Security.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="itextsharp, Version=5.5.8.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\itextsharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="libzkfpcsharp">
|
||||
<HintPath>..\..\引用DLL\libzkfpcsharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lskj.AutoUpdate, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Debug\Lskj.AutoUpdate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lskj.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Debug\Lskj.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lskj.Data, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Debug\Lskj.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lskj.Interface.Api, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Debug\Lskj.Interface.Api.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lskj.Model, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\Debug\Lskj.Model.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Lskj.Redis, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Lskj.Redius\bin\Debug\Lskj.Redis.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\Lskj.LserpAll\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\Lskj.LserpAll\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\Lskj.LserpAll\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NPOI, Version=2.1.3.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\NPOI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="O2S.Components.PDFView4NET, Version=4.7.4.0, Culture=neutral, PublicKeyToken=bdf0cc7afcc23208, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\O2S.Components.PDFView4NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="Spire.Barcode, Version=4.1.1.11040, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Spire.Barcode.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spire.Doc, Version=8.3.15.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Spire.Doc.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spire.Pdf, Version=6.3.11.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Spire.Pdf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Spire.XLS, Version=10.3.8.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Spire.XLS.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Drawing.Design" />
|
||||
<Reference Include="System.IO, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\Lskj.LserpAll\packages\Microsoft.Bcl.1.1.10\lib\net40\System.IO.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Runtime, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\Lskj.LserpAll\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Remoting" />
|
||||
<Reference Include="System.Threading.Tasks, Version=2.6.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\Lskj.LserpAll\packages\Microsoft.Bcl.1.1.10\lib\net40\System.Threading.Tasks.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="UIAutomationClient" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="Xilium.CefGlue, Version=87.1.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\引用DLL\Xilium.CefGlue.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DllBaseClass.cs" />
|
||||
<Compile Include="FingerControl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FingerControl.Designer.cs">
|
||||
<DependentUpon>FingerControl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmMain.Designer.cs">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Lskj.Business\Lskj.Business.csproj">
|
||||
<Project>{7EAFCCC2-A18F-49E9-85C6-A984966CFD01}</Project>
|
||||
<Name>Lskj.Business</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Control\Lskj.Control.csproj">
|
||||
<Project>{447CDC40-659F-4CCA-9ED6-8E818B4CF8BF}</Project>
|
||||
<Name>Lskj.Control</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Util\Lskj.Util.csproj">
|
||||
<Project>{A51BF642-6543-4DE3-8948-83F558B72BD4}</Project>
|
||||
<Name>Lskj.Util</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="FingerControl.resx">
|
||||
<DependentUpon>FingerControl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMain.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\Lskj.LserpAll\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\Lskj.LserpAll\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\Lskj.LserpAll\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\Lskj.LserpAll\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的一般信息由以下
|
||||
// 控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("PubFingerPrint")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("PubFingerPrint")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 会使此程序集中的类型
|
||||
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
|
||||
//请将此类型的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("af768425-e7b7-4ceb-9c15-d93cfa844ed3")]
|
||||
|
||||
// 程序集的版本信息由下列四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 生成号
|
||||
// 修订号
|
||||
//
|
||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Spire.XLS" publicKeyToken="663f351905198cb3" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.3.8.0" newVersion="10.3.8.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Spire.Presentation" publicKeyToken="663f351905198cb3" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.3.6.0" newVersion="5.3.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Spire.Doc" publicKeyToken="663f351905198cb3" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.3.15.0" newVersion="8.3.15.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="NPOI" publicKeyToken="0df73ec7942b34e1" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.1.3.1" newVersion="2.1.3.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net40" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user