public void FillEmployeeWeeks(List <EmployeeWeek> weeks, DateTime beginDate, DateTime endDate) { if (weeks != null && weeks.Count > 0) { Dictionary <long, EmployeeWeek> _diction = EmployeeWeekProcessor.GetDictionary(weeks); long[] ids = EmployeeWeekProcessor.GetEmployeeIds(weeks); List <EmployeeDayStateRecording> daystates = servicedao.GetEmployeesStates(ids, beginDate, endDate); if (daystates != null) { EmployeeWeek lastWeek = null; EmployeeDay day = null; foreach (EmployeeDayStateRecording edsp in daystates) { if ((lastWeek == null) || (edsp.EmployeeID != lastWeek.EmployeeId)) { lastWeek = null; _diction.TryGetValue(edsp.EmployeeID, out lastWeek); } if (lastWeek != null) { day = lastWeek.GetDay(edsp.Date); if (day != null) { EmployeeDayProcessor.AssignDay(edsp, day); } } } } } }
public void SaveEmployeeDay(EmployeeDay employeeday) { if (employeeday == null) { throw new ArgumentNullException(); } EmployeeDayStateRecording entity = GetEmployeesState(employeeday.EmployeeId, employeeday.Date); bool bNeedSave = EmployeeDayProcessor.IsNeedSave(employeeday); if (bNeedSave) { if (entity == null) { entity = EmployeeDayProcessor.CreateRecordingEntity(employeeday); } else { EmployeeDayProcessor.AssignToRecording(entity, employeeday); } SaveOrUpdate(entity); //employeeday.ID = entity.ID; } else { if (entity != null) { DeleteByID(entity.ID); } } }
public void FillEmployeeWeeks(List <EmployeeWeek> weeks, DateTime beginDate, DateTime endDate, long[] emplIds, Dictionary <long, EmployeeWeek> dictWeek) { if (weeks != null && weeks.Count > 0) { List <EmployeeDayStatePlanning> daystates = GetEmployeesState(emplIds, beginDate, endDate); if (daystates != null) { EmployeeWeek lastWeek = null; EmployeeDay day = null; foreach (EmployeeDayStatePlanning edsp in daystates) { if ((lastWeek == null) || (edsp.EmployeeID != lastWeek.EmployeeId)) { lastWeek = null; dictWeek.TryGetValue(edsp.EmployeeID, out lastWeek); } if (lastWeek != null) { day = lastWeek.GetDay(edsp.Date); if (day != null) { EmployeeDayProcessor.AssignDay(edsp, day); } } } } } }
public List <EmployeeDay> GetEmployeesStateByIds(long[] emplids, DateTime beginDate, DateTime endDate) { List <EmployeeDayStateRecording> states = servicedao.GetEmployeesStates(emplids, beginDate, endDate); if (states != null) { return(EmployeeDayProcessor.ConvertFrom(states)); } return(null); }
public void CompareAndSave(EmployeeDay day) { if (day == null) { throw new ArgumentNullException(); } EmployeePlanningDayList list = GetList(day.EmployeeId); if (list == null) { list = CreateDictionItem(day.EmployeeId); } EmployeeDayStatePlanning entity = list[day.Date]; if (entity == null) { if (day.IsValidDay) { entity = EmployeeDayProcessor.CreatePlanningEntity(day); UpdateEntity(entity); list.AddEntity(entity); } } else { if (day.IsValidDay) { if (!EmployeeDayProcessor.IsEqual(entity, day)) { EmployeeDayProcessor.AssignToPlanning(entity, day); UpdateEntity(entity); } } else { if (entity != null) { DeleteEntity(entity); } } } }
public void SaveEmployeeDay(EmployeeDay planningday) { if (planningday == null) { throw new ArgumentNullException(); } EmployeeDayStatePlanning entity = GetEmployeesState(planningday.EmployeeId, planningday.Date); bool bNeedSave = EmployeeDayProcessor.IsNeedSave(planningday); if (bNeedSave) { bool bModified = false; if (entity == null) { entity = EmployeeDayProcessor.CreatePlanningEntity(planningday); } else { if (!EmployeeDayProcessor.IsEqual(entity, planningday)) { EmployeeDayProcessor.AssignToPlanning(entity, planningday); bModified = true; } } if (entity.IsNew || bModified) { SaveOrUpdate(entity); } //planningday.ID = entity.ID; } else { if (entity != null) { DeleteByID(entity.ID); } } }
public void FillEmployeeWeeks(List <EmployeeWeek> weeks, DateTime beginDate, DateTime endDate) { if (weeks != null && weeks.Count > 0) { List <long> lstIds = new List <long>(weeks.Count); Dictionary <long, EmployeeWeek> _diction = new Dictionary <long, EmployeeWeek>(); foreach (EmployeeWeek epw in weeks) { lstIds.Add(epw.EmployeeId); _diction[epw.EmployeeId] = epw; } long[] ids = lstIds.ToArray(); List <EmployeeDayStatePlanning> daystates = GetEmployeesState(ids, beginDate, endDate); if (daystates != null) { EmployeeWeek lastWeek = null; EmployeeDay day = null; foreach (EmployeeDayStatePlanning edsp in daystates) { if ((lastWeek == null) || (edsp.EmployeeID != lastWeek.EmployeeId)) { lastWeek = null; _diction.TryGetValue(edsp.EmployeeID, out lastWeek); } if (lastWeek != null) { day = lastWeek.GetDay(edsp.Date); if (day != null) { EmployeeDayProcessor.AssignDay(edsp, day); } } } } } }
public List <EmployeeDay> GetEmployeeDayStates(long[] emplids, DateTime beginDate, DateTime endDate) { List <EmployeeDayStateRecording> states = GetEmployeesStates(emplids, beginDate, endDate); return(EmployeeDayProcessor.ConvertFrom(states)); }