/// <summary> Check Permission </summary> /// <param name="permissionModel"></param> /// <returns></returns> public PermissionModel Post(PermissionModel permissionModel) { var service = new SecurityService(); bool result = false; if (permissionModel != null ) { result = service.CheckPermission(permissionModel.UserID, permissionModel.PrivilegeType, permissionModel.Permission); } return new PermissionModel() { IsAllowAccess = result }; }
private void CheckData(List<ImportRosterModel> listRoster, List<string> listProfileCode, List<string> listShiftCode) { using (var context = new VnrHrmDataContext()) { IUnitOfWork unitOfWork = new UnitOfWork(context); SecurityService security = new SecurityService(); int pageSize = 2500; int skipRows = 0; var listShiftInfo = unitOfWork.CreateQueryable<Cat_Shift>(Guid.Empty, d => listShiftCode.Contains(d.Code)).ToList<Cat_Shift>(); var isAllowEditFutureRoster = security.CheckPermission(LoginUserID, PrivilegeType.Modify, ConstantMessages.Att_EditFutureRoster.ToString()); var isAllowEditPastRoster = security.CheckPermission(LoginUserID, PrivilegeType.Modify, ConstantMessages.Att_EditPastRoster.ToString()); var ValidateLess12Hour = AppConfig.HRM_ATT_VALIDATE_ROSTER_NON_CONTINUE_12HOUR.ToString(); var check12Hours = unitOfWork.CreateQueryable<Sys_AllSetting>(d => d.Name == ValidateLess12Hour).Select(d => d.Value1).FirstOrDefault(); while (skipRows < listProfileCode.Count()) { //Vinhtran - 20140718: Chia theo pagesize để không bị quá tải ram var listProfileSplit = listProfileCode.Skip(skipRows).Take(pageSize).ToList(); var listRosterSplit = listRoster.Where(d => listProfileSplit.Contains(d.CodeEmp)).OrderBy(d => d.DateStart).ToList(); CheckData(listRosterSplit, check12Hours == bool.TrueString, isAllowEditFutureRoster, isAllowEditPastRoster, listProfileSplit, listShiftInfo); skipRows += pageSize; } } }