public override void Save() { if (_employeeweeks != null && _employeeweeks.Count > 0) { //_weekservice.SaveEmployeeWeeks(_employeeweeks); //_dayservice.SaveEmployeeWeeks(_employeeweeks); long[] ids = EmployeeWeekProcessor.GetEmployeeIds(_employeeweeks); SrvEmployeeWeekRecordingList srv_updater_weeks = new SrvEmployeeWeekRecordingList(); DateTime nextWeekMonday = DateTimeHelper.GetNextMonday(BeginDate); srv_updater_weeks.InitList(ids, BeginDate); SrvEmployeesRecordingDayList day_list = new SrvEmployeesRecordingDayList(ids, BeginDate); foreach (EmployeeWeek e_w in _employeeweeks) { //srv_updater_weeks.UpdateSaldoAfterRecording(e_w.EmployeeId, nextWeekMonday, e_w.Saldo); srv_updater_weeks.UpdateEntityAfterRecording(e_w); foreach (EmployeeDay ed in e_w.DaysList) { day_list.CompareAndSave(ed); } } EmployeeRecordingWorkingModelHelper wmhelper = new EmployeeRecordingWorkingModelHelper(_timeservice.EmployeeRecordingWorkingModelService); wmhelper.SaveEmployeeWorkingModel(_employeeweeks); } }
public void ProcessWeeks(List <EmployeePlanningWeek> weeks, long[] ids) { // 1.need load dayinfo for previous and next weeks // 2. load dayinfo from begin of month(month of monday) DateTime beginMonth = new DateTime(CurrentMonday.Year, CurrentMonday.Month, 1); DateTime beginMonthMonday = DateTimeHelper.GetMonday(beginMonth); DateTime beginPrevWeek = CurrentMonday.AddDays(-7); DateTime endNextWeek = CurrentMonday.AddDays(13); DateTime beginDate = (beginMonthMonday < beginPrevWeek) ? beginMonthMonday : beginPrevWeek; SrvEmployeesPlanningDayList cache_planning_days = new SrvEmployeesPlanningDayList(ids, beginDate, endNextWeek); SrvEmployeesRecordingDayList cache_actual_days = new SrvEmployeesRecordingDayList(ids, beginDate, endNextWeek); foreach (EmployeePlanningWeek w in weeks) { ProcessWeek(cache_planning_days.GetList(w.EmployeeId), cache_actual_days.GetList(w.EmployeeId), w); } }
public override void Save() { if (_employeeweeks != null && _employeeweeks.Count > 0) { //_weekservice.SaveEmployeeWeeks(_employeeweeks); //_dayservice.SaveEmployeeWeeks(_employeeweeks); long[] ids = EmployeeWeekProcessor.GetEmployeeIds(_employeeweeks); SrvEmployeeWeekRecordingList srv_updater_weeks = new SrvEmployeeWeekRecordingList(); DateTime nextWeekMonday = DateTimeHelper.GetNextMonday (BeginDate ); srv_updater_weeks.InitList(ids, BeginDate); SrvEmployeesRecordingDayList day_list = new SrvEmployeesRecordingDayList(ids, BeginDate); foreach (EmployeeWeek e_w in _employeeweeks) { //srv_updater_weeks.UpdateSaldoAfterRecording(e_w.EmployeeId, nextWeekMonday, e_w.Saldo); srv_updater_weeks.UpdateEntityAfterRecording(e_w); foreach (EmployeeDay ed in e_w.DaysList) day_list.CompareAndSave(ed); } EmployeeRecordingWorkingModelHelper wmhelper = new EmployeeRecordingWorkingModelHelper(_timeservice.EmployeeRecordingWorkingModelService); wmhelper.SaveEmployeeWorkingModel(_employeeweeks); } }
public void ProcessWeeks(List<EmployeePlanningWeek> weeks, long[] ids) { // 1.need load dayinfo for previous and next weeks // 2. load dayinfo from begin of month(month of monday) DateTime beginMonth = new DateTime(CurrentMonday.Year, CurrentMonday.Month, 1); DateTime beginMonthMonday = DateTimeHelper.GetMonday(beginMonth); DateTime beginPrevWeek = CurrentMonday.AddDays(-7); DateTime endNextWeek = CurrentMonday.AddDays(13); DateTime beginDate = (beginMonthMonday < beginPrevWeek) ? beginMonthMonday : beginPrevWeek; SrvEmployeesPlanningDayList cache_planning_days = new SrvEmployeesPlanningDayList(ids, beginDate, endNextWeek); SrvEmployeesRecordingDayList cache_actual_days = new SrvEmployeesRecordingDayList(ids, beginDate, endNextWeek); foreach (EmployeePlanningWeek w in weeks) { ProcessWeek(cache_planning_days.GetList(w.EmployeeId), cache_actual_days.GetList(w.EmployeeId), w); } }