public void Update_InsertParsi_Assign_Barcode_Test() { try { person_testObject = this.GetReadyForUpdate(0, SysLanguageResource.Parsi, LocalLanguageResource.Parsi); busPerson.SaveChanges(person_testObject, UIActionType.EDIT); ClearSession(); decimal personId = person_testObject.ID; person_testObject = new Person(); person_testObject = busPerson.GetByID(personId); Assert.AreEqual(person_testObject.PersonCode, "00001222"); Assert.IsNotNull(person_testObject.PersonRangeAssignList); Assert.IsTrue(person_testObject.PersonRangeAssignList.Count > 0); Assert.AreEqual(busPerson.GetCurrentActiveWorkGroup(person_testObject.ID), "WorkGroupTest3"); Assert.AreEqual(busPerson.GetCurrentActiveRuleGroup(person_testObject.ID), ""); PersonRangeAssignment PRAsg = busPerson.GetCurrentRangeAssignment(person_testObject.ID); Assert.AreEqual(PRAsg.CalcDateRangeGroup.Name, "CalcGroup3"); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { queris.DeletePersonTest(); } }
public void Update_UpdateEnglishTest() { try { person_testObject = this.GetReadyForUpdate(ADOPerson2.ID, SysLanguageResource.English, LocalLanguageResource.English); busPerson.SaveChanges(person_testObject, UIActionType.EDIT); ClearSession(); decimal id = person_testObject.ID; person_testObject = new Person(); person_testObject = busPerson.GetByID(id); Assert.AreEqual(person_testObject.PersonCode, "00001222"); Assert.IsNotNull(person_testObject.PersonRangeAssignList); Assert.AreEqual(person_testObject.PersonRangeAssignList.Count, 7); Assert.AreEqual(busPerson.GetCurrentActiveWorkGroup(person_testObject.ID), "WorkGroupTest3"); Assert.AreEqual(busPerson.GetCurrentActiveRuleGroup(person_testObject.ID), "RuleGroupTest2"); PersonRangeAssignment PRAsg = busPerson.GetCurrentRangeAssignment(person_testObject.ID); Assert.AreEqual(PRAsg.CalcDateRangeGroup.Name, "RangeGroup1"); } catch (Exception ex) { Assert.Fail(ex.Message); } finally { queris.DeletePersonTest(); } }
public void TestSetup() { assign_testObject = new PersonRangeAssignment(); bussAssign = new BAssignDateRange(SysLanguageResource.Parsi); groupTA.Insert("RangeGroup1", "", 1); DatabaseGateway.TA_CalculationRangeGroupDataTable groupTable = new DatabaseGateway.TA_CalculationRangeGroupDataTable(); groupTA.FillByGroupName(groupTable, "RangeGroup1"); ADOGroup1.ID = Convert.ToDecimal(groupTable.Rows[0]["CalcRangeGroup_ID"]); ADOGroup1.Name = Convert.ToString(groupTable.Rows[0]["CalcRangeGroup_Name"]); ADOGroup1.Description = Convert.ToString(groupTable.Rows[0]["CalcRangeGroup_Des"]); assingTA.Insert(ADOPerson1.ID, ADOGroup1.ID, new DateTime(2010, 2, 14)); assingTA.Insert(ADOPerson1.ID, ADOGroup1.ID, new DateTime(2005, 5, 14)); assingTA.Insert(ADOPerson1.ID, ADOGroup1.ID, new DateTime(2007, 11, 5)); assingTA.Insert(ADOPerson1.ID, ADOGroup1.ID, new DateTime(2010, 9, 14)); assingTA.Insert(ADOPerson1.ID, ADOGroup1.ID, new DateTime(2012, 9, 14)); assingTA.Insert(ADOPerson1.ID, ADOGroup1.ID, new DateTime(2008, 3, 1)); DatabaseGateway.TA_PersonRangeAssignmentDataTable table = new DatabaseGateway.TA_PersonRangeAssignmentDataTable(); assingTA.FillByFilter(table, ADOPerson1.ID, ADOGroup1.ID); ADOAssign.ID = (decimal)table.Rows[0]["PrsRangeAsg_ID"]; ADOAssign.FromDate = (DateTime)table.Rows[0]["PrsRangeAsg_FromDate"]; }
public void Insert_Test() { assign_testObject.UIFromDate = Utility.ToPersianDate(DateTime.Now.Date); assign_testObject.Person = ADOPerson1; assign_testObject.CalcDateRangeGroup = ADOGroup1; bussAssign.SaveChanges(assign_testObject, UIActionType.ADD); ClearSession(); assign_testObject = bussAssign.GetByID(assign_testObject.ID); Assert.IsTrue(assign_testObject.ID > 0); }
public void Insert_UIFromDateTest() { assign_testObject.UIFromDate = "1390/4/5"; assign_testObject.Person = ADOPerson1; assign_testObject.CalcDateRangeGroup = ADOGroup1; bussAssign.SaveChanges(assign_testObject, UIActionType.ADD); ClearSession(); assign_testObject = bussAssign.GetByID(assign_testObject.ID); Assert.AreEqual(assign_testObject.FromDate.Date, Utility.ToMildiDate("1390/04/05")); }
public void Update_Test() { assign_testObject.ID = ADOAssign.ID; assign_testObject.UIFromDate = Utility.ToPersianDate(DateTime.Now); assign_testObject.Person = ADOPerson1; assign_testObject.CalcDateRangeGroup = ADOGroup1; bussAssign.SaveChanges(assign_testObject, UIActionType.EDIT); ClearSession(); assign_testObject = new PersonRangeAssignment(); assign_testObject = bussAssign.GetByID(ADOAssign.ID); Assert.AreEqual(assign_testObject.FromDate, DateTime.Now.Date); }
public void Delete_Test() { try { bussAssign.SaveChanges(ADOAssign, UIActionType.DELETE); assign_testObject = bussAssign.GetByID(ADOAssign.ID); Assert.IsTrue(ADOAssign.ID == 0); } catch (ItemNotExists ex) { Assert.Pass(ex.Message); } }
public void Insert_UIFromDateEnglishTest() { BAssignDateRange bassign = new BAssignDateRange(SysLanguageResource.English); assign_testObject.UIFromDate = "2010/4/05"; assign_testObject.Person = ADOPerson1; assign_testObject.CalcDateRangeGroup = ADOGroup1; bassign.SaveChanges(assign_testObject, UIActionType.ADD); ClearSession(); assign_testObject = bassign.GetByID(assign_testObject.ID); Assert.AreEqual(assign_testObject.FromDate.Date, new DateTime(2010, 4, 5)); }
protected void Button10_Click(object sender, EventArgs e) { BAssignDateRange bus = new BAssignDateRange(LanguagesName.Parsi); PersonRangeAssignment p = new PersonRangeAssignment() { ID = 85916, UIFromDate = "1388/01/01", Person = new Person() { ID = 32700 }, CalcDateRangeGroup = new CalculationRangeGroup() { ID = 26017 } }; bus.SaveChanges(p, GTS.Clock.Business.UIActionType.EDIT); }
/// <summary> /// وظیفه این تابع حصول اطمینان از انتساب حداکثر یک "محدوده محاسبات" به شخص در محدوده تاریخ درخواست شده برای محاسبه است /// در تغییرات بعدی این تابع دیگر اجرا نمی شود /// </summary> /// <param name="person"></param> /// <param name="FromDate"></param> /// <param name="ToDate"></param> private void RangeGroupAssignmentValidate(Person person, DateTime FromDate, DateTime ToDate) { PersonRangeAssignment From = person.PersonRangeAssignList .Where(x => x.FromDate <= FromDate) .OrderByDescending(x => x.FromDate) .FirstOrDefault(); PersonRangeAssignment To = person.PersonRangeAssignList .Where(x => x.FromDate <= ToDate) .OrderByDescending(x => x.FromDate) .FirstOrDefault(); if (From.ID != To.ID) { throw new BaseException("به شخص در محدوده ی درخواست شده برای محاسبات دو یا چند 'محدوده محاسبات مفاهیم ماهانه' انتساب داده شده است", "ExecuteRule.RangeGroupAssignmentValidate"); } }
public void Insert_FirstStartOfYear_Pass_Test() { try { assign_testObject.UIFromDate = "1391/01/01"; assign_testObject.Person = ADOPerson2; assign_testObject.CalcDateRangeGroup = ADOGroup1; bussAssign.SaveChanges(assign_testObject, UIActionType.ADD); ClearSession(); assign_testObject = bussAssign.GetByID(assign_testObject.ID); Assert.IsTrue(assign_testObject.ID > 0); } catch (UIValidationExceptions ex) { Assert.Fail(ex.Message); } }
/// <summary> /// تغییر مشخصات سازمانی /// </summary> /// <param name="personList">لیست پرسنل</param> /// <param name="infoProxy">پروکسی مشخصات سازمانی</param> /// <param name="errorList">خروجی لیست خطاها</param> /// <returns>وضعیت انجام عملیات</returns> private bool ChangeInfo(IList <Person> personList, OrganicInfoProxy infoProxy, out IList <ChangeInfoErrorProxy> errorList) { IList <PersonRuleCatAssignment> ruleAssgnList = new List <PersonRuleCatAssignment>(); IList <PersonRangeAssignment> rangeAssgnList = new List <PersonRangeAssignment>(); IList <AssignWorkGroup> workGroupAssgnList = new List <AssignWorkGroup>(); IList <PersonContractAssignment> contractAssgnList = new List <PersonContractAssignment>(); #region Validate DateTime workGroupFromDate, ruleGroupFromDate, ruleGroupToDate, DateRangeFromDate, contractFromDate, contractToDate; if (BLanguage.CurrentSystemLanguage == LanguagesName.Parsi) { workGroupFromDate = Utility.ToMildiDate(infoProxy.WorkGroupFromDate); ruleGroupFromDate = Utility.ToMildiDate(infoProxy.RuleGroupFromDate); ruleGroupToDate = Utility.ToMildiDate(infoProxy.RuleGroupToDate); DateRangeFromDate = Utility.ToMildiDate(infoProxy.DateRangeFromDate); contractFromDate = Utility.ToMildiDate(infoProxy.ContractFromDate); contractToDate = Utility.ToMildiDate(infoProxy.ContractToDate); } else { workGroupFromDate = Utility.ToMildiDateTime(infoProxy.WorkGroupFromDate); ruleGroupFromDate = Utility.ToMildiDateTime(infoProxy.RuleGroupFromDate); ruleGroupToDate = Utility.ToMildiDateTime(infoProxy.RuleGroupToDate); DateRangeFromDate = Utility.ToMildiDateTime(infoProxy.DateRangeFromDate); contractFromDate = Utility.ToMildiDateTime(infoProxy.ContractFromDate); contractToDate = Utility.ToMildiDateTime(infoProxy.ContractToDate); } errorList = new List <ChangeInfoErrorProxy>(); foreach (Person prs in personList) { string errorMessage = ""; if (infoProxy.WorkGroupID > 0) { workGroupAssgnList = new BAssignWorkGroup(BLanguage.CurrentSystemLanguage).GetAllByWorkGroupId(infoProxy.WorkGroupID); ValidateWorkGroupAssignment(prs, workGroupFromDate, ref errorMessage); } if (infoProxy.RuleGroupID > 0) { ruleAssgnList = new BAssignRule(BLanguage.CurrentSystemLanguage).GetAllByRuleGroupId(infoProxy.RuleGroupID); ValidateRuleGroupAssignment(prs, ruleGroupFromDate, ruleGroupToDate, ref errorMessage); } if (infoProxy.DateRangeID > 0) { rangeAssgnList = new BAssignDateRange(BLanguage.CurrentSystemLanguage).GetAllByRangeId(infoProxy.DateRangeID); ValidateDateRangeAssignment(prs, DateRangeFromDate, ref errorMessage); } if (infoProxy.ContractID > 0) { contractAssgnList = new BPersonContractAssignment(BLanguage.CurrentSystemLanguage).GetAllByContractId(infoProxy.ContractID); ValidateContractAssignment(prs, contractFromDate, contractToDate, ref errorMessage); } if (!Utility.IsEmpty(errorMessage)) { errorList.Add(new ChangeInfoErrorProxy() { ErrorMessage = errorMessage, PersonCode = prs.PersonCode, PersonName = prs.Name }); if (errorList.Count > 50) { break; } } } if (errorList.Count > 0) { return(false); } #endregion using (NHibernateSessionManager.Instance.BeginTransactionOn()) { try { UnderManagmentRepository underMngRep = new UnderManagmentRepository(false); List <decimal> personIdList = new List <decimal>(); IList <OrganizationFeatureProxy> organizationFeatureList = new List <OrganizationFeatureProxy>(); IList <FlowPersonsProxy> flowPersonList = new List <FlowPersonsProxy>(); List <decimal> PersonnelsDepartmentChange = new List <decimal>(); bool cfpUpdateRequierd = false; DateTime minDate = DateTime.Now; int counter = 0; foreach (Person prs in personList) { counter++; bool updatePrs = false; personIdList.Add(prs.ID); IList <OrganizationFeatureProxy> organizationFeatureExist = new List <OrganizationFeatureProxy>(); UnderManagment underMng = new UnderManagment(); #region Department if (infoProxy.DepartmentID > 0) { if (prs.Department.ID != infoProxy.DepartmentID) { PersonnelsDepartmentChange.Add(prs.ID); } if (organizationFeatureList.Count != 0) { organizationFeatureExist = organizationFeatureList.Where(x => x.DepartmentId == prs.Department.ID).ToList(); } if (organizationFeatureExist.Count == 0) { IList <decimal> FlowIds = underMngRep.GetDepartmentFlows(prs.Department.ID); foreach (decimal flowId in FlowIds) { OrganizationFeatureProxy orgFeatureProxy = new OrganizationFeatureProxy(); FlowPersonsProxy flowPerson = new FlowPersonsProxy(); orgFeatureProxy.FlowId = flowId; orgFeatureProxy.DepartmentId = prs.Department.ID; organizationFeatureList.Add(orgFeatureProxy); flowPerson.FlowId = flowId; flowPerson.PersonId = prs.ID; flowPersonList.Add(flowPerson); } } else { IList <decimal> FlowIds = organizationFeatureExist.Select(x => x.FlowId) .ToList <decimal>(); foreach (decimal flowId in FlowIds) { FlowPersonsProxy flowPerson = new FlowPersonsProxy(); flowPerson.FlowId = flowId; flowPerson.PersonId = prs.ID; flowPersonList.Add(flowPerson); } } prs.Department = new GTS.Clock.Model.Charts.Department() { ID = infoProxy.DepartmentID }; updatePrs = true; } #endregion #region Employment Type if (infoProxy.EmploymentTypeID > 0) { prs.EmploymentType = new GTS.Clock.Model.BaseInformation.EmploymentType() { ID = infoProxy.EmploymentTypeID }; updatePrs = true; } #endregion if (updatePrs) { prsRepository.WithoutTransactUpdate(prs); } #region Rule Category if (infoProxy.RuleGroupID > 0) { cfpUpdateRequierd = true; PersonRuleCatAssignment ruleAssign = new PersonRuleCatAssignment(); BAssignRule ruleAsgnBus = new BAssignRule(); ruleAssgnList = ruleAsgnBus.GetAll(prs.ID); IList <PersonRuleCatAssignment> confilictList = ruleAssgnList.Where(x => ((Utility.ToMildiDateTime(x.FromDate) <= ruleGroupToDate && Utility.ToMildiDateTime(x.ToDate) >= ruleGroupToDate)) || ((Utility.ToMildiDateTime(x.FromDate) <= ruleGroupFromDate && Utility.ToMildiDateTime(x.ToDate) >= ruleGroupFromDate)) || ((Utility.ToMildiDateTime(x.FromDate) >= ruleGroupFromDate && Utility.ToMildiDateTime(x.FromDate) <= ruleGroupToDate)) ).ToList(); if (confilictList != null && confilictList.Count > 0) { Range range = new Range() { From = ruleGroupFromDate, To = ruleGroupToDate, AditionalField = 0 }; var confilictRanges = from o in confilictList select new Range() { From = Utility.ToMildiDateTime(o.FromDate), To = Utility.ToMildiDateTime(o.ToDate), AditionalField = o.RuleCategory.ID }; IList <Range> breakedList = Utility.Differance(confilictRanges.ToList(), range); #region Delete //foreach (PersonRuleCatAssignment asgn in ruleAssgnList) //{ // ruleAsgnBus.SaveChanges(asgn, UIActionType.DELETE); //} foreach (PersonRuleCatAssignment asgn in confilictList) { ruleAsgnBus.SaveChanges(asgn, UIActionType.DELETE); } #endregion #region add first ruleAssign.FromDate = Utility.ToString(ruleGroupFromDate); ruleAssign.ToDate = Utility.ToString(ruleGroupToDate); ruleAssign.Person = prs; ruleAssign.RuleCategory = new RuleCategory() { ID = infoProxy.RuleGroupID }; busRule.InsertWithoutTransaction(ruleAssign); #endregion #region add breaked List foreach (Range r in breakedList) { if (r.From == range.To) { r.From = r.From.AddDays(1); } if (r.To == range.From) { r.To = r.To.AddDays(-1); } ruleAssign = new PersonRuleCatAssignment(); ruleAssign.FromDate = Utility.ToString(r.From); ruleAssign.ToDate = Utility.ToString(r.To); ruleAssign.Person = prs; ruleAssign.RuleCategory = new RuleCategory() { ID = r.AditionalField }; busRule.InsertWithoutTransaction(ruleAssign); } #endregion } else { ruleAssign.FromDate = Utility.ToString(ruleGroupFromDate); ruleAssign.ToDate = Utility.ToString(ruleGroupToDate); ruleAssign.Person = prs; ruleAssign.RuleCategory = new RuleCategory() { ID = infoProxy.RuleGroupID }; busRule.InsertWithoutTransaction(ruleAssign); } if (minDate > ruleGroupFromDate) { minDate = ruleGroupFromDate; } } #endregion #region Contract if (infoProxy.ContractID > 0) { cfpUpdateRequierd = true; PersonContractAssignment contractAssign = new PersonContractAssignment(); contractAssign.Person = prs; contractAssign.Contract = new Contract() { ID = infoProxy.ContractID }; contractAssign.FromDate = contractFromDate; contractAssign.ToDate = contractToDate; BPersonContractAssignment contractAsgnBus = new BPersonContractAssignment(); contractAssgnList = contractAsgnBus.GetAll(prs.ID); PersonContractAssignment PersonContractAssignmentAlias = null; Person PersonAlias = null; IList <PersonContractAssignment> personContractAssignmentList = NHSession.QueryOver <PersonContractAssignment>(() => PersonContractAssignmentAlias) .JoinAlias(() => PersonContractAssignmentAlias.Person, () => PersonAlias) .Where(() => !PersonContractAssignmentAlias.IsDeleted && PersonAlias.ID == prs.ID ) .List <PersonContractAssignment>(); if (personContractAssignmentList != null && personContractAssignmentList.Count > 0) { personContractAssignmentList.ToList() .ForEach(x => { if (x.ToDate == Utility.GTSMinStandardDateTime) { x.ToDate = DateTime.MaxValue.Date; } } ); } if (contractAssign.ToDate == Utility.GTSMinStandardDateTime) { contractAssign.ToDate = DateTime.MaxValue.Date; } if (contractAsgnBus.CheckPersonContractAssignmentConfilct(personContractAssignmentList.ToList(), contractAssign)) { errorList.Add(new ChangeInfoErrorProxy() { ErrorMessage = "تاریخ انتساب قرارداد با تاریخ های قبلی همپوشانی دارد", PersonCode = prs.PersonCode, PersonName = prs.Name }); } else { if (prs != null && prs.ID != 0 && contractAssign.FromDate < prs.EmploymentDate) { errorList.Add(new ChangeInfoErrorProxy() { ErrorMessage = "تاریخ انتساب ابتدای قرارداد نباید از تاریخ استخدام کوچکتر باشد", PersonCode = prs.PersonCode, PersonName = prs.Name }); } else { if (contractAssign.ToDate == DateTime.MaxValue.Date) { contractAssign.ToDate = Utility.GTSMinStandardDateTime; } busAssignContract.InsertWithoutTransaction(contractAssign); if (minDate > contractFromDate) { minDate = contractFromDate; } } } } #endregion #region Date Range if (infoProxy.DateRangeID > 0) { cfpUpdateRequierd = true; PersonRangeAssignment prsRangeAssignment = new PersonRangeAssignment(); rangeAssgnList = new BAssignDateRange(BLanguage.CurrentSystemLanguage).GetAll(prs.ID); prsRangeAssignment = rangeAssgnList.Where(x => x.FromDate == DateRangeFromDate).FirstOrDefault(); if (prsRangeAssignment != null) { prsRangeAssignment.FromDate = DateRangeFromDate; prsRangeAssignment.CalcDateRangeGroup = new CalculationRangeGroup() { ID = infoProxy.DateRangeID }; } else { prsRangeAssignment = new PersonRangeAssignment(); prsRangeAssignment.Person = prs; prsRangeAssignment.FromDate = DateRangeFromDate; prsRangeAssignment.CalcDateRangeGroup = new CalculationRangeGroup() { ID = infoProxy.DateRangeID }; } bussDateRange.InsertWithoutTransaction(prsRangeAssignment); if (minDate > DateRangeFromDate) { minDate = DateRangeFromDate; } } #endregion #region Work Group if (infoProxy.WorkGroupID > 0) { cfpUpdateRequierd = true; AssignWorkGroup prsWorkGroupAssignment = new AssignWorkGroup(); workGroupAssgnList = new BAssignWorkGroup(BLanguage.CurrentSystemLanguage).GetAll(prs.ID); prsWorkGroupAssignment = workGroupAssgnList.Where(x => x.FromDate == workGroupFromDate).FirstOrDefault(); if (prsWorkGroupAssignment != null) { prsWorkGroupAssignment.Person = prs; prsWorkGroupAssignment.FromDate = workGroupFromDate; prsWorkGroupAssignment.WorkGroup = new WorkGroup() { ID = infoProxy.WorkGroupID }; } else { prsWorkGroupAssignment = new AssignWorkGroup(); prsWorkGroupAssignment.Person = prs; prsWorkGroupAssignment.FromDate = workGroupFromDate; prsWorkGroupAssignment.WorkGroup = new WorkGroup() { ID = infoProxy.WorkGroupID }; } busWorkGroup.InsertWithoutTransaction(prsWorkGroupAssignment); if (minDate > workGroupFromDate) { minDate = workGroupFromDate; } } #endregion } if (infoProxy.DepartmentID > 0) { IList <decimal> FlowIDs = organizationFeatureList.Select(x => x.FlowId).Distinct().ToList <decimal>(); if (FlowIDs.Count != 0) { IList <UnderManagment> UnderManagmentList = underMngRep.GetAllPersonelparticularFlows(FlowIDs); foreach (decimal flowid in FlowIDs) { IList <decimal> PersonIds = flowPersonList.Where(x => x.FlowId == flowid && !UnderManagmentList.Where(y => y.Flow.ID == flowid).Select(y => y.Person.ID).ToList <decimal>().Contains(x.PersonId) ).Select(x => x.PersonId).ToList <decimal>(); if (PersonIds.Count != 0) { underMngRep.DeleteUnderManagmentPersonsWithOrganicInfo(flowid, PersonIds); } } } IList <decimal> NewDepertmentFlowsList = underMngRep.GetDepartmentFlows(personList[0].Department.ID); if (NewDepertmentFlowsList.Count != 0) { underMngRep.InsertUnderManagmentPersons(personIdList, NewDepertmentFlowsList); } BRequestSubstitute rSubstitute = new BRequestSubstitute(); if (PersonnelsDepartmentChange.Count != 0) { rSubstitute.UpdateRequestSubstituteOfOrganicInfo(PersonnelsDepartmentChange); } } if (cfpUpdateRequierd) { this.UpdateCFP(personList, minDate); } NHibernateSessionManager.Instance.CommitTransactionOn(); } catch (Exception ex) { BaseBusiness <Entity> .LogException(ex, "BChangeOrganicInfo", "ChangeInfo"); NHibernateSessionManager.Instance.RollbackTransactionOn(); throw ex; } } return(true); }
public string[] UpdatePersonnelSingleDateFeature_PersonnelSingleDateFeaturesPage(string caller, string state, string SelectedPersonnelSingleDateFeatureID, string PersonnelID, string SingleDateFeatureID, string SingleDateFeatureName, string FromDate, string PersonnelState) { this.InitializeCulture(); string[] retMessage = new string[5]; Caller PersonnelSingleDateFeatureCaller = (Caller)Enum.Parse(typeof(Caller), this.StringBuilder.CreateString(caller)); decimal PersonnelSingleDateFeatureID = 0; decimal selectedPersonnelSingleDateFeatureID = decimal.Parse(this.StringBuilder.CreateString(SelectedPersonnelSingleDateFeatureID), CultureInfo.InvariantCulture); decimal personnelID = decimal.Parse(this.StringBuilder.CreateString(PersonnelID), CultureInfo.InvariantCulture); decimal singleDateFeatureID = decimal.Parse(this.StringBuilder.CreateString(SingleDateFeatureID), CultureInfo.InvariantCulture); SingleDateFeatureName = this.StringBuilder.CreateString(SingleDateFeatureName); UIActionType personnelState = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(PersonnelState).ToUpper()); FromDate = this.StringBuilder.CreateString(FromDate); string CurrentActiveSingleDateFeatureName = string.Empty; string NoItemSelectedforEditMessage = string.Empty; string NoItemSelectedforDeleteMessage = string.Empty; switch (PersonnelSingleDateFeatureCaller) { case Caller.WorkGroups: NoItemSelectedforEditMessage = this.GetLocalResourceObject("NoWorkGroupPersonnelSingleDateFeatureselectedforEdit").ToString(); NoItemSelectedforDeleteMessage = this.GetLocalResourceObject("NoWorkGroupPersonnelSingleDateFeatureselectedforDelete").ToString(); break; case Caller.CalculationRangesGroups: NoItemSelectedforEditMessage = this.GetLocalResourceObject("NoCalculationRangePersonnelSingleDateFeatureselectedforEdit").ToString(); NoItemSelectedforDeleteMessage = this.GetLocalResourceObject("NoCalculationRangePersonnelSingleDateFeatureselectedforDelete").ToString(); break; } UIActionType uam = UIActionType.ADD; try { AttackDefender.CSRFDefender(this.Page); switch (this.StringBuilder.CreateString(state)) { case "Add": uam = UIActionType.ADD; break; case "Edit": uam = UIActionType.EDIT; if (selectedPersonnelSingleDateFeatureID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(NoItemSelectedforEditMessage), retMessage); return(retMessage); } break; case "Delete": uam = UIActionType.DELETE; if (selectedPersonnelSingleDateFeatureID == 0) { retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(NoItemSelectedforDeleteMessage), retMessage); return(retMessage); } break; default: break; } switch (PersonnelSingleDateFeatureCaller) { case Caller.WorkGroups: AssignWorkGroup personnelWorkGroup = new AssignWorkGroup(); personnelWorkGroup.ID = selectedPersonnelSingleDateFeatureID; personnelWorkGroup.Person = new Person { ID = personnelID }; if (uam != UIActionType.DELETE) { Person person = new Person(); person.ID = personnelID; personnelWorkGroup.Person = person; WorkGroup workGroup = new WorkGroup(); workGroup.ID = singleDateFeatureID; workGroup.Name = SingleDateFeatureName; personnelWorkGroup.WorkGroup = workGroup; personnelWorkGroup.UIFromDate = FromDate; } switch (personnelState) { case UIActionType.ADD: switch (uam) { case UIActionType.ADD: PersonnelSingleDateFeatureID = this.bAssignWorkGroup.InsertAssignWorkGroup_onPersonnelInsert(personnelWorkGroup, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveWorkGroup(personnelID); break; case UIActionType.EDIT: PersonnelSingleDateFeatureID = this.bAssignWorkGroup.UpdateAssignWorkGroup_onPersonnelInsert(personnelWorkGroup, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveWorkGroup(personnelID); break; case UIActionType.DELETE: PersonnelSingleDateFeatureID = this.bAssignWorkGroup.DeleteAssignWorkGroup_onPersonnelInsert(personnelWorkGroup, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveWorkGroup(personnelID); break; } break; case UIActionType.EDIT: switch (uam) { case UIActionType.ADD: PersonnelSingleDateFeatureID = this.bAssignWorkGroup.InsertAssignWorkGroup_onPersonnelUpdate(personnelWorkGroup, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveWorkGroup(personnelID); break; case UIActionType.EDIT: PersonnelSingleDateFeatureID = this.bAssignWorkGroup.UpdateAssignWorkGroup_onPersonnelUpdate(personnelWorkGroup, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveWorkGroup(personnelID); break; case UIActionType.DELETE: PersonnelSingleDateFeatureID = this.bAssignWorkGroup.DeleteAssignWorkGroup_onPersonnelUpdate(personnelWorkGroup, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveWorkGroup(personnelID); break; } break; } // PersonnelSingleDateFeatureID = this.PersonnelWorkGroupBusiness.SaveChanges(personnelWorkGroup, uam); break; case Caller.CalculationRangesGroups: PersonRangeAssignment PersonnelCalculationRange = new PersonRangeAssignment(); PersonnelCalculationRange.ID = selectedPersonnelSingleDateFeatureID; PersonnelCalculationRange.Person = new Person { ID = personnelID }; if (uam != UIActionType.DELETE) { Person person = new Person(); person.ID = personnelID; PersonnelCalculationRange.Person = person; CalculationRangeGroup calculationRangeGroup = new CalculationRangeGroup(); calculationRangeGroup.ID = singleDateFeatureID; calculationRangeGroup.Name = SingleDateFeatureName; PersonnelCalculationRange.CalcDateRangeGroup = calculationRangeGroup; PersonnelCalculationRange.UIFromDate = FromDate; } switch (personnelState) { case UIActionType.ADD: switch (uam) { case UIActionType.ADD: PersonnelSingleDateFeatureID = this.bCalculationRangeBusiness.InsertAssignDateRange_onPersonnelInsert(PersonnelCalculationRange, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); break; case UIActionType.EDIT: PersonnelSingleDateFeatureID = this.bCalculationRangeBusiness.UpdateAssignDateRange_onPersonnelInsert(PersonnelCalculationRange, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); break; case UIActionType.DELETE: PersonnelSingleDateFeatureID = this.bCalculationRangeBusiness.DeleteAssignDateRange_onPersonnelInsert(PersonnelCalculationRange, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); break; } break; case UIActionType.EDIT: switch (uam) { case UIActionType.ADD: PersonnelSingleDateFeatureID = this.bCalculationRangeBusiness.InsertAssignDateRange_onPersonnelUpdate(PersonnelCalculationRange, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); break; case UIActionType.EDIT: PersonnelSingleDateFeatureID = this.bCalculationRangeBusiness.UpdateAssignDateRange_onPersonnelUpdate(PersonnelCalculationRange, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); break; case UIActionType.DELETE: PersonnelSingleDateFeatureID = this.bCalculationRangeBusiness.DeleteAssignDateRange_onPersonnelUpdate(PersonnelCalculationRange, uam); CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); break; } break; } //PersonnelSingleDateFeatureID = this.PersonnelCalculationRangeBusiness.SaveChanges(PersonnelCalculationRange, uam); //CurrentActiveSingleDateFeatureName = this.PersonBusiness.GetCurrentActiveDateRange(personnelID); 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] = PersonnelSingleDateFeatureID.ToString(); retMessage[4] = CurrentActiveSingleDateFeatureName; 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 bool ChangeInfo(IList <Person> personList, OrganicInfoProxy infoProxy, out IList <ChangeInfoErrorProxy> errorList) { IList <PersonRuleCatAssignment> ruleAssgnList = new List <PersonRuleCatAssignment>(); IList <PersonRangeAssignment> rangeAssgnList = new List <PersonRangeAssignment>(); IList <AssignWorkGroup> workGroupAssgnList = new List <AssignWorkGroup>(); #region Validate DateTime workGroupFromDate, ruleGroupFromDate, ruleGroupToDate, DateRangeFromDate; if (BLanguage.CurrentSystemLanguage == LanguagesName.Parsi) { workGroupFromDate = Utility.ToMildiDate(infoProxy.WorkGroupFromDate); ruleGroupFromDate = Utility.ToMildiDate(infoProxy.RuleGroupFromDate); ruleGroupToDate = Utility.ToMildiDate(infoProxy.RuleGroupToDate); DateRangeFromDate = Utility.ToMildiDate(infoProxy.DateRangeFromDate); } else { workGroupFromDate = Utility.ToMildiDateTime(infoProxy.WorkGroupFromDate); ruleGroupFromDate = Utility.ToMildiDateTime(infoProxy.RuleGroupFromDate); ruleGroupToDate = Utility.ToMildiDateTime(infoProxy.RuleGroupToDate); DateRangeFromDate = Utility.ToMildiDateTime(infoProxy.DateRangeFromDate); } errorList = new List <ChangeInfoErrorProxy>(); foreach (Person prs in personList) { string errorMessage = ""; if (infoProxy.WorkGroupID > 0) { workGroupAssgnList = new BAssignWorkGroup(BLanguage.CurrentSystemLanguage).GetAllByWorkGroupId(infoProxy.WorkGroupID); ValidateWorkGroupAssignment(prs, workGroupFromDate, ref errorMessage); } if (infoProxy.RuleGroupID > 0) { ruleAssgnList = new BAssignRule(BLanguage.CurrentSystemLanguage).GetAllByRuleGroupId(infoProxy.RuleGroupID); ValidateRuleGroupAssignment(prs, ruleGroupFromDate, ruleGroupToDate, ref errorMessage); } if (infoProxy.DateRangeID > 0) { rangeAssgnList = new BAssignDateRange(BLanguage.CurrentSystemLanguage).GetAllByRangeId(infoProxy.DateRangeID); ValidateDateRangeAssignment(prs, DateRangeFromDate, ref errorMessage); } if (!Utility.IsEmpty(errorMessage)) { errorList.Add(new ChangeInfoErrorProxy() { ErrorMessage = errorMessage, PersonCode = prs.PersonCode, PersonName = prs.Name }); if (errorList.Count > 50) { break; } } } if (errorList.Count > 0) { return(false); } #endregion using (NHibernateSessionManager.Instance.BeginTransactionOn()) { try { bool cfpUpdateRequierd = false; DateTime minDate = DateTime.Now; int counter = 0; foreach (Person prs in personList) { counter++; bool updatePrs = false; #region Department if (infoProxy.DepartmentID > 0) { prs.Department = new GTS.Clock.Model.Charts.Department() { ID = infoProxy.DepartmentID }; updatePrs = true; } #endregion #region Employment Type if (infoProxy.EmploymentTypeID > 0) { prs.EmploymentType = new GTS.Clock.Model.BaseInformation.EmploymentType() { ID = infoProxy.EmploymentTypeID }; updatePrs = true; } #endregion if (updatePrs) { prsRepository.WithoutTransactUpdate(prs); } #region Rule Category if (infoProxy.RuleGroupID > 0) { cfpUpdateRequierd = true; PersonRuleCatAssignment ruleAssign = new PersonRuleCatAssignment(); BAssignRule ruleAsgnBus = new BAssignRule(); ruleAssgnList = ruleAsgnBus.GetAll(prs.ID); IList <PersonRuleCatAssignment> confilictList = ruleAssgnList.Where(x => ((Utility.ToMildiDateTime(x.FromDate) <= ruleGroupToDate && Utility.ToMildiDateTime(x.ToDate) >= ruleGroupToDate)) || ((Utility.ToMildiDateTime(x.FromDate) <= ruleGroupFromDate && Utility.ToMildiDateTime(x.ToDate) >= ruleGroupFromDate)) || ((Utility.ToMildiDateTime(x.FromDate) >= ruleGroupFromDate && Utility.ToMildiDateTime(x.FromDate) <= ruleGroupToDate)) ).ToList(); if (confilictList != null && confilictList.Count > 0) { Range range = new Range() { From = ruleGroupFromDate, To = ruleGroupToDate, AditionalField = 0 }; var confilictRanges = from o in confilictList select new Range() { From = Utility.ToMildiDateTime(o.FromDate), To = Utility.ToMildiDateTime(o.ToDate), AditionalField = o.RuleCategory.ID }; IList <Range> breakedList = Utility.Differance(confilictRanges.ToList(), range); #region Delete foreach (PersonRuleCatAssignment asgn in ruleAssgnList) { ruleAsgnBus.SaveChanges(asgn, UIActionType.DELETE); } #endregion #region add first ruleAssign.FromDate = Utility.ToString(ruleGroupFromDate); ruleAssign.ToDate = Utility.ToString(ruleGroupToDate); ruleAssign.Person = prs; ruleAssign.RuleCategory = new RuleCategory() { ID = infoProxy.RuleGroupID }; busRule.InsertWithoutTransaction(ruleAssign); #endregion #region add breaked List foreach (Range r in breakedList) { if (r.From == range.To) { r.From = r.From.AddDays(1); } if (r.To == range.From) { r.To = r.To.AddDays(-1); } ruleAssign = new PersonRuleCatAssignment(); ruleAssign.FromDate = Utility.ToString(r.From); ruleAssign.ToDate = Utility.ToString(r.To); ruleAssign.Person = prs; ruleAssign.RuleCategory = new RuleCategory() { ID = r.AditionalField }; busRule.InsertWithoutTransaction(ruleAssign); } #endregion } else { ruleAssign.FromDate = Utility.ToString(ruleGroupFromDate); ruleAssign.ToDate = Utility.ToString(ruleGroupToDate); ruleAssign.Person = prs; ruleAssign.RuleCategory = new RuleCategory() { ID = infoProxy.RuleGroupID }; busRule.InsertWithoutTransaction(ruleAssign); } if (minDate > ruleGroupFromDate) { minDate = ruleGroupFromDate; } } #endregion #region Date Range if (infoProxy.DateRangeID > 0) { cfpUpdateRequierd = true; PersonRangeAssignment prsRangeAssignment = new PersonRangeAssignment(); rangeAssgnList = new BAssignDateRange(BLanguage.CurrentSystemLanguage).GetAll(prs.ID); prsRangeAssignment = rangeAssgnList.Where(x => x.FromDate == DateRangeFromDate).FirstOrDefault(); if (prsRangeAssignment != null) { prsRangeAssignment.FromDate = DateRangeFromDate; prsRangeAssignment.CalcDateRangeGroup = new CalculationRangeGroup() { ID = infoProxy.DateRangeID }; } else { prsRangeAssignment = new PersonRangeAssignment(); prsRangeAssignment.Person = prs; prsRangeAssignment.FromDate = DateRangeFromDate; prsRangeAssignment.CalcDateRangeGroup = new CalculationRangeGroup() { ID = infoProxy.DateRangeID }; } bussDateRange.InsertWithoutTransaction(prsRangeAssignment); if (minDate > DateRangeFromDate) { minDate = DateRangeFromDate; } } #endregion #region Work Group if (infoProxy.WorkGroupID > 0) { cfpUpdateRequierd = true; AssignWorkGroup prsWorkGroupAssignment = new AssignWorkGroup(); workGroupAssgnList = new BAssignWorkGroup(BLanguage.CurrentSystemLanguage).GetAll(prs.ID); prsWorkGroupAssignment = workGroupAssgnList.Where(x => x.FromDate == workGroupFromDate).FirstOrDefault(); if (prsWorkGroupAssignment != null) { prsWorkGroupAssignment.Person = prs; prsWorkGroupAssignment.FromDate = workGroupFromDate; prsWorkGroupAssignment.WorkGroup = new WorkGroup() { ID = infoProxy.WorkGroupID }; } else { prsWorkGroupAssignment = new AssignWorkGroup(); prsWorkGroupAssignment.Person = prs; prsWorkGroupAssignment.FromDate = workGroupFromDate; prsWorkGroupAssignment.WorkGroup = new WorkGroup() { ID = infoProxy.WorkGroupID }; } busWorkGroup.InsertWithoutTransaction(prsWorkGroupAssignment); if (minDate > workGroupFromDate) { minDate = workGroupFromDate; } } #endregion } if (cfpUpdateRequierd) { this.UpdateCFP(personList, minDate); } NHibernateSessionManager.Instance.CommitTransactionOn(); } catch (Exception ex) { BaseBusiness <Entity> .LogException(ex, "BChangeOrganicInfo", "ChangeInfo"); NHibernateSessionManager.Instance.RollbackTransactionOn(); throw ex; } } return(true); }
private Person GetReadyForUpdate(decimal personid, SysLanguageResource sys, LocalLanguageResource local) { try { busPerson = new BPerson(sys, local); if (personid == 0) { person_testObject.ID = busPerson.CreateWorkingPerson2(); ClearSession(); } else { person_testObject.ID = personid; } person_testObject.PersonDetail = new PersonDetail(); #region Assigns BAssignWorkGroup bAssginWorkGroup = new BAssignWorkGroup(SysLanguageResource.Parsi); BWorkgroup workgroup = new BWorkgroup(); decimal wID = workgroup.SaveChanges(new WorkGroup() { Name = "WorkGroupTest3", CustomCode = "0-3" }, UIActionType.ADD); AssignWorkGroup aw = new AssignWorkGroup(); aw.UIFromDate = Utility.ToPersianDate(DateTime.Now); aw.WorkGroup = new WorkGroup() { ID = wID, Name = "WorkGroupTest3" }; aw.Person = new Person() { ID = person_testObject.ID }; bAssginWorkGroup.SaveChanges(aw, UIActionType.ADD); BAssignRule bAssginRule = new BAssignRule(SysLanguageResource.Parsi); BRuleCategory bruleCat = new BRuleCategory(); bruleCat.EnableInsertValidate = false; decimal rID = bruleCat.SaveChanges(new RuleCategory() { Name = "RuleCatTest3", CustomCode = "00-00test2" }, UIActionType.ADD); PersonRuleCatAssignment pa = new PersonRuleCatAssignment(); pa.UIFromDate = Utility.ToPersianDate(new DateTime(2016, 1, 1)); pa.UIToDate = Utility.ToPersianDate(new DateTime(2017, 1, 1)); pa.RuleCategory = new RuleCategory() { ID = rID, Name = "RuleCatTest3" }; pa.Person = new Person() { ID = person_testObject.ID }; bAssginRule.SaveChanges(pa, UIActionType.ADD); BAssignDateRange bDateRange = new BAssignDateRange(SysLanguageResource.Parsi); PersonRangeAssignment rangeAssign = new PersonRangeAssignment(); BDateRange bdate = new BDateRange(); decimal rangeId = bdate.SaveChanges(new CalculationRangeGroup() { Name = "CalcGroup3" }, UIActionType.ADD); ClearSession(); rangeAssign.CalcDateRangeGroup = new CalculationRangeGroup() { ID = rangeId }; if (sys == SysLanguageResource.Parsi) { rangeAssign.UIFromDate = "1390/01/01"; } else { rangeAssign.UIFromDate = "1390/01/01"; //Utility.ToString(Utility.ToMildiDate("1390/01/01")); } rangeAssign.Person = new Person() { ID = person_testObject.ID }; bDateRange.SaveChanges(rangeAssign, UIActionType.ADD); //جهت درج //person_testObject.PersonRangeAssignList = new List<PersonRangeAssignment>(); //person_testObject.PersonRangeAssignList.Add(rangeAssign); #endregion #region Dep DatabaseGatewayTableAdapters.TA_DepartmentTableAdapter departmentTA = new GTSTestUnit.Clock.Business.DatabaseGatewayTableAdapters.TA_DepartmentTableAdapter(); decimal departmentId = Convert.ToDecimal(departmentTA.InsertQuery("Level1", "123", 1, ",1,", "")); DatabaseGatewayTableAdapters.TA_OrganizationUnitTableAdapter organTA = new GTSTestUnit.Clock.Business.DatabaseGatewayTableAdapters.TA_OrganizationUnitTableAdapter(); organTA.InsertQuery("OrganTestLevel1", "0-0Test", null, 1, String.Format(",{0},", 1)); decimal organId = Convert.ToDecimal(organTA.GetDataByCustomCode("0-0Test")[0]["organ_ID"]); DatabaseGatewayTableAdapters.TA_ControlStationTableAdapter sataionTA = new GTSTestUnit.Clock.Business.DatabaseGatewayTableAdapters.TA_ControlStationTableAdapter(); sataionTA.Insert("StationTest1", "0-0Test"); decimal stationId = Convert.ToDecimal(sataionTA.GetDataByCustomCode("0-0Test")[0]["station_ID"]); DatabaseGatewayTableAdapters.TA_EmploymentTypeTableAdapter emplTA = new GTSTestUnit.Clock.Business.DatabaseGatewayTableAdapters.TA_EmploymentTypeTableAdapter(); emplTA.Insert("EmploymentTypeTest1", "0-0Test"); decimal employeeId = Convert.ToDecimal(emplTA.GetDataByCustomCode("0-0Test")[0]["emply_ID"]); #endregion #region UIValidatinGroup DatabaseGatewayTableAdapters.TA_UIValidationGroupTableAdapter validationGroupTA = new GTSTestUnit.Clock.Business.DatabaseGatewayTableAdapters.TA_UIValidationGroupTableAdapter(); UIValidationGroup ADOUIValidationGroupEmpty = new UIValidationGroup(); validationGroupTA.InsertQuery("TestGroup00"); DatabaseGateway.TA_UIValidationGroupDataTable groupTable = validationGroupTA.GetDataByName("TestGroup00"); ADOUIValidationGroupEmpty.ID = (groupTable.Rows[0] as DatabaseGateway.TA_UIValidationGroupRow).UIValGrp_ID; person_testObject.UIValidationGroup = ADOUIValidationGroupEmpty; #endregion person_testObject.FirstName = "Iraj"; person_testObject.LastName = "Bahadori"; person_testObject.PersonDetail.FatherName = "Gholzoom"; person_testObject.PersonDetail.FatherName = "0082111098"; person_testObject.PersonDetail.BirthCertificate = "22777"; person_testObject.PersonDetail.BirthPlace = "Sorhe"; person_testObject.Education = "لیسانس"; person_testObject.PersonDetail.Status = "رو هوا"; person_testObject.PersonDetail.Tel = "23444343"; person_testObject.PersonDetail.Address = ""; person_testObject.PersonCode = "00001222"; person_testObject.CardNum = "4345554"; person_testObject.EmploymentNum = "123A342-ad"; person_testObject.Sex = PersonSex.Male; person_testObject.MaritalStatus = MaritalStatus.Motaleghe; person_testObject.PersonDetail.MilitaryStatus = MilitaryStatus.HeineKhedmat; person_testObject.Department = new global::GTS.Clock.Model.Charts.Department() { ID = departmentId }; person_testObject.OrganizationUnit = new global::GTS.Clock.Model.Charts.OrganizationUnit() { ID = organId, PersonID = person_testObject.ID, Name = "OrganTestLevel1", CustomCode = "0-0", ParentID = 1 }; person_testObject.ControlStation = new global::GTS.Clock.Model.BaseInformation.ControlStation() { ID = stationId }; person_testObject.EmploymentType = new global::GTS.Clock.Model.BaseInformation.EmploymentType() { ID = employeeId }; if (sys == SysLanguageResource.Parsi) { person_testObject.UIEmploymentDate = "1380/05/03"; person_testObject.UIEndEmploymentDate = "1390/05/03"; person_testObject.PersonDetail.UIBirthDate = "1390/05/03"; } else { person_testObject.UIEmploymentDate = Utility.ToString(Utility.ToMildiDate("1380/05/03")); person_testObject.UIEndEmploymentDate = Utility.ToString(Utility.ToMildiDate("1390/05/03")); person_testObject.PersonDetail.UIBirthDate = Utility.ToString(Utility.ToMildiDate("1390/05/03")); } ClearSession(); return(person_testObject); } catch (Exception ex) { throw ex; } }