public void LoadEmployeePlanningAndRecording(StoreToWorld world) { _currentWorldID = 0; if (world != null) { _currentWorldID = world.WorldID; List<EmployeeWeek> planningWeeks = ClientEnvironment.EmployeeService.GetTimePlannignEmployeeByWorld2(StoreId, _currentWorldID, BeginWeekDate, EndWeekDate); Absences.FillEmployeeWeek(planningWeeks); _planningWorldState = new StoreWorldWeekState(world, BeginWeekDate, EndWeekDate); EmployeeWeekProcessor.MarkAsPlannedWeek(planningWeeks); if(planningWeeks != null) { _planningWorldState.List.AddRange(planningWeeks); foreach (EmployeeWeek ew in planningWeeks) ew.InitWeekState(); } _planningWorldState.Context = this; _planningWorldState.Calculate(); planningWeeks = ClientEnvironment.EmployeeService.GetTimeRecordingEmployeeByWorld(StoreId, _currentWorldID, BeginWeekDate, EndWeekDate); Absences.FillEmployeeWeek(planningWeeks); _actualWorldState = new StoreWorldWeekState(world, BeginWeekDate, EndWeekDate); EmployeeWeekProcessor.MarkAsRecordingWeek(planningWeeks); if(planningWeeks != null) { _actualWorldState.List.AddRange(planningWeeks); foreach (EmployeeWeek ew in planningWeeks) ew.InitWeekState(); } _actualWorldState.Context = this; _actualWorldState.Calculate(); } }