public static EF6.StaffSecurity GetByStaffId(Guid id, string grade) { EF6.StaffSecurity result = null; using (var ctx = new EF6.RT2020Entities()) { var ss = ctx.StaffSecurity.Where(x => x.StaffId == id && x.GradeCode == grade).AsNoTracking().FirstOrDefault(); if (ss != null) { result = ss; } } return(result); }
private void Save() { using (var ctx = new EF6.RT2020Entities()) { var oSecurity = ctx.StaffSecurity.Find(_SecurityId); if (oSecurity == null) { oSecurity = new EF6.StaffSecurity(); oSecurity.SecurityId = Guid.NewGuid(); oSecurity.StaffId = _StaffId; ctx.StaffSecurity.Add(oSecurity); } string gradeCode = StaffGroupEx.GetGradeCodeById((Guid)cboGrade.SelectedValue); if (gradeCode.Length > 0) { oSecurity.GradeCode = gradeCode; } oSecurity.Module = "*"; oSecurity.Functions = "*"; oSecurity.CanRead = chkCanRead.Checked; oSecurity.CanWrite = chkCanWrite.Checked; oSecurity.CanPost = chkCanPost.Checked; oSecurity.CanDelete = chkCanDelete.Checked; ctx.SaveChanges(); var id = Guid.Empty; if (Guid.TryParse(cboGrade.SelectedValue.ToString(), out id)) { var oStaff = ctx.Staff.Find(_StaffId); if (oStaff != null) { if (oStaff.GroupId != new Guid(cboGrade.SelectedValue.ToString())) { oStaff.GroupId = new Guid(cboGrade.SelectedValue.ToString()); oStaff.ModifiedBy = ConfigHelper.CurrentUserId; oStaff.ModifiedOn = DateTime.Now; ctx.SaveChanges(); } } } } }