/// <summary> /// بروزرسانی نشانه محاسبات /// </summary> /// <param name="personId"></param> /// <param name="cfpDate"></param> protected void UpdateCFP(decimal personId, DateTime cfpDate) { using (NHibernateSessionManager.Instance.BeginTransactionOn()) { try { string className = Utility.CallerCalassName; LogUserAction(String.Format("CFP {0} Prs:{1} cls:{2} ", Utility.ToPersianDate(cfpDate), personId, className)); CFP cfp = cfpRepository.GetByPersonID(personId); if (cfp != null && cfp.ID > 0) { if (cfp.Date.Date >= cfpDate.Date) { cfp.Date = cfpDate.Date; cfp.CalculationIsValid = false; cfpRepository.WithoutTransactUpdate(cfp); } } else { cfpRepository.InsertCFP(personId, cfpDate.Date); } PermitRepository permitRep = new PermitRepository(); permitRep.InvalidateTrafficCalculation(personId, cfpDate); NHibernateSessionManager.Instance.CommitTransactionOn(); } catch (Exception ex) { NHibernateSessionManager.Instance.RollbackTransactionOn(); throw ex; } } }
/// <summary> /// برای تمامی پرسنل /// </summary> /// <param name="obj"></param> /// <param name="action"></param> protected void UpdateCFPByCalendar1(decimal calendarTypeId, int year, IList <DateTime> oldCalDateList, IList <CalendarCellInfo> calendars) { DateTime firstDate = this.GetFirstDateDiffrence(year, oldCalDateList, calendars, calendarTypeId).Date; PersonRepository prsRep = new PersonRepository(false); IList <decimal> prsIds = prsRep.GetAllActivePersonIds(); if (InTestCasePersonContext != null && InTestCasePersonContext.Count > 0) { prsIds = InTestCasePersonContext; } DateTime newCfpDate = firstDate; foreach (decimal prsId in prsIds) { CFP cfp = base.GetCFP(prsId); if (cfp.ID == 0 || cfp.Date > newCfpDate) { DateTime calculationLockDate = base.UIValidator.GetCalculationLockDate(prsId); //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } base.UpdateCFP(prsId, newCfpDate); } } }
protected void UpdateCFP1(CalculationRangeGroup obj, UIActionType action) { if (action == UIActionType.EDIT) { NHibernateSessionManager.Instance.ClearSession(); CalculationRangeGroup dateRangeGroup = base.GetByID(obj.ID); if (dateRangeGroup.PersonRangeAssignmentList != null) { foreach (PersonRangeAssignment assign in dateRangeGroup.PersonRangeAssignmentList) { decimal personId = assign.Person.ID; CFP cfp = base.GetCFP(personId); DateTime newCfpDate = assign.FromDate; if (cfp.ID == 0 || cfp.Date > newCfpDate) { DateTime calculationLockDate = base.UIValidator.GetCalculationLockDate(personId); //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } base.UpdateCFP(personId, newCfpDate); } } } } }
/// <summary> /// بروزرسانی نشانه تغییرات برای پرسنلی که به گروه قانون این سهمیه مرخصی منتسب می باشند /// </summary> /// <param name="obj">سهمیه مرخصی</param> /// <param name="action">نوع عملیات</param> protected void UpdateCFP1(Budget obj, UIActionType action) { if (action == UIActionType.ADD) { RuleCategory ruleCat = new BRuleCategory().GetByID(obj.RuleCategory.ID); foreach (PersonRuleCatAssignment assgn in ruleCat.PersonRuleCatAssignList) { decimal personId = assgn.Person.ID; CFP cfp = base.GetCFP(personId); DateTime newCfpDate = obj.Date; if (cfp.ID == 0 || cfp.Date > newCfpDate) { DateTime calculationLockDate = base.UIValidator.GetCalculationLockDate(personId); //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } base.UpdateCFP(personId, newCfpDate); } } } }
public void UpdateCFP(IList <Person> personList, DateTime newCfpDate, bool invalidateTraffic) { try { IList <CFP> cfpList = new List <CFP>(); foreach (Person prs in personList) { decimal personId = prs.ID; CFP cfp = base.GetCFP(personId); if (cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = personId; cfpList.Add(cfp); } else if (invalidateTraffic) { cfpList.Add(cfp); } } base.UpdateCFP(cfpList, invalidateTraffic); } catch (Exception ex) { LogException(ex); } }
/// <summary> /// بروزرسانی نشانه تغییرات /// </summary> /// <param name="obj"></param> private void InsertCFP(decimal personId, DateTime date) { CFP cfp = new CFP(); cfp.PrsId = personId; cfp.Date = date; cfp.CalculationIsValid = false; cfpRepository.Save(cfp); }
public void PutCfp(string id, CFP cfp) { var mongoCFP = new MongoCFP { id = cfp.id, status = cfp.status }; cfpCollection.PutCFP(id, mongoCFP); }
protected CFP GetCFP(decimal personId) { CFP cfp = cfpRepository.GetByPersonID(personId); if (cfp != null && cfp.ID > 0) { return(cfp); } return(new CFP()); }
protected void UpdateCFPByCalendar(decimal calendarTypeId, int year, IList <DateTime> oldCalDateList, IList <CalendarCellInfo> calendars) { DateTime firstDate = this.GetFirstDateDiffrence(year, oldCalDateList, calendars, calendarTypeId).Date; PersonRepository prsRep = new PersonRepository(false); IList <decimal> prsIds = prsRep.GetAllActivePersonIds(); if (InTestCasePersonContext != null && InTestCasePersonContext.Count > 0) { prsIds = InTestCasePersonContext; } IList <CFP> cfpList = new List <CFP>(); Dictionary <decimal, DateTime> lockDates = new Dictionary <decimal, DateTime>(); foreach (decimal prsId in prsIds) { DateTime calculationLockDate = DateTime.Now; decimal personId = prsId; Person prs = prsRep.GetById(personId, false); if (prs.PersonTASpec.UIValidationGroup != null) { decimal uiValidateionGrpId = prs.PersonTASpec.UIValidationGroup.ID; if (!lockDates.ContainsKey(uiValidateionGrpId)) { calculationLockDate = base.UIValidator.GetCalculationLockDateByGroup(prs.PersonTASpec.UIValidationGroup.ID); lockDates.Add(uiValidateionGrpId, calculationLockDate); } else { calculationLockDate = lockDates[uiValidateionGrpId]; } } CFP cfp = base.GetCFP(personId); DateTime newCfpDate = firstDate; //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } if (cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = personId; cfpList.Add(cfp); } } base.UpdateCFP(cfpList, false); }
protected override void UpdateCFP(CalculationRangeGroup obj, UIActionType action) { if (action == UIActionType.EDIT) { IList <CFP> cfpList = new List <CFP>(); Dictionary <decimal, DateTime> lockDates = new Dictionary <decimal, DateTime>(); NHibernateSessionManager.Instance.ClearSession(); CalculationRangeGroup dateRangeGroup = base.GetByID(obj.ID); if (dateRangeGroup.PersonRangeAssignmentList != null) { foreach (PersonRangeAssignment assign in dateRangeGroup.PersonRangeAssignmentList) { DateTime calculationLockDate = DateTime.Now; decimal personId = assign.Person.ID; if (assign.Person.PersonTASpec.UIValidationGroup != null) { decimal uiValidateionGrpId = assign.Person.PersonTASpec.UIValidationGroup.ID; if (!lockDates.ContainsKey(uiValidateionGrpId)) { calculationLockDate = base.UIValidator.GetCalculationLockDateByGroup(assign.Person.PersonTASpec.UIValidationGroup.ID); lockDates.Add(uiValidateionGrpId, calculationLockDate); } else { calculationLockDate = lockDates[uiValidateionGrpId]; } } CFP cfp = base.GetCFP(personId); DateTime newCfpDate = assign.FromDate; //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } if (cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = personId; cfpList.Add(cfp); } } base.UpdateCFP(cfpList, false); } } }
protected override void UpdateCFP(RuleCategory obj, UIActionType action) { if (action == UIActionType.EDIT) { IList <CFP> cfpList = new List <CFP>(); Dictionary <decimal, DateTime> lockDates = new Dictionary <decimal, DateTime>(); IList <CFP> personCfpList = new CFPRepository().GetCFPListByRuleCategory(obj.ID); foreach (PersonRuleCatAssignment assgn in obj.PersonRuleCatAssignList) { DateTime calculationLockDate = DateTime.Now; decimal personId = assgn.Person.ID; if (assgn.Person.PersonTASpec.UIValidationGroup != null) { decimal uiValidateionGrpId = assgn.Person.PersonTASpec.UIValidationGroup.ID; if (!lockDates.ContainsKey(uiValidateionGrpId)) { calculationLockDate = base.UIValidator.GetCalculationLockDateByGroup(assgn.Person.PersonTASpec.UIValidationGroup.ID); lockDates.Add(uiValidateionGrpId, calculationLockDate); } else { calculationLockDate = lockDates[uiValidateionGrpId]; } } //CFP cfp = base.GetCFP(personId); CFP cfp = personCfpList.Where(x => x.PrsId == personId).FirstOrDefault(); DateTime newCfpDate = Utility.ToMildiDateTime(assgn.FromDate); // DateTime calculationLockDate = base.UIValidator.GetCalculationLockDate(personId); //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } if (cfp == null || cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = personId; cfpList.Add(cfp); } //base.UpdateCFP(personId, newCfpDate); } base.UpdateCFP(cfpList, false); } }
protected override void UpdateCFP(AssignRuleParameter obj, UIActionType action) { if (action != UIActionType.ADD) { IList <CFP> cfpList = new List <CFP>(); Dictionary <decimal, DateTime> lockDates = new Dictionary <decimal, DateTime>(); foreach (PersonRuleCatAssignment assgn in obj.Rule.Category.PersonRuleCatAssignList) { DateTime calculationLockDate = DateTime.Now; decimal personId = assgn.Person.ID; if (assgn.Person.PersonTASpec.UIValidationGroup != null) { decimal uiValidateionGrpId = assgn.Person.PersonTASpec.UIValidationGroup.ID; if (!lockDates.ContainsKey(uiValidateionGrpId)) { calculationLockDate = base.UIValidator.GetCalculationLockDateByGroup(assgn.Person.PersonTASpec.UIValidationGroup.ID); lockDates.Add(uiValidateionGrpId, calculationLockDate); } else { calculationLockDate = lockDates[uiValidateionGrpId]; } } CFP cfp = base.GetCFP(personId); DateTime newCfpDate = Utility.ToMildiDateTime(assgn.FromDate); //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } if (cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = personId; cfpList.Add(cfp); } } base.UpdateCFP(cfpList, false); } }
public void UpdateCFPByWorkGroupId(decimal workGroupId, DateTime minChangeDate) { IList <CFP> cfpList = new List <CFP>(); Dictionary <decimal, DateTime> lockDates = new Dictionary <decimal, DateTime>(); WorkGroupRepository workGroupRep = new WorkGroupRepository(false); WorkGroup wg = workGroupRep.GetById(workGroupId, false); foreach (AssignWorkGroup assign in wg.AssignWorkGroupList) { DateTime calculationLockDate = DateTime.Now; decimal personId = assign.Person.ID; if (assign.Person.PersonTASpec.UIValidationGroup != null) { decimal uiValidateionGrpId = assign.Person.PersonTASpec.UIValidationGroup.ID; if (!lockDates.ContainsKey(uiValidateionGrpId)) { calculationLockDate = base.UIValidator.GetCalculationLockDateByGroup(assign.Person.PersonTASpec.UIValidationGroup.ID); lockDates.Add(uiValidateionGrpId, calculationLockDate); } else { calculationLockDate = lockDates[uiValidateionGrpId]; } } CFP cfp = base.GetCFP(personId); DateTime newCfpDate = assign.FromDate; //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } if (cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = personId; cfpList.Add(cfp); } } base.UpdateCFP(cfpList, false); }
protected override void UpdateCFP(PersonRuleCatAssignment obj, UIActionType action) { if (action == UIActionType.ADD || action == UIActionType.EDIT) { decimal personId = obj.Person.ID; CFP cfp = base.GetCFP(personId); DateTime newCfpDate = Utility.ToMildiDateTime(obj.FromDate); if (cfp.ID == 0 || cfp.Date > newCfpDate) { DateTime calculationLockDate = base.UIValidator.GetCalculationLockDate(personId); //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } base.UpdateCFP(personId, newCfpDate); } } }
private void UpdateCFP(IList <Person> personList, DateTime minChangeDate) { BusinessEntity baseBus = new BusinessEntity(); IList <CFP> cfpList = new List <CFP>(); Dictionary <decimal, DateTime> lockDates = new Dictionary <decimal, DateTime>(); foreach (Person prs in personList) { DateTime calculationLockDate = DateTime.Now; if (prs.PersonTASpec.UIValidationGroup != null) { decimal uiValidateionGrpId = prs.PersonTASpec.UIValidationGroup.ID; if (!lockDates.ContainsKey(uiValidateionGrpId)) { calculationLockDate = baseBus.UIValidator.GetCalculationLockDateByGroup(prs.PersonTASpec.UIValidationGroup.ID); lockDates.Add(uiValidateionGrpId, calculationLockDate); } else { calculationLockDate = lockDates[uiValidateionGrpId]; } } CFP cfp = baseBus.GetCFP(prs.ID); DateTime newCfpDate = minChangeDate; //بسته بودن محاسبات if (calculationLockDate > Utility.GTSMinStandardDateTime && calculationLockDate > newCfpDate) { newCfpDate = calculationLockDate.AddDays(1); } if (cfp.ID == 0 || cfp.Date > newCfpDate) { cfp.Date = newCfpDate.Date; cfp.PrsId = prs.ID; cfpList.Add(cfp); } } baseBus.UpdateCFP(cfpList, false); }
public void Put(string id, [FromBody] CFP value) { cfpDomain.PutCfp(id, value); }
/// <summary> /// بروزرسانی نشانه محاسبات /// </summary> /// <param name="personId"></param> /// <param name="newCfpDate"></param> protected void UpdateCFP(decimal personId, DateTime newCfpDate, bool isForce = false) { using (NHibernateSessionManager.Instance.BeginTransactionOn()) { try { IList <decimal> prsIds = new List <decimal>(); prsIds.Add(personId); IList <decimal> UiValidationGroupIdList = uivalidationGroupingRepository.GetUivalidationIdList(prsIds); DateTime calculationLockDate = Utility.GTSMinStandardDateTime; if (UiValidationGroupIdList.Count > 0) { calculationLockDate = base.UIValidator.GetCalculationLockDateByGroup(UiValidationGroupIdList.FirstOrDefault()); } string className = Utility.CallerCalassName; CFP cfp = cfpRepository.GetByPersonID(personId); DateTime finalCfpDate = Utility.GTSMinStandardDateTime; if (cfp != null && cfp.ID > 0) { if (UiValidationGroupIdList.Count > 0) { if (cfp.Date <= newCfpDate || cfp.Date < calculationLockDate) { finalCfpDate = cfp.Date; } else if (calculationLockDate <= cfp.Date && calculationLockDate >= newCfpDate) { if (!isForce) { finalCfpDate = calculationLockDate.AddDays(1); } else { finalCfpDate = newCfpDate; } } else if (newCfpDate > calculationLockDate && newCfpDate < cfp.Date) { finalCfpDate = newCfpDate; } } else { finalCfpDate = newCfpDate; } //if (UiValidationGroupIdList.Count > 0) //{ // if(calculationLockDate >= newCfpDate || calculationLockDate >= cfp.Date) // { // finalCfpDate = calculationLockDate.AddDays(1); // } // else if (cfp.Date > calculationLockDate && cfp.Date <= newCfpDate) // { // finalCfpDate = cfp.Date; // } // else if (newCfpDate > calculationLockDate && newCfpDate <= cfp.Date) // { // finalCfpDate = newCfpDate; // } //} //else //{ // finalCfpDate = newCfpDate; //} LogUserAction(String.Format("CFP {0} Prs:{1} cls:{2} ", Utility.ToPersianDate(finalCfpDate), personId, className)); cfp.Date = finalCfpDate.Date; cfp.CalculationIsValid = false; cfpRepository.WithoutTransactUpdate(cfp); } else { cfpRepository.InsertCFP(personId, finalCfpDate); } //LogUserAction(String.Format("Before InvalidateTrafficCalculation CFP {0} Prs:{1} cls:{2} ", Utility.ToPersianDate(cfpDate), personId, className)); //PermitRepository permitRep = new PermitRepository(); //permitRep.InvalidateTrafficCalculation(personId, cfpDate); NHibernateSessionManager.Instance.CommitTransactionOn(); //LogUserAction(String.Format("After InvalidateTrafficCalculation CFP {0} Prs:{1} cls:{2} ", Utility.ToPersianDate(cfpDate), personId, className)); } catch (Exception ex) { NHibernateSessionManager.Instance.RollbackTransactionOn(); LogException(ex); throw ex; } } }