Beispiel #1
0
        /// <summary>
        /// Get Card Authorizations By Employee Id.
        /// </summary>
        /// <param name="EmpId">Employee Id</param>
        /// <returns>Card Authorizations</returns>
        public List <CardAuthInfo> GetCardAuth(String EmpId, EnmWorkerType WorkType)
        {
            SqlParameter[] parms = { new SqlParameter("@EmpId",   SqlDbType.VarChar, 50),
                                     new SqlParameter("@EmpType", SqlDbType.Int) };
            parms[0].Value = EmpId;
            parms[1].Value = (Int32)WorkType;

            var auths = new List <CardAuthInfo>();

            using (var rdr = SQLHelper.ExecuteReader(SQLHelper.ConnectionStringLocalTransaction, CommandType.Text, SQLText.SQL_CA_GetCardAuthByEmpId, parms)) {
                while (rdr.Read())
                {
                    var auth = new CardAuthInfo();
                    auth.CardSn     = ComUtility.DBNullStringHandler(rdr["CardSn"]);
                    auth.RtuId      = ComUtility.DBNullInt32Handler(rdr["RtuId"]);
                    auth.DevId      = ComUtility.DBNullInt32Handler(rdr["DevId"]);
                    auth.LimitId    = ComUtility.DBNullLimitIDHandler(rdr["LimitId"]);
                    auth.LimitIndex = ComUtility.DBNullInt32Handler(rdr["LimitIndex"]);
                    auth.BeginTime  = ComUtility.DBNullDateTimeHandler(rdr["BeginTime"]);
                    auth.EndTime    = ComUtility.DBNullDateTimeHandler(rdr["EndTime"]);
                    auth.Password   = ComUtility.DBNullStringHandler(rdr["Password"]);
                    auth.Enabled    = ComUtility.DBNullBooleanHandler(rdr["Enabled"]);
                    auth.Remark     = String.Empty;

                    auth.CardSn = ComUtility.GetCardSn16to10(auth.CardSn);
                    auths.Add(auth);
                }
            }
            return(auths);
        }
Beispiel #2
0
        /// <summary>
        /// Get Card Authorizations By Device Id and Card Sn.
        /// </summary>
        /// <param name="DevId">Device Id</param>
        /// <param name="CardSn">Card Sn</param>
        /// <returns>Card Authorizations</returns>
        public CardAuthInfo GetCardAuth(Int32 DevId, String CardSn)
        {
            SqlParameter[] parms = { new SqlParameter("@DevId",  SqlDbType.Int),
                                     new SqlParameter("@CardSn", SqlDbType.VarChar, 50) };
            parms[0].Value = DevId;
            parms[1].Value = ComUtility.GetCardSn10to16(CardSn);

            CardAuthInfo auth = null;

            using (var rdr = SQLHelper.ExecuteReader(SQLHelper.ConnectionStringLocalTransaction, CommandType.Text, SQLText.SQL_CA_GetCardAuthByCardSn, parms)) {
                if (rdr.Read())
                {
                    auth            = new CardAuthInfo();
                    auth.CardSn     = ComUtility.DBNullStringHandler(rdr["CardSn"]);
                    auth.RtuId      = ComUtility.DBNullInt32Handler(rdr["RtuId"]);
                    auth.DevId      = ComUtility.DBNullInt32Handler(rdr["DevId"]);
                    auth.LimitId    = ComUtility.DBNullLimitIDHandler(rdr["LimitId"]);
                    auth.LimitIndex = ComUtility.DBNullInt32Handler(rdr["LimitIndex"]);
                    auth.BeginTime  = ComUtility.DBNullDateTimeHandler(rdr["BeginTime"]);
                    auth.EndTime    = ComUtility.DBNullDateTimeHandler(rdr["EndTime"]);
                    auth.Password   = ComUtility.DBNullStringHandler(rdr["Password"]);
                    auth.Enabled    = ComUtility.DBNullBooleanHandler(rdr["Enabled"]);
                    auth.Remark     = String.Empty;

                    auth.CardSn = ComUtility.GetCardSn16to10(auth.CardSn);
                }
            }
            return(auth);
        }
Beispiel #3
0
 /// <summary>
 /// Class Constructor
 /// </summary>
 public SaveCardAuthForm(EnmSaveBehavior Behavior, CardInfo Card, CardAuthInfo CardAuth, List <CardInfo> Cards, List <DepartmentInfo> Departments, List <OrgEmployeeInfo> OrgEmployees, List <OutEmployeeInfo> OutEmployees)
 {
     InitializeComponent();
     CardAuthEntity = new CardAuth();
     CurBehavior    = Behavior;
     CurCardAuth    = new CardAuthInfo();
     OriCardAuth    = CardAuth;
     CurCard        = Card;
     Common.CopyObjectValues(OriCardAuth, CurCardAuth);
     CurCards        = Cards;
     CurDepartments  = Departments;
     CurOrgEmployees = OrgEmployees;
     CurOutEmployees = OutEmployees;
     CurExistsCards  = new Dictionary <String, Int32>();
     Text            = Behavior == EnmSaveBehavior.Add ? "新增授权信息" : "编辑授权信息";
 }
 /// <summary>
 /// Class Constructor
 /// </summary>
 public SaveCardDevAuthForm(EnmSaveBehavior Behavior, List <CardAuthInfo> CardAuth, List <NodeLevelInfo> Nodes)
 {
     InitializeComponent();
     CardAuthEntity = new CardAuth();
     CurBehavior    = Behavior;
     OriCardAuth    = CardAuth;
     CurCardAuth    = new List <CardAuthInfo>();
     CurNodes       = Nodes;
     foreach (var oc in OriCardAuth)
     {
         var newCardAuth = new CardAuthInfo();
         Common.CopyObjectValues(oc, newCardAuth);
         CurCardAuth.Add(newCardAuth);
     }
     Text           = Behavior == EnmSaveBehavior.Add ? "新增授权信息" : "编辑授权信息";
     CurExistsNodes = new Dictionary <Int32, String>();
 }
Beispiel #5
0
        /// <summary>
        /// Bitch Update Card Auth.
        /// </summary>
        /// <param name="Ids">Ids</param>
        /// <param name="auth">auth</param>
        public void UpdateBitchCardAuth(List <IDValuePair <Int32, String> > Ids, CardAuthInfo auth)
        {
            SqlParameter[] parms = { new SqlParameter("@CardSn",     SqlDbType.VarChar,   50),
                                     new SqlParameter("@RtuId",      SqlDbType.Int),
                                     new SqlParameter("@LimitId",    SqlDbType.Int),
                                     new SqlParameter("@LimitIndex", SqlDbType.Int),
                                     new SqlParameter("@BeginTime",  SqlDbType.DateTime),
                                     new SqlParameter("@EndTime",    SqlDbType.DateTime),
                                     new SqlParameter("@Password",   SqlDbType.VarChar,   50),
                                     new SqlParameter("@Enabled",    SqlDbType.Bit) };

            using (var conn = new SqlConnection(SQLHelper.ConnectionStringLocalTransaction)) {
                conn.Open();
                using (var tran = conn.BeginTransaction(IsolationLevel.ReadCommitted)) {
                    try {
                        foreach (var id in Ids)
                        {
                            parms[0].Value = ComUtility.GetCardSn10to16(id.Value);
                            parms[1].Value = id.ID;
                            parms[2].Value = (Int32)auth.LimitId;
                            parms[3].Value = ComUtility.DBNullInt32Checker(auth.LimitIndex);
                            parms[4].Value = auth.BeginTime;
                            parms[5].Value = auth.EndTime;
                            parms[6].Value = ComUtility.DBNullStringChecker(auth.Password);
                            parms[7].Value = auth.Enabled;

                            SQLHelper.ExecuteNonQuery(tran, CommandType.Text, SQLText.SQL_CA_BitchUpdateCardAuth, parms);
                        }

                        tran.Commit();
                    } catch {
                        tran.Rollback();
                        throw;
                    }
                }
            }
        }
        /// <summary>
        /// Save Button Click Event.
        /// </summary>
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try {
                var target = new CardAuthInfo();
                target.BeginTime = BeginTimeDTP.Value;
                target.EndTime   = EndTimeDTP.Value;
                target.Password  = PwdCB.Text.Trim();
                target.Enabled   = EnabledCB.Checked;
                var limitId = (Int32)LimitTypeCB.SelectedValue;
                switch ((EnmLimitID)limitId)
                {
                case EnmLimitID.TQ:
                    target.LimitId    = EnmLimitID.TQ;
                    target.LimitIndex = ComUtility.DefaultInt32;
                    break;

                case EnmLimitID.WTMG:
                    target.LimitId    = EnmLimitID.WTMG;
                    target.LimitIndex = Convert.ToInt32(LimitIndexCB.SelectedValue);
                    break;

                case EnmLimitID.DTM:
                    target.LimitId    = EnmLimitID.DTM;
                    target.LimitIndex = Convert.ToInt32(LimitIndexCB.SelectedValue);
                    break;
                }

                var SaveCardAuth = new List <CardAuthInfo>();
                if (CurBehavior == EnmSaveBehavior.Add)
                {
                    var Devices = new List <Int32>();
                    CheckDevTreeView(DeviceTreeView.Nodes, Devices);
                    if (Devices.Count == 0)
                    {
                        MessageBox.Show("请勾选需要授权的设备", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    var Cards = new List <String>();
                    CheckCardsTreeView(CardsTreeView.Nodes, Cards);
                    if (Cards.Count == 0)
                    {
                        MessageBox.Show("请勾选需要授权的卡片", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    foreach (var dev in Devices)
                    {
                        foreach (var card in Cards)
                        {
                            var ca = new CardAuthInfo();
                            ca.CardSn     = card;
                            ca.DevId      = dev;
                            ca.LimitId    = target.LimitId;
                            ca.LimitIndex = target.LimitIndex;
                            ca.BeginTime  = target.BeginTime;
                            ca.EndTime    = target.EndTime;
                            ca.Password   = target.Password;
                            ca.Enabled    = target.Enabled;
                            SaveCardAuth.Add(ca);
                        }
                    }
                }
                else
                {
                    foreach (var ca in CurCardAuth)
                    {
                        ca.LimitId    = target.LimitId;
                        ca.LimitIndex = target.LimitIndex;
                        ca.BeginTime  = target.BeginTime;
                        ca.EndTime    = target.EndTime;
                        ca.Password   = target.Password;
                        ca.Enabled    = target.Enabled;
                    }
                    SaveCardAuth.AddRange(CurCardAuth);
                }

                var IsSync = SyncCB.Checked;
                var result = Common.ShowWait(() => {
                    CardAuthEntity.SaveCardAuth(SaveCardAuth, IsSync);
                }, default(String), "正在保存,请稍后...", default(Int32), default(Int32));

                if (result == DialogResult.OK)
                {
                    foreach (var ca in SaveCardAuth)
                    {
                        Common.WriteLog(DateTime.Now, CurBehavior == EnmSaveBehavior.Add ? EnmMsgType.Authin : EnmMsgType.Info, Common.CurUser.UserName, "Delta.MPS.AccessSystem.SaveCardDevAuthForm.SaveBtn.Click", String.Format("{0}卡片授权[设备:{1} 卡号:{2}]", CurBehavior == EnmSaveBehavior.Add ? "新增" : "更新", ca.DevId, ca.CardSn), null);
                    }

                    if (CurBehavior == EnmSaveBehavior.Edit)
                    {
                        foreach (var cc in CurCardAuth)
                        {
                            var OriCA = OriCardAuth.Find(oc => oc.CardSn.Equals(cc.CardSn) && oc.DevId == cc.DevId);
                            if (OriCA != null)
                            {
                                Common.CopyObjectValues(cc, OriCA);
                            }
                        }
                    }
                    MessageBox.Show("数据保存完成", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    DialogResult = System.Windows.Forms.DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("数据保存失败", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            } catch (Exception err) {
                Common.WriteLog(DateTime.Now, EnmMsgType.Error, "System", "Delta.MPS.AccessSystem.SaveCardDevAuthForm.SaveBtn.Click", err.Message, err.StackTrace);
                MessageBox.Show(err.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// Save Button Click Event.
        /// </summary>
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try {
                if (TotalRecords.Count == 0)
                {
                    MessageBox.Show("暂无需要保存的记录", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                if (MessageBox.Show("您确定要保存吗?", "确认对话框", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    var target = new CardAuthInfo();
                    target.BeginTime = BeginTimeDTP.Value;
                    target.EndTime   = EndTimeDTP.Value;
                    target.Password  = PwdCB.Text.Trim();
                    target.Enabled   = true;
                    var limitId = (Int32)LimitTypeCB.SelectedValue;
                    switch ((EnmLimitID)limitId)
                    {
                    case EnmLimitID.TQ:
                        target.LimitId    = EnmLimitID.TQ;
                        target.LimitIndex = ComUtility.DefaultInt32;
                        break;

                    case EnmLimitID.WTMG:
                        target.LimitId    = EnmLimitID.WTMG;
                        target.LimitIndex = Convert.ToInt32(LimitIndexCB.SelectedValue);
                        break;

                    case EnmLimitID.DTM:
                        target.LimitId    = EnmLimitID.DTM;
                        target.LimitIndex = Convert.ToInt32(LimitIndexCB.SelectedValue);
                        break;
                    }

                    var ids = new List <IDValuePair <Int32, String> >();
                    foreach (var tr in TotalRecords)
                    {
                        var id = new IDValuePair <Int32, String>(tr.Value2.RtuId, tr.Value2.CardSn);
                        ids.Add(id);
                    }

                    var result = Common.ShowWait(() => {
                        new CardAuth().UpdateBitchCardAuth(ids, target);
                    }, default(string), "正在保存,请稍后...", default(int), default(int), 1800);

                    if (result == DialogResult.OK)
                    {
                        foreach (var tr in TotalRecords)
                        {
                            Common.WriteLog(DateTime.Now, EnmMsgType.Info, Common.CurUser.UserName, "Delta.MPS.AccessSystem.BitchUpdateEndTimeForm.SaveBtn.Click", String.Format("更新卡片授权[设备:{0} 卡号:{1}]", tr.Value2.DevId, tr.Value2.CardSn), null);
                        }

                        BindAuthToGridView();
                        MessageBox.Show("数据保存完成", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("数据保存失败", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            } catch (Exception err) {
                Common.WriteLog(DateTime.Now, EnmMsgType.Error, "System", "Delta.MPS.AccessSystem.BitchUpdateEndTimeForm.SaveBtn.Click", err.Message, err.StackTrace);
                MessageBox.Show(err.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #8
0
        /// <summary>
        /// Save CardAuth Click Event.
        /// </summary>
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try {
                var target = new CardAuthInfo();
                target.BeginTime = BeginTimeDTP.Value;
                target.EndTime   = EndTimeDTP.Value;
                target.Password  = PwdCB.Text.Trim();
                target.Enabled   = EnabledCB.Checked;
                var limitId = (Int32)LimitTypeCB.SelectedValue;
                switch ((EnmLimitID)limitId)
                {
                case EnmLimitID.TQ:
                    target.LimitId    = EnmLimitID.TQ;
                    target.LimitIndex = ComUtility.DefaultInt32;
                    break;

                case EnmLimitID.WTMG:
                    target.LimitId    = EnmLimitID.WTMG;
                    target.LimitIndex = Convert.ToInt32(LimitIndexCB.SelectedValue);
                    break;

                case EnmLimitID.DTM:
                    target.LimitId    = EnmLimitID.DTM;
                    target.LimitIndex = Convert.ToInt32(LimitIndexCB.SelectedValue);
                    break;
                }

                var Devices = new List <Int32>();
                CheckDevTreeView(DevTreeView.Nodes, Devices);
                if (Devices.Count == 0)
                {
                    MessageBox.Show("请勾选需要授权的设备", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                var Cards = new List <String>();
                CheckCardsTreeView(CardTreeView.Nodes, Cards);
                if (Cards.Count == 0)
                {
                    MessageBox.Show("请勾选需要授权的卡片", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                if (MessageBox.Show("您确定要执行批量授权操作吗?", "确认对话框", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    var SaveCardAuth = new List <CardAuthInfo>();
                    foreach (var dev in Devices)
                    {
                        foreach (var card in Cards)
                        {
                            var ca = new CardAuthInfo();
                            ca.CardSn     = card;
                            ca.DevId      = dev;
                            ca.LimitId    = target.LimitId;
                            ca.LimitIndex = target.LimitIndex;
                            ca.BeginTime  = target.BeginTime;
                            ca.EndTime    = target.EndTime;
                            ca.Password   = target.Password;
                            ca.Enabled    = target.Enabled;
                            SaveCardAuth.Add(ca);
                        }
                    }

                    var IsSync = SyncCB.Checked;
                    var result = Common.ShowWait(() => {
                        CardAuthEntity.SaveCardAuth(SaveCardAuth, IsSync);
                    }, default(String), "正在保存,请稍后...", default(Int32), default(Int32), 1800);

                    if (result == DialogResult.OK)
                    {
                        foreach (var ca in SaveCardAuth)
                        {
                            Common.WriteLog(DateTime.Now, EnmMsgType.Authin, Common.CurUser.UserName, "Delta.MPS.AccessSystem.BatchCardAuthForm.SaveBtn.Click", String.Format("新增卡片授权[设备:{0} 卡号:{1}]", ca.DevId, ca.CardSn), null);
                        }

                        MessageBox.Show("数据保存完成", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        DialogResult = System.Windows.Forms.DialogResult.OK;
                    }
                    else
                    {
                        MessageBox.Show("数据保存失败", "系统警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            } catch (Exception err) {
                Common.WriteLog(DateTime.Now, EnmMsgType.Error, "System", "Delta.MPS.AccessSystem.BatchCardAuthForm.SaveBtn.Click", err.Message, err.StackTrace);
                MessageBox.Show(err.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }