private void BuildDiction(List <EmployeeDayStateRecording> list) { _EmployeeToDayState.Clear(); if (list == null || list.Count == 0) { return; } SrvEmployeeRecordingDayList dictionItem = null; foreach (EmployeeDayStateRecording entity in list) { if (!_EmployeeToDayState.TryGetValue(entity.EmployeeID, out dictionItem)) { dictionItem = CreateDictionItem(entity.EmployeeID); } dictionItem.AddEntity(entity); } }
public void CompareAndSave(EmployeeDay day) { if (day == null) { throw new ArgumentNullException(); } SrvEmployeeRecordingDayList list = GetList(day.EmployeeId); if (list == null) { list = CreateDictionItem(day.EmployeeId); } EmployeeDayStateRecording entity = list[day.Date]; if (entity == null) { if (day.IsValidDay) { entity = EmployeeDayProcessor.CreateRecordingEntity(day); UpdateEntity(entity); list.AddEntity(entity); } } else { if (day.IsValidDay) { if (!EmployeeDayProcessor.IsEqual(entity, day)) { EmployeeDayProcessor.AssignToRecording(entity, day); UpdateEntity(entity); } } else { DeleteEntity(entity); } } }