private void UpdateAuth(string cardPkId, IList <Device> devices) { var repo = new BaseRepo <CardAuth>(dbCtx); var existsList = repo.Find(t => t.Card == cardPkId); foreach (var e in existsList) { repo.Delete(e); } if (devices != null && devices.Count > 0) { var updateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); foreach (var dev in devices) { var entity = new CardAuth() { Card = cardPkId, Device = dev.PkId, UpdateTime = updateTime }; entity.NewId(); repo.Add(entity); } } }
/// <summary> /// Class Constructor /// </summary> public BitchUpdateEndTimeForm(EnmWorkerType WorkerType, List <CardInfo> Cards) { InitializeComponent(); CardAuthEntity = new CardAuth(); CurWorkerType = WorkerType; CurCards = Cards; Devices = Common.CurUser.Role.Devices; TotalRecords = new List <ValuesPair <DeviceInfo, CardAuthInfo, CardInfo, String, String> >(); Text = WorkerType == EnmWorkerType.WXRY ? String.Format("{0} - [外协人员]", Text) : String.Format("{0} - [正式员工]", Text); }
/// <summary> /// Class Constructor /// </summary> public BatchCancelCardAuthForm(EnmWorkerType WorkerType, List <CardInfo> Cards, List <NodeLevelInfo> Nodes, List <DepartmentInfo> Departments, List <OrgEmployeeInfo> OrgEmployees, List <OutEmployeeInfo> OutEmployees) { InitializeComponent(); CardAuthEntity = new CardAuth(); CurWorkerType = WorkerType; CurCards = Cards; CurNodes = Nodes; CurDepartments = Departments; CurOrgEmployees = OrgEmployees; CurOutEmployees = OutEmployees; }
/// <summary> /// Class Constructor /// </summary> public CopyAuthForm() { InitializeComponent(); CardAuthEntity = new CardAuth(); OrgCards = new List <CardInfo>(); OutCards = new List <CardInfo>(); Nodes = new List <NodeLevelInfo>(); Departments = new List <DepartmentInfo>(); OrgEmployees = new List <OrgEmployeeInfo>(); OutEmployees = new List <OutEmployeeInfo>(); }
/// <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>(); }
/// <summary> /// Bind Auth To GridView. /// </summary> private void BindAuthToGridView() { TotalRecords.Clear(); AuthGridView.Rows.Clear(); if (!String.IsNullOrWhiteSpace(SearchTB.Text)) { var auths = new CardAuth().GetCardAuthByCondition(Convert.ToInt32(SearchTypeCB.SelectedValue), CurWorkerType, SearchTB.Text.Trim()); TotalRecords.AddRange( from a in auths join d in Devices.Values on a.DevId equals d.DevID join c in CurCards on a.CardSn equals c.CardSn orderby c.WorkerId select new ValuesPair <DeviceInfo, CardAuthInfo, CardInfo, String, String> { Value1 = d, Value2 = a, Value3 = c } ); } AuthGridView.RowCount = TotalRecords.Count; }
/// <summary> /// Form Load Event. /// </summary> private void CardAuthDetailDialog_Load(object sender, EventArgs e) { try { if (CurDevice != null) { var auths = new CardAuth().GetDevCardAuth(CurDevice.DevID); var cards = new Card().GetOrgCards(ComUtility.SuperRoleID); cards.AddRange(new Card().GetOutCards(ComUtility.SuperRoleID)); if (auths != null && auths.Count > 0) { CurRecords = (from auth in auths join card in cards on auth.CardSn equals card.CardSn into tp from tc in tp.DefaultIfEmpty() orderby(tc != null ? tc.WorkerId : String.Empty), auth.CardSn select new IDValuePair <CardInfo, CardAuthInfo>(tc, auth)).ToList(); } AuthGridView.RowCount = CurRecords.Count; } } catch (Exception err) { Common.WriteLog(DateTime.Now, EnmMsgType.Error, "System", "Delta.MPS.AccessSystem.CardAuthDetailDialog.Load", err.Message, err.StackTrace); MessageBox.Show(err.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Query Button Click Event. /// </summary> private void QueryBtn_Click(object sender, EventArgs e) { try { CurRecords.Clear(); EmpGridView.Rows.Clear(); var departments = new List <String>(); foreach (IDValuePair <String, String> dt in DeptLB.Items) { departments.Add(dt.ID); } var cardType = (Int32)CardTypeCB.SelectedValue; var queryIndex = (Int32)QueryTypeCB.SelectedValue; var queryText = QueryTypeTB.Text; var result = Common.ShowWait(() => { var employees = new Employee().GetOrgEmployees(Common.CurUser.Role.RoleID); var cardAuths = new CardAuth().GetCardAuthCount(); var cards = from c in Common.CurUser.Role.Cards join ca in cardAuths on c.CardSn equals ca.ID into tp from ta in tp.DefaultIfEmpty() where c.WorkerType != EnmWorkerType.WXRY select new { Card = c, Auth = ta }; CurRecords = (from emp in employees join dep in departments on emp.DepId equals dep join c in cards on emp.EmpId equals c.Card.WorkerId into tp from tc in tp.DefaultIfEmpty() where cardType == 0 || (cardType == 1 && tc != null) || (cardType == 2 && tc == null) orderby emp.EmpId select new ValuesPair <OrgEmployeeInfo, CardInfo, Int32, object, object> { Value1 = emp, Value2 = tc != null ? tc.Card : null, Value3 = tc != null && tc.Auth != null ? tc.Auth.Value : 0, Value4 = null, Value5 = null }).ToList(); if (!String.IsNullOrWhiteSpace(queryText)) { var filters = queryText.Split(new String[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); switch (queryIndex) { case 0: CurRecords = CurRecords.FindAll(rec => { foreach (var f in filters) { if (rec.Value1.EmpId.Contains(f.Trim())) { return(true); } } return(false); }); break; case 1: CurRecords = CurRecords.FindAll(rec => { foreach (var f in filters) { if (rec.Value1.EmpName.Equals(f.Trim(), StringComparison.CurrentCultureIgnoreCase)) { return(true); } } return(false); }); break; case 2: CurRecords = CurRecords.FindAll(rec => { if (rec.Value2 == null) { return(false); } foreach (var f in filters) { if (rec.Value2.CardSn.Contains(f.Trim())) { return(true); } } return(false); }); break; default: break; } } }, default(string), "正在查询,请稍后...", default(int), default(int)); if (result == DialogResult.OK) { EmpGridView.RowCount = CurRecords.Count; } } catch (Exception err) { Common.WriteLog(DateTime.Now, EnmMsgType.Error, "System", "Delta.MPS.AccessSystem.OrgEmployeeReportForm.DeptBtn.Click", err.Message, err.StackTrace); MessageBox.Show(err.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Query Button Click Event. /// </summary> private void QueryBtn_Click(object sender, EventArgs e) { try { CurDevices.Clear(); DevGridView.Rows.Clear(); var area2Index = Area2NameCB.SelectedIndex; var area2Text = Area2NameCB.Text.ToLower().Trim(); var area2Value = Area2NameCB.SelectedValue != null ? (Int32)Area2NameCB.SelectedValue : -1; var area3Index = Area3NameCB.SelectedIndex; var area3Text = Area3NameCB.Text.ToLower().Trim(); var area3Value = Area3NameCB.SelectedValue != null ? (Int32)Area3NameCB.SelectedValue : -1; var staIndex = StaNameCB.SelectedIndex; var staText = StaNameCB.Text.ToLower().Trim(); var staValue = StaNameCB.SelectedValue != null ? (Int32)StaNameCB.SelectedValue : -1; var devIndex = DevNameCB.SelectedIndex; var devText = DevNameCB.Text.ToLower().Trim(); var devValue = DevNameCB.SelectedValue != null ? (Int32)DevNameCB.SelectedValue : -1; var result = Common.ShowWait(() => { var devices = Common.CurUser.Role.Devices.Values.ToList(); if (area2Index == -1) { devices = devices.FindAll(rec => rec.Area2Name.ToLower().Contains(area2Text)); } if (area2Index > 0) { devices = devices.FindAll(rec => rec.Area2ID == area2Value); } if (area3Index == -1) { devices = devices.FindAll(rec => rec.Area3Name.ToLower().Contains(area3Text)); } if (area3Index > 0) { devices = devices.FindAll(rec => rec.Area3ID == area3Value); } if (staIndex == -1) { devices = devices.FindAll(rec => rec.StaName.ToLower().Contains(staText)); } if (staIndex > 0) { devices = devices.FindAll(rec => rec.StaID == staValue); } if (devIndex == -1) { devices = devices.FindAll(rec => rec.DevName.ToLower().Contains(devText)); } if (devIndex > 0) { devices = devices.FindAll(rec => rec.DevID == devValue); } if (devices.Count > 0) { var counts = new CardAuth().GetDevAuthCount(); CurDevices = (from dev in devices join cnt in counts on dev.DevID equals cnt.ID into tp from tc in tp.DefaultIfEmpty() select new IDValuePair <DeviceInfo, Int32>(dev, tc == null ? 0 : tc.Value)).ToList(); } }, default(string), "正在查询,请稍后...", default(int), default(int)); if (result == DialogResult.OK) { DevGridView.RowCount = CurDevices.Count; } } catch (Exception err) { Common.WriteLog(DateTime.Now, EnmMsgType.Error, "System", "Delta.MPS.AccessSystem.DeviceForm.QueryBtn.Click", err.Message, err.StackTrace); MessageBox.Show(err.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }