private string SetManagerFlowConditionValueType(Precard precard) { string managerFlowConditionValueType = string.Empty; switch ((PrecardGroupsName)precard.PrecardGroup.IntLookupKey) { case PrecardGroupsName.leave: case PrecardGroupsName.leaveestelajy: case PrecardGroupsName.duty: if (precard.IsHourly) { managerFlowConditionValueType = ManagerFlowConditionValueType.Minute.ToString(); } else if (precard.IsDaily) { managerFlowConditionValueType = ManagerFlowConditionValueType.Day.ToString(); } break; case PrecardGroupsName.traffic: case PrecardGroupsName.overwork: case PrecardGroupsName.imperative: managerFlowConditionValueType = ManagerFlowConditionValueType.Minute.ToString(); break; default: break; } return(managerFlowConditionValueType); }
public void TestSetup() { precard_testObject = new Precard(); bussPrecard = new BPrecard(); groupPrecardTA.Insert("TestPrecardGroup", "TestGroup1"); DatasetGatewayWorkFlow.TA_PrecardGroupsDataTable groupTable; groupTable = groupPrecardTA.GetDataByName("TestGroup1"); ADOGroup.ID = Convert.ToDecimal(groupTable.Rows[0][0]); precardTA.Insert("TestPish1", true, ADOGroup.ID, true, false, false, "1001", false); precardTA.Insert("TestPish2", true, ADOGroup.ID, false, true, false, "1002", false); DatasetGatewayWorkFlow.TA_PrecardDataTable precardTable = new DatasetGatewayWorkFlow.TA_PrecardDataTable(); precardTable = precardTA.GetDataByName("TestPish1"); ADOPrecard1.ID = Convert.ToDecimal(precardTable.Rows[0][0]); ADOPrecard1.Name = "TestPish1"; ADOPrecard1.Active = true; ADOPrecard1.IsHourly = true; ADOPrecard1.Code = "1001"; ADOPrecard1.PrecardGroup = ADOGroup; precardTable = precardTA.GetDataByName("TestPish2"); ADOPrecard2.ID = Convert.ToDecimal(precardTable.Rows[0][0]); ADOPrecard2.Name = "TestPish2"; ADOPrecard2.Active = true; ADOPrecard2.IsDaily = true; ADOPrecard2.Code = "1002"; ADOPrecard2.PrecardGroup = ADOGroup; basicTA.Insert(ADOPrecard1.ID, ADOPerson1.ID, DateTime.Now, 0, false, true, false, false); subTA.Insert(ADOPrecard1.ID, null); }
public string GetPishcardName(decimal precardId) { if (precardId < 0) { return(precardId.ToString()); } Precard p = Precard.GetPrecardRepository(false).GetById(precardId, false); return(p.Name); }
/// <summary> /// پیشکارت را از دیکشنری استخراج میکند /// </summary> /// <param name="precard"></param> /// <returns></returns> public Precard GetPrecard(int precardCode) { IList <Precard> list = Precard.GetPrecardRepository(false).GetAll(); Precard Result = list.Where(x => x.Code == precardCode.ToString()).FirstOrDefault(); if (Result == null) { Result = new Precard(); } return(Result); }
public void Delete_Test() { try { precard_testObject.ID = ADOPrecard2.ID; bussPrecard.SaveChanges(precard_testObject, UIActionType.DELETE); ClearSession(); precard_testObject = bussPrecard.GetByID(ADOPrecard2.ID); Assert.Fail(); } catch (ItemNotExists ex) { Assert.Pass(ex.Message); } }
public void GetPrecardTree_UpdateModeTest() { IList <PrecardGroups> list = busAccessGroup.GetPrecardTree(ADOaccessGroup1.ID); Assert.IsTrue(list.Count > 0); Assert.IsTrue(list.Where(x => x.ID == ADOGroup.ID).Count() > 0); Assert.IsTrue(list.Where(x => x.ID == ADOGroup.ID).Where(x => x.PrecardList.Contains(ADOPrecard1)).Count() > 0); PrecardGroups group = list.Where(x => x.ID == ADOGroup.ID).First(); Assert.IsTrue(group.ContainInPrecardAccessGroup); Precard p = group.PrecardList.Where(x => x.ID == ADOPrecard2.ID && x.ContainInPrecardAccessGroup).FirstOrDefault(); Assert.IsNotNull(p); Assert.AreEqual(ADOPrecard2.ID, p.ID); }
private void Fill_trvPrecardAccessLevels_PreCard(decimal PrecardID) { string[] retMessage = new string[4]; try { this.InitializeCulture(); Precard precard = this.PrecardBusiness.GetByID(PrecardID); IList <Role> rolesList = this.RoleBusiness.GetAll(); Role rootRole = this.RoleBusiness.GetRoleTree(); TreeViewNode rootRoleNode = new TreeViewNode(); rootRoleNode.ID = rootRole.ID.ToString(); string rootRoleNodeText = string.Empty; if (GetLocalResourceObject("RolesNode_trvPrecardAccessLevels_PreCard") != null) { rootRoleNodeText = GetLocalResourceObject("RolesNode_trvPrecardAccessLevels_PreCard").ToString(); } else { rootRoleNodeText = rootRole.Name; } rootRoleNode.Text = rootRoleNodeText; rootRoleNode.Value = rootRole.CustomCode; if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + PathHelper.GetModulePath_Nuke() + "Images\\TreeView\\folder.gif")) { rootRoleNode.ImageUrl = PathHelper.GetModuleUrl_Nuke() + "Images/TreeView/folder.gif"; } this.trvPrecardAccessLevels_PreCard.Nodes.Add(rootRoleNode); rootRoleNode.Expanded = true; this.GetChildPrecardAccessLevels_trvPrecardAccessLevels_PreCard(rolesList, rootRoleNode, precard, rootRole); } catch (UIValidationExceptions ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage); this.ErrorHiddenField_PrecardAccessLevels.Value = this.exceptionHandler.CreateErrorMessage(retMessage); } catch (UIBaseException ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage); this.ErrorHiddenField_PrecardAccessLevels.Value = this.exceptionHandler.CreateErrorMessage(retMessage); } catch (Exception ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage); this.ErrorHiddenField_PrecardAccessLevels.Value = this.exceptionHandler.CreateErrorMessage(retMessage); } }
public void Insert_Test() { try { precard_testObject.Code = "1003"; precard_testObject.Name = "TestPrecard3"; precard_testObject.IsDaily = true; precard_testObject.PrecardGroup = new PrecardGroups() { ID = ADOGroup.ID }; bussPrecard.SaveChanges(precard_testObject, UIActionType.ADD); ClearSession(); precard_testObject = bussPrecard.GetByID(precard_testObject.ID); Assert.AreEqual(precard_testObject.Name, "TestPrecard3"); } catch (Exception ex) { Assert.Fail(ex.Message); } }
public EngineEnvironment() { this.ConceptList = new Dictionary <decimal, SecondaryConcept>(); foreach (SecondaryConcept ScndCnp in SecondaryConcept.GetRepository(false).GetAll()) { this.ConceptList.Add(ScndCnp.IdentifierCode, ScndCnp); } this.PrecardDic = new Dictionary <string, Precard>(); IList <Precard> list = Precard.GetPrecardRepository(false).GetAll(); foreach (int precardCode in Enum.GetValues(typeof(Precards))) { Precard p = list.Where(x => x.Code == precardCode.ToString()).FirstOrDefault(); if (p != null) { this.PrecardDic.Add(Enum.Parse(typeof(Precards), precardCode.ToString()).ToString(), p); } //else //{ // throw new InvalidDatabaseStateException(UIFatalExceptionIdentifiers.ExpectedPrecardDoesNotExists, String.Format("پیشکارت با کد {0} در پایگاه داد یافت نشد", precardCode.ToString()), "GTS.Clock.Business.Engine"); //} } this.CalendarList = Calendar.GetRepository(false).GetAll(); }
public string[] UpdateRequest_RequestOnTrafficPage(string requestCaller, string requestLoadState, string state, string SelectedRequestID, string PreCardID, string RequestDate, string RequestFromTime, string RequestToTime, string IsRequestToTimeInNextDay, string RequestDescription) { this.InitializeCulture(); string[] retMessage = new string[6]; try { decimal RequestID = 0; decimal selectedRequestID = decimal.Parse(this.StringBuilder.CreateString(SelectedRequestID)); Request request = new Request(); request.ID = selectedRequestID; UIActionType uam = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(state).ToUpper()); RequestCaller RC = (RequestCaller)Enum.Parse(typeof(RequestCaller), this.StringBuilder.CreateString(requestCaller)); RequestLoadState RLS = (RequestLoadState)Enum.Parse(typeof(RequestLoadState), this.StringBuilder.CreateString(requestLoadState)); switch (uam) { case UIActionType.ADD: decimal preCardID = decimal.Parse(this.StringBuilder.CreateString(PreCardID)); RequestFromTime = this.StringBuilder.CreateString(RequestFromTime); RequestToTime = this.StringBuilder.CreateString(RequestToTime); bool isRequestToTimeInNextDay = bool.Parse(this.StringBuilder.CreateString(IsRequestToTimeInNextDay)); RequestDescription = this.StringBuilder.CreateString(RequestDescription); request.TheFromDate = request.TheToDate = this.StringBuilder.CreateString(RequestDate); Precard precard = new Precard(); precard.ID = preCardID; request.Precard = precard; if (RequestFromTime != string.Empty) { request.TheFromTime = RequestFromTime; } if (RequestToTime != string.Empty) { request.TheToTime = RequestToTime; } request.ContinueOnTomorrow = isRequestToTimeInNextDay; request.Description = RequestDescription; switch (RC) { case RequestCaller.Grid: switch (RLS) { case RequestLoadState.Personnel: request = this.RequestBusiness.InsertTrafficRequest_onPersonnelLoadStateInGridSchema(request); break; case RequestLoadState.Manager: request = this.RequestBusiness.InsertTrafficRequest_onManagerLoadStateInGridSchema(request); break; } break; case RequestCaller.GanttChart: switch (RLS) { case RequestLoadState.Personnel: request = this.RequestBusiness.InsertTrafficRequest_onPersonnelLoadStateInGanttChartSchema(request); break; case RequestLoadState.Manager: request = this.RequestBusiness.InsertTrafficRequest_onManagerLoadStateInGanttChartSchema(request); break; } break; } RequestID = request.ID; break; case UIActionType.DELETE: if (selectedRequestID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, new Exception(GetLocalResourceObject("NoRequestSelectedforDelete").ToString()), retMessage); return(retMessage); } switch (RC) { case RequestCaller.Grid: switch (RLS) { case RequestLoadState.Personnel: this.RequestBusiness.DeleteTrafficRequest_onPersonnelLoadStateInGridSchema(request); break; case RequestLoadState.Manager: this.RequestBusiness.DeleteTrafficRequest_onManagerLoadStateInGridSchema(request); break; } break; case RequestCaller.GanttChart: switch (RLS) { case RequestLoadState.Personnel: this.RequestBusiness.DeleteTrafficRequest_onPersonnelLoadStateInGanttChartSchema(request); break; case RequestLoadState.Manager: this.RequestBusiness.DeleteTrafficRequest_onManagerLoadStateInGanttChartSchema(request); break; } break; } break; } retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uam) { case Business.UIActionType.ADD: SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString(); break; case Business.UIActionType.DELETE: SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString(); break; default: break; } retMessage[1] = SuccessMessageBody; retMessage[2] = "success"; retMessage[3] = RequestID.ToString(); retMessage[4] = ((int)request.Status).ToString(); retMessage[5] = request.RegistrationDate; return(retMessage); } catch (UIValidationExceptions ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage); return(retMessage); } catch (UIBaseException ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage); return(retMessage); } catch (Exception ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage); return(retMessage); } }
private void GetChildPrecardAccessLevels_trvPrecardAccessLevels_PreCard(IList <Role> rolesList, TreeViewNode parentRoleNode, Precard precard, Role parentRole) { foreach (Role childRole in this.RoleBusiness.GetRoleChilds(parentRole.ID, rolesList)) { TreeViewNode childRoleNode = new TreeViewNode(); childRoleNode.ID = childRole.ID.ToString(); childRoleNode.Text = childRole.Name; childRoleNode.Value = childRole.CustomCode; childRoleNode.ShowCheckBox = true; if (precard.AccessRoleList.Where(role => role.ID == childRole.ID).Count() > 0) { childRoleNode.Checked = true; } if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + PathHelper.GetModulePath_Nuke() + "\\Images\\TreeView\\folder.gif")) { childRoleNode.ImageUrl = PathHelper.GetModuleUrl_Nuke() + "Images/TreeView/folder.gif"; } parentRoleNode.Nodes.Add(childRoleNode); try { if (parentRoleNode.Parent.Parent == null) { parentRoleNode.Expanded = true; } } catch { } if (this.RoleBusiness.GetRoleChilds(childRole.ID, rolesList).Count > 0) { this.GetChildPrecardAccessLevels_trvPrecardAccessLevels_PreCard(rolesList, childRoleNode, precard, childRole); } } }
public string[] UpdatePreCard_PreCardPage(string state, string SelectedPreCardID, string IsActive, string PreCardCode, string PreCardOrder, string PreCardName, string PreCardTypeID, string IsDaily, string IsHourly, string IsMonthly, string IsJustification) { this.InitializeCulture(); string[] retMessage = new string[4]; try { AttackDefender.CSRFDefender(this.Page); decimal PreCardID = 0; decimal selectedPreCardID = decimal.Parse(this.StringBuilder.CreateString(SelectedPreCardID), CultureInfo.InvariantCulture); bool isActive = bool.Parse(this.StringBuilder.CreateString(IsActive)); PreCardCode = this.StringBuilder.CreateString(PreCardCode); PreCardOrder = this.StringBuilder.CreateString(PreCardOrder); PreCardName = this.StringBuilder.CreateString(PreCardName); decimal preCardTypeID = decimal.Parse(this.StringBuilder.CreateString(PreCardTypeID), CultureInfo.InvariantCulture); bool isDaily = bool.Parse(this.StringBuilder.CreateString(IsDaily)); bool isHourly = bool.Parse(this.StringBuilder.CreateString(IsHourly)); bool isMonthly = bool.Parse(this.StringBuilder.CreateString(IsMonthly)); bool isJustification = bool.Parse(this.StringBuilder.CreateString(IsJustification)); UIActionType uam = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(state).ToUpper()); Precard precard = new Precard(); precard.ID = selectedPreCardID; if (uam != UIActionType.DELETE) { precard.Active = isActive; precard.Code = PreCardCode; precard.Order = PreCardOrder; precard.Name = PreCardName; PrecardGroups precardType = new PrecardGroups(); precardType.ID = preCardTypeID; precard.PrecardGroup = precardType; precard.IsDaily = isDaily; precard.IsHourly = isHourly; precard.IsMonthly = isMonthly; precard.IsPermit = isJustification; } switch (uam) { case UIActionType.ADD: PreCardID = this.PrecardBusiness.InsertPrecard(precard, uam); break; case UIActionType.EDIT: if (selectedPreCardID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("NoPreCardSelectedforEdit").ToString()), retMessage); return(retMessage); } PreCardID = this.PrecardBusiness.UpdatePrecard(precard, uam); break; case UIActionType.DELETE: if (selectedPreCardID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("NoPreCardSelectedforDelete").ToString()), retMessage); return(retMessage); } PreCardID = this.PrecardBusiness.DeletePrecard(precard, uam); break; } retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uam) { case UIActionType.ADD: SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString(); break; case UIActionType.EDIT: SuccessMessageBody = GetLocalResourceObject("EditComplete").ToString(); break; case UIActionType.DELETE: SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString(); break; default: break; } retMessage[1] = SuccessMessageBody; retMessage[2] = "success"; retMessage[3] = PreCardID.ToString(); return(retMessage); } catch (UIValidationExceptions ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage); return(retMessage); } catch (UIBaseException ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage); return(retMessage); } catch (Exception ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage); return(retMessage); } }
public string[] UpdateRequest_DailyRequestOnAbsencePage(string requestCaller, string requestLoadState, string state, string SelectedRequestID, string RequestType, string PreCardID, string RequestDate, string RequestFromDate, string RequestToDate, string RequestDescription, string IsSeakLeave, string PhysicianID, string IllnessID, string MissionLocationID, string RequestAttachmentFile) { this.InitializeCulture(); string[] retMessage = new string[7]; try { decimal RequestID = 0; decimal selectedRequestID = decimal.Parse(this.StringBuilder.CreateString(SelectedRequestID)); Request request = new Request(); request.ID = selectedRequestID; UIActionType uam = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(state).ToUpper()); RequestCaller RC = (RequestCaller)Enum.Parse(typeof(RequestCaller), this.StringBuilder.CreateString(requestCaller)); RequestLoadState RLS = (RequestLoadState)Enum.Parse(typeof(RequestLoadState), this.StringBuilder.CreateString(requestLoadState)); switch (uam) { case UIActionType.ADD: RequestTypes requestType = (RequestTypes)Enum.Parse(typeof(RequestTypes), this.StringBuilder.CreateString(RequestType)); decimal preCardID = decimal.Parse(this.StringBuilder.CreateString(PreCardID)); RequestFromDate = this.StringBuilder.CreateString(RequestFromDate); RequestToDate = this.StringBuilder.CreateString(RequestToDate); RequestDescription = this.StringBuilder.CreateString(RequestDescription); bool isSeakLeave = bool.Parse(this.StringBuilder.CreateString(IsSeakLeave)); decimal physicianID = decimal.Parse(this.StringBuilder.CreateString(PhysicianID)); decimal illnessID = decimal.Parse(this.StringBuilder.CreateString(IllnessID)); decimal missionLocationID = decimal.Parse(this.StringBuilder.CreateString(MissionLocationID)); RequestAttachmentFile = this.StringBuilder.CreateString(RequestAttachmentFile); request.RegisterDate = Utility.ToMildiDateTime(this.StringBuilder.CreateString(RequestDate)); Precard precard = new Precard(); precard.ID = preCardID; request.Precard = precard; request.TheFromDate = RequestFromDate; request.TheToDate = RequestToDate; request.IsDateSetByUser = true; request.Description = RequestDescription; request.AttachmentFile = RequestAttachmentFile; switch (requestType) { case RequestTypes.Leave: if (isSeakLeave) { if (physicianID != -1) { request.DoctorID = physicianID; } if (illnessID != -1) { request.IllnessID = illnessID; } } break; case RequestTypes.Mission: if (missionLocationID != -1) { request.DutyPositionID = missionLocationID; } break; default: break; } switch (RC) { case RequestCaller.Grid: switch (RLS) { case RequestLoadState.Personnel: request = this.RequestBusiness.InsertDailyRequest_onPersonnelLoadStateInGridSchema(request); break; case RequestLoadState.Manager: request = this.RequestBusiness.InsertDailyRequest_onManagerLoadStateInGridSchema(request); break; } break; case RequestCaller.GanttChart: switch (RLS) { case RequestLoadState.Personnel: request = this.RequestBusiness.InsertDailyRequest_onPersonnelLoadStateInGanttChartSchema(request); break; case RequestLoadState.Manager: request = this.RequestBusiness.InsertDailyRequest_onManagerLoadStateInGanttChartSchema(request); break; } break; } RequestID = request.ID; break; case UIActionType.DELETE: if (selectedRequestID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, new Exception(GetLocalResourceObject("NoRequestSelectedforDelete").ToString()), retMessage); return(retMessage); } switch (RC) { case RequestCaller.Grid: switch (RLS) { case RequestLoadState.Personnel: request = this.MasterRequestBusiness.GetRequestByID(request.ID); this.RequestBusiness.DeleteDailyRequest_onPersonnelLoadStateInGridSchema(request); this.MasterRequestBusiness.DeleteRequestAttachment(WebConfigurationManager.AppSettings["RequestAttachmentsPath"] + "\\" + request.AttachmentFile); break; case RequestLoadState.Manager: this.RequestBusiness.DeleteDailyRequest_onManagerLoadStateInGridSchema(request); break; } break; case RequestCaller.GanttChart: switch (RLS) { case RequestLoadState.Personnel: request = this.MasterRequestBusiness.GetRequestByID(request.ID); this.RequestBusiness.DeleteDailyRequest_onPersonnelLoadStateInGanttChartSchema(request); this.MasterRequestBusiness.DeleteRequestAttachment(WebConfigurationManager.AppSettings["RequestAttachmentsPath"] + "\\" + request.AttachmentFile); break; case RequestLoadState.Manager: this.RequestBusiness.DeleteDailyRequest_onManagerLoadStateInGanttChartSchema(request); break; } break; } break; } retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uam) { case Business.UIActionType.ADD: SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString(); break; case Business.UIActionType.DELETE: SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString(); break; default: break; } retMessage[1] = SuccessMessageBody; retMessage[2] = "success"; retMessage[3] = RequestID.ToString(); retMessage[4] = ((int)request.Status).ToString(); retMessage[5] = request.RegistrationDate; retMessage[6] = request.AddClientSide.ToString().ToLower(); return(retMessage); } catch (UIValidationExceptions ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage); return(retMessage); } catch (UIBaseException ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage); return(retMessage); } catch (Exception ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage); return(retMessage); } }
public string[] UpdateRequest_OvertimeJustificationRequestPage(string requestCaller, string requestLoadState, string state, string SelectedRequestID, string PreCardID, string RequestDate, string RequestFromDate, string RequestToDate, string RequestFromTime, string RequestToTime, string IsRequestToTimeInNextDay, string IsRequestFromAndToTimeInNextDay, string RequestDuration, string RequestDescription, string PersonnelID, string IsWarning) { this.InitializeCulture(); string[] retMessage = new string[7]; try { AttackDefender.CSRFDefender(this.Page); decimal RequestID = 0; decimal selectedRequestID = decimal.Parse(this.StringBuilder.CreateString(SelectedRequestID), CultureInfo.InvariantCulture); Request request = new Request(); request.ID = selectedRequestID; UIActionType uam = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(state).ToUpper()); RequestCaller RC = (RequestCaller)Enum.Parse(typeof(RequestCaller), this.StringBuilder.CreateString(requestCaller)); RequestLoadState RLS = (RequestLoadState)Enum.Parse(typeof(RequestLoadState), this.StringBuilder.CreateString(requestLoadState)); decimal personnelID = decimal.Parse(this.StringBuilder.CreateString(PersonnelID), CultureInfo.InvariantCulture); bool isWarning = bool.Parse(this.StringBuilder.CreateString(IsWarning)); switch (uam) { case UIActionType.ADD: decimal preCardID = decimal.Parse(this.StringBuilder.CreateString(PreCardID), CultureInfo.InvariantCulture); RequestFromDate = this.StringBuilder.CreateString(RequestFromDate); RequestToDate = this.StringBuilder.CreateString(RequestToDate); RequestFromTime = this.StringBuilder.CreateString(RequestFromTime); RequestToTime = this.StringBuilder.CreateString(RequestToTime); RequestDuration = this.StringBuilder.CreateString(RequestDuration); bool isRequestToTimeInNextDay = bool.Parse(this.StringBuilder.CreateString(IsRequestToTimeInNextDay)); bool isRequestFromAndToTimeInNextDay = bool.Parse(this.StringBuilder.CreateString(IsRequestFromAndToTimeInNextDay)); RequestDescription = this.StringBuilder.CreateString(RequestDescription); Precard precard = new Precard(); precard.ID = preCardID; request.Precard = precard; request.TheFromDate = RequestFromDate; request.TheToDate = RequestToDate; request.IsDateSetByUser = true; request.TheFromTime = RequestFromTime; request.TheToTime = RequestToTime; request.TheTimeDuration = !isRequestToTimeInNextDay ? RequestDuration : string.Empty; request.ContinueOnTomorrow = isRequestToTimeInNextDay; if (!isRequestToTimeInNextDay) { request.AllOnTomorrow = isRequestFromAndToTimeInNextDay; } request.Description = RequestDescription; request.IsExecuteWarningUIValidation = isWarning; switch (RC) { case RequestCaller.Grid: switch (RLS) { case RequestLoadState.Personnel: request = this.RequestBusiness.InsertOverTimeRequest_onPersonnelLoadStateInGridSchema(request); break; case RequestLoadState.Manager: request = this.RequestBusiness.InsertOverTimeRequest_onManagerLoadStateInGridSchema(request); break; case RequestLoadState.Operator: request.Person = new Model.Person() { ID = personnelID }; request = this.RequestBusiness.InsertOverTimeRequest_onOperatorLoadStateInGridSchema(request); break; } break; case RequestCaller.GanttChart: switch (RLS) { case RequestLoadState.Personnel: request = this.RequestBusiness.InsertOverTimeRequest_onPersonnelLoadStateInGanttChartSchema(request); break; case RequestLoadState.Manager: request = this.RequestBusiness.InsertOverTimeRequest_onManagerLoadStateInGanttChartSchema(request); break; case RequestLoadState.Operator: request.Person = new Model.Person() { ID = personnelID }; request = this.RequestBusiness.InsertOverTimeRequest_onOperatorLoadStateInGanttChartSchema(request); break; } break; } RequestID = request.ID; break; case UIActionType.DELETE: if (selectedRequestID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("NoRequestSelectedforDelete").ToString()), retMessage); return(retMessage); } switch (RC) { case RequestCaller.Grid: switch (RLS) { case RequestLoadState.Personnel: this.RequestBusiness.DeleteOverTimeRequest_onPersonnelLoadStateInGridSchema(request); break; case RequestLoadState.Manager: this.RequestBusiness.DeleteOverTimeRequest_onManagerLoadStateInGridSchema(request); break; case RequestLoadState.Operator: this.RequestBusiness.DeleteOverTimeRequest_onOperatorLoadStateInGridSchema(request); break; } break; case RequestCaller.GanttChart: switch (RLS) { case RequestLoadState.Personnel: this.RequestBusiness.DeleteOverTimeRequest_onPersonnelLoadStateInGanttChartSchema(request); break; case RequestLoadState.Manager: this.RequestBusiness.DeleteOverTimeRequest_onManagerLoadStateInGanttChartSchema(request); break; case RequestLoadState.Operator: this.RequestBusiness.DeleteOverTimeRequest_onOperatorLoadStateInGanttChartSchema(request); break; } break; } break; } retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uam) { case Business.UIActionType.ADD: SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString(); break; case Business.UIActionType.DELETE: SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString(); break; default: break; } retMessage[1] = SuccessMessageBody; retMessage[2] = "success"; retMessage[3] = RequestID.ToString(); retMessage[4] = ((int)request.Status).ToString(); retMessage[5] = request.RegistrationDate; return(retMessage); } catch (UIValidationExceptions ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage); return(retMessage); } catch (UIBaseException ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage); return(retMessage); } catch (Exception ex) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage); return(retMessage); } }
public void GetByID_Test() { precard_testObject = bussPrecard.GetByID(ADOPrecard1.ID); Assert.AreEqual(precard_testObject.Name, ADOPrecard1.Name); }
public void InsertRequestSubstitute(Request request) { try { RequestSubstitute requestSubstitute = null; Person person = null; Precard precardAlias = null; UIValidationGroup uiValidationGroupAlias = null; UIValidationRule uiValidationRuleAlias = null; UIValidationRuleGroup uiValidationRuleGroupAlias = null; UIValidationRuleGroupPrecard uiValidationRuleGroupPrecardAlias = null; const string requestSubstituteUIValidationRuleCode = "33"; BPerson bPerson = new BPerson(); BUIValidationGroup bUIValidationGroup = new BUIValidationGroup(); UIValidationRuleGroup RuleGroup = new UIValidationRuleGroup(); JavaScriptSerializer JsSerializer = new JavaScriptSerializer(); NHibernate.IQueryOver <UIValidationRuleGroup, UIValidationRuleGroup> uiValidationRuleGroup = null; if (request != null && request.Person != null && request.Person.ID != 0) { person = NHSession.QueryOver <Person>() .Where(x => x.ID == request.Person.ID) .SingleOrDefault(); if (person != null && person.PersonTASpec != null && person.PersonTASpec.UIValidationGroup != null) { uiValidationRuleGroup = this.NHSession.QueryOver <UIValidationRuleGroup>(() => uiValidationRuleGroupAlias) .JoinAlias(() => uiValidationRuleGroupAlias.ValidationGroup, () => uiValidationGroupAlias) .JoinAlias(() => uiValidationRuleGroupAlias.ValidationRule, () => uiValidationRuleAlias) .JoinAlias(() => uiValidationRuleGroupAlias.PrecardList, () => uiValidationRuleGroupPrecardAlias) .JoinAlias(() => uiValidationRuleGroupPrecardAlias.Precard, () => precardAlias) .Where(() => uiValidationGroupAlias.ID == person.PersonTASpec.UIValidationGroup.ID && uiValidationRuleGroupAlias.Active && uiValidationRuleAlias.ExistTag && uiValidationRuleAlias.CustomCode == requestSubstituteUIValidationRuleCode && uiValidationRuleGroupPrecardAlias.Active && precardAlias.ID == request.Precard.ID ); if (request.Person.ID != request.User.Person.ID) { RuleGroup = uiValidationRuleGroup.Where(x => uiValidationRuleGroupPrecardAlias.Operator).SingleOrDefault(); } else { RuleGroup = uiValidationRuleGroup.SingleOrDefault(); } if (RuleGroup != null && RuleGroup.Tag != null && RuleGroup.Tag != string.Empty) { R33_UiValidationRuleTagValueProxy r33_UiValidationRuleTagValueProxy = JsSerializer.Deserialize <R33_UiValidationRuleTagValueProxy>(RuleGroup.Tag); if (r33_UiValidationRuleTagValueProxy.IsForceConfirmByRequestSubstitute) { requestSubstitute = new RequestSubstitute(); requestSubstitute.Request = request; requestSubstitute.SubstitutePerson = request.SubstitutePerson; requestSubstitute.OperationDate = DateTime.Now; this.SaveChanges(requestSubstitute, UIActionType.ADD); } } } NHSession.Evict(person); } } catch (Exception ex) { BaseBusiness <RequestSubstitute> .LogException(ex, "BRequestSubstitute", "InsertRequestSubstitute"); throw ex; } }
private bool CheckRequestValueAppliedFlowConditionValue(ManagerFlowCondition managerFlowCondition, Request request) { bool isAppliedFlowConditionValue = false; if (managerFlowCondition != null) { ConditionOperators conditionOperator = (ConditionOperators)managerFlowCondition.Operator; Precard precard = managerFlowCondition.PrecardAccessGroupDetail.Precard; PrecardGroupsName precardGroupsName = (PrecardGroupsName)managerFlowCondition.PrecardAccessGroupDetail.Precard.PrecardGroup.IntLookupKey; int requestValue = 0; switch (precardGroupsName) { case PrecardGroupsName.leave: case PrecardGroupsName.leaveestelajy: case PrecardGroupsName.duty: if (precard.IsHourly) { requestValue = request.TimeDuration; } else if (precard.IsDaily) { requestValue = (int)(request.ToDate - request.FromDate).TotalDays + 1; } if (this.CheckRequestValueIsInRangeConditionValue(conditionOperator, managerFlowCondition.Value, requestValue)) { isAppliedFlowConditionValue = true; } break; case PrecardGroupsName.overwork: requestValue = ((int)(request.ToDate - request.FromDate).TotalDays + 1) * request.TimeDuration; if (this.CheckRequestValueIsInRangeConditionValue(conditionOperator, managerFlowCondition.Value, requestValue)) { isAppliedFlowConditionValue = true; } break; case PrecardGroupsName.traffic: if (request.FromTime != -1000 && request.ToTime != 1000 && request.TimeDuration != 1000) { if (this.CheckRequestValueIsInRangeConditionValue(conditionOperator, managerFlowCondition.Value, request.TimeDuration)) { isAppliedFlowConditionValue = true; } } break; case PrecardGroupsName.imperative: if (this.CheckRequestValueIsInRangeConditionValue(conditionOperator, managerFlowCondition.Value, request.TimeDuration)) { isAppliedFlowConditionValue = true; } break; default: break; } } return(isAppliedFlowConditionValue); }
public IList <ManagerFlowConditionProxy> GetAllManagerFlowConditionsByPrecardGroup(decimal flowID, decimal managerFlowID, decimal precardGroupID, Dictionary <ConditionOperators, string> conditionOperatorsDic) { try { Precard precardAlias = null; PrecardGroups precardGroupsAlias = null; PrecardAccessGroupDetail precardAccessGroupDetailAlias = null; ManagerFlow managerFlowAlias = null; ManagerFlowCondition managerFlowConditionAlias = null; IList <ManagerFlowConditionProxy> ManagerFlowConditionProxyList = new List <ManagerFlowConditionProxy>(); IList <ManagerFlowCondition> existingManagerFlowConditionsList = NHSession.QueryOver <ManagerFlowCondition>(() => managerFlowConditionAlias) .JoinAlias(() => managerFlowConditionAlias.PrecardAccessGroupDetail, () => precardAccessGroupDetailAlias) .JoinAlias(() => precardAccessGroupDetailAlias.Precard, () => precardAlias) .JoinAlias(() => precardAlias.PrecardGroup, () => precardGroupsAlias) .JoinAlias(() => managerFlowConditionAlias.ManagerFlow, () => managerFlowAlias) .Where(() => managerFlowAlias.ID == managerFlowID && precardGroupsAlias.ID == precardGroupID && precardAlias.Active ) .List <ManagerFlowCondition>(); foreach (ManagerFlowCondition managerFlowConditionItem in existingManagerFlowConditionsList) { ManagerFlowConditionProxy managerFlowConditionProxy = new ManagerFlowConditionProxy(); managerFlowConditionProxy.State = "View"; managerFlowConditionProxy.ID = managerFlowConditionItem.ID; managerFlowConditionProxy.PrecardAccessGroupDetailID = managerFlowConditionItem.PrecardAccessGroupDetail.ID; managerFlowConditionProxy.PrecardID = managerFlowConditionItem.PrecardAccessGroupDetail.Precard.ID; managerFlowConditionProxy.PrecardName = managerFlowConditionItem.PrecardAccessGroupDetail.Precard.Name; managerFlowConditionProxy.PrecardCode = managerFlowConditionItem.PrecardAccessGroupDetail.Precard.Code; managerFlowConditionProxy.EndFlow = managerFlowConditionItem.EndFlow; managerFlowConditionProxy.Access = true; managerFlowConditionProxy.OperatorKey = ((ConditionOperators)managerFlowConditionItem.Operator).ToString(); managerFlowConditionProxy.OperatorTitle = conditionOperatorsDic[(ConditionOperators)managerFlowConditionItem.Operator]; managerFlowConditionProxy.Value = managerFlowConditionItem.Value; managerFlowConditionProxy.ValueType = this.SetManagerFlowConditionValueType(managerFlowConditionItem.PrecardAccessGroupDetail.Precard); managerFlowConditionProxy.Description = managerFlowConditionItem.Description; ManagerFlowConditionProxyList.Add(managerFlowConditionProxy); } Flow flow = this.bFlow.GetByID(flowID); IList <PrecardAccessGroupDetail> precardAccessGroupDetailList = flow.AccessGroup.PrecardAccessGroupDetailList.Where(x => x.Precard.PrecardGroup.ID == precardGroupID).ToList <PrecardAccessGroupDetail>(); IList <Precard> flowPrecardGroupPrecards = precardAccessGroupDetailList.Select(x => x.Precard).Where(x => x.Active).ToList <Precard>(); foreach (Precard precardItem in flowPrecardGroupPrecards.Where(x => !ManagerFlowConditionProxyList.Select(y => y.PrecardID).ToList().Contains(x.ID))) { ManagerFlowConditionProxy managerFlowConditionProxy = new ManagerFlowConditionProxy(); managerFlowConditionProxy.State = "View"; managerFlowConditionProxy.ID = 0; managerFlowConditionProxy.PrecardAccessGroupDetailID = precardAccessGroupDetailList.Where(x => x.Precard.ID == precardItem.ID).First().ID; managerFlowConditionProxy.PrecardID = precardItem.ID; managerFlowConditionProxy.PrecardName = precardItem.Name; managerFlowConditionProxy.PrecardCode = precardItem.Code; managerFlowConditionProxy.EndFlow = false; managerFlowConditionProxy.Access = true; managerFlowConditionProxy.OperatorKey = string.Empty; managerFlowConditionProxy.OperatorTitle = string.Empty; managerFlowConditionProxy.Value = string.Empty; managerFlowConditionProxy.ValueType = this.SetManagerFlowConditionValueType(precardItem); managerFlowConditionProxy.Description = string.Empty; ManagerFlowConditionProxyList.Add(managerFlowConditionProxy); } return(ManagerFlowConditionProxyList); } catch (Exception ex) { LogException(ex, "BManagerFlowCondition", "GetAllManagerFlowConditionsByPrecardGroup"); throw; } }