private Guid CreateClientEmployeePlanActionStructure(Guid employeeId, Guid clientId, bool isPlanValid) { var from = isPlanValid ? DateTime.Today.AddDays(-10) : DateTime.Today.AddDays(5); var plan = new IndividualPlan(); plan.ClientId = clientId; plan.ValidFromDate = from; plan.ValidUntilDate = DateTime.Today.AddDays(10); DataContext.IndividualPlans.Add(plan); var agreedActionTomorrow = new AgreedClientAction(); agreedActionTomorrow.IndividualPlanId = plan.Id; agreedActionTomorrow.EmployeeId = employeeId; agreedActionTomorrow.Day = DateTime.Today.DayOfWeek; agreedActionTomorrow.PlannedStartTime = DateTime.Now.AddHours(1).TimeOfDay; var agreedActionYesterday = new AgreedClientAction(); agreedActionYesterday.IndividualPlanId = plan.Id; agreedActionYesterday.EmployeeId = employeeId; agreedActionYesterday.Day = DateTime.Today.AddDays(-1).DayOfWeek; agreedActionYesterday.PlannedStartTime = DateTime.Now.AddHours(1).TimeOfDay; DataContext.AgreedClientActions.AddRange(new[] { agreedActionTomorrow, agreedActionYesterday }); return(agreedActionTomorrow.Id); }
public void UpdateIndividualPlan(IndividualPlan plan) { var queriedPlan = DataContext.IndividualPlans.Find(plan.Id); queriedPlan.ValidUntilDate = plan.ValidUntilDate; queriedPlan.ValidFromDate = plan.ValidFromDate; queriedPlan.ClientId = plan.ClientId; DataContext.SaveChanges(); }
private IndividualPlan MapUpdateDtoToIndividualPlan(IndividualPlanCreateUpdateDTO dto) { var plan = new IndividualPlan(); if (dto.Id.HasValue) { plan.Id = dto.Id.Value; } plan.ClientId = dto.ClientId; plan.ValidFromDate = dto.ValidFrom; plan.ValidUntilDate = dto.ValidUntil; return(plan); }
// Mappers private IndividualPlanDTO MapIndividualPlanWithActionsToDto(IndividualPlan plan, List <AgreedClientAction> actions) { var actionsForDays = new List <AgreedActionsForDayDTO>(); var actionsGrouped = actions.GroupBy(a => a.Day); foreach (var group in actionsGrouped) { var day = group.Key; var actionsForDay = new AgreedActionsForDayDTO(); actionsForDay.Day = day; var actionsDtos = new List <AgreedActionBasicDTO>(); foreach (var action in group) { var agreedActionDto = new AgreedActionBasicDTO(); agreedActionDto.Id = action.Id; agreedActionDto.EstimatedDurationMinutes = action.EstimatedDurationMinutes; agreedActionDto.ClientActionSpecificDescription = action.ClientActionSpecificDescription; agreedActionDto.PlannedStartTime = DateTime.Today.Add(action.PlannedStartTime); agreedActionDto.PlannedEndTime = DateTime.Today.Add(action.PlannedStartTime.Add(TimeSpan.FromMinutes(action.EstimatedDurationMinutes))); var actionDto = new ActionDTO(); actionDto.Id = action.ActionId; actionDto.GeneralDescription = action.Action.GeneralDescription; actionDto.Name = action.Action.Name; agreedActionDto.Action = actionDto; actionsDtos.Add(agreedActionDto); } actionsDtos = actionsDtos.OrderBy(a => a.PlannedStartTime).ToList(); actionsForDay.AgreedActions = actionsDtos.ToArray(); actionsForDays.Add(actionsForDay); } var planDto = new IndividualPlanDTO(); planDto.Id = plan.Id; planDto.ValidFrom = plan.ValidFromDate; planDto.ValidUntil = plan.ValidUntilDate; planDto.ActionsForDay = actionsForDays.ToArray(); return(planDto); }
private void CreateIndividualPlansWithAgreedClientActions() { var individualPlans = new List <IndividualPlan>(); var agreedClientActions = new List <AgreedClientAction>(); var firstDayOfCurrentYear = new DateTime(DateTime.Today.Year, 1, 1); var lastDayOfCurrentYear = new DateTime(DateTime.Today.Year, 12, 31); var individualPlanClient = new IndividualPlan(); individualPlanClient.ClientId = _clientIds[0]; individualPlanClient.ValidFromDate = firstDayOfCurrentYear; individualPlanClient.ValidUntilDate = lastDayOfCurrentYear; individualPlans.Add(individualPlanClient); var client0Bathing = new AgreedClientAction(); client0Bathing.ActionId = _actionIds[0]; client0Bathing.EstimatedDurationMinutes = 60; client0Bathing.IndividualPlanId = individualPlanClient.Id; client0Bathing.Day = DayOfWeek.Monday; client0Bathing.PlannedStartTime = TimeSpan.FromHours(8); agreedClientActions.Add(client0Bathing); var client0Bathing1 = new AgreedClientAction(); client0Bathing1.ActionId = _actionIds[1]; client0Bathing1.EstimatedDurationMinutes = 60; client0Bathing1.IndividualPlanId = individualPlanClient.Id; client0Bathing1.Day = DayOfWeek.Thursday; client0Bathing1.PlannedStartTime = TimeSpan.FromHours(8); agreedClientActions.Add(client0Bathing1); var client0Cleaning = new AgreedClientAction(); client0Cleaning.ActionId = _actionIds[1]; client0Cleaning.EstimatedDurationMinutes = 30; client0Cleaning.IndividualPlanId = individualPlanClient.Id; client0Cleaning.Day = DayOfWeek.Monday; client0Cleaning.PlannedStartTime = TimeSpan.FromHours(9); agreedClientActions.Add(client0Cleaning); var client0Cleaning1 = new AgreedClientAction(); client0Cleaning1.ActionId = _actionIds[1]; client0Cleaning1.EstimatedDurationMinutes = 30; client0Cleaning1.IndividualPlanId = individualPlanClient.Id; client0Cleaning1.Day = DayOfWeek.Thursday; client0Cleaning1.PlannedStartTime = TimeSpan.FromHours(9); agreedClientActions.Add(client0Cleaning1); var client0GroceryShopping = new AgreedClientAction(); client0GroceryShopping.ActionId = _actionIds[2]; client0GroceryShopping.EstimatedDurationMinutes = 60; client0GroceryShopping.IndividualPlanId = individualPlanClient.Id; client0GroceryShopping.Day = DayOfWeek.Wednesday; client0GroceryShopping.PlannedStartTime = TimeSpan.FromHours(8); agreedClientActions.Add(client0GroceryShopping); var individualPlanClient1 = new IndividualPlan(); individualPlanClient1.ClientId = _clientIds[1]; individualPlanClient1.ValidFromDate = firstDayOfCurrentYear; individualPlanClient1.ValidUntilDate = lastDayOfCurrentYear; individualPlans.Add(individualPlanClient1); var client1GroceryShopping = new AgreedClientAction(); client1GroceryShopping.ActionId = _actionIds[2]; client1GroceryShopping.EstimatedDurationMinutes = 60; client1GroceryShopping.IndividualPlanId = individualPlanClient1.Id; client1GroceryShopping.Day = DayOfWeek.Tuesday; client1GroceryShopping.PlannedStartTime = TimeSpan.FromHours(8); agreedClientActions.Add(client1GroceryShopping); var client1Transportation = new AgreedClientAction(); client1Transportation.ActionId = _actionIds[4]; client1Transportation.EstimatedDurationMinutes = 120; client1Transportation.IndividualPlanId = individualPlanClient1.Id; client1Transportation.Day = DayOfWeek.Tuesday; client1Transportation.PlannedStartTime = TimeSpan.FromHours(9); agreedClientActions.Add(client1Transportation); var client1Errands = new AgreedClientAction(); client1Errands.ActionId = _actionIds[5]; client1Errands.EstimatedDurationMinutes = 60; client1Errands.IndividualPlanId = individualPlanClient1.Id; client1Errands.Day = DayOfWeek.Tuesday; client1Errands.PlannedStartTime = TimeSpan.FromHours(1); agreedClientActions.Add(client1Errands); var individualPlanClient2 = new IndividualPlan(); individualPlanClient2.ClientId = _clientIds[2]; individualPlanClient2.ValidFromDate = firstDayOfCurrentYear; individualPlanClient2.ValidUntilDate = lastDayOfCurrentYear; individualPlans.Add(individualPlanClient2); var client2Cleaning = new AgreedClientAction(); client2Cleaning.ActionId = _actionIds[1]; client2Cleaning.EstimatedDurationMinutes = 30; client2Cleaning.IndividualPlanId = individualPlanClient2.Id; client2Cleaning.Day = DayOfWeek.Monday; client2Cleaning.PlannedStartTime = TimeSpan.FromHours(10); agreedClientActions.Add(client2Cleaning); var client2Cleaning2 = new AgreedClientAction(); client2Cleaning2.ActionId = _actionIds[1]; client2Cleaning2.EstimatedDurationMinutes = 30; client2Cleaning2.IndividualPlanId = individualPlanClient2.Id; client2Cleaning2.Day = DayOfWeek.Wednesday; client2Cleaning2.PlannedStartTime = TimeSpan.FromHours(9).Add(TimeSpan.FromMinutes(30)); agreedClientActions.Add(client2Cleaning2); var individualPlanClient3 = new IndividualPlan(); individualPlanClient3.ClientId = _clientIds[3]; individualPlanClient3.ValidFromDate = firstDayOfCurrentYear; individualPlanClient3.ValidUntilDate = lastDayOfCurrentYear; individualPlans.Add(individualPlanClient3); var client3Errands = new AgreedClientAction(); client3Errands.ActionId = _actionIds[3]; client3Errands.EstimatedDurationMinutes = 120; client3Errands.IndividualPlanId = individualPlanClient3.Id; client3Errands.Day = DayOfWeek.Friday; client3Errands.PlannedStartTime = TimeSpan.FromHours(8); agreedClientActions.Add(client2Cleaning); var client3DrugShopping = new AgreedClientAction(); client3DrugShopping.ActionId = _actionIds[3]; client3DrugShopping.EstimatedDurationMinutes = 60; client3DrugShopping.IndividualPlanId = individualPlanClient3.Id; client3DrugShopping.Day = DayOfWeek.Friday; client3DrugShopping.PlannedStartTime = TimeSpan.FromHours(10); agreedClientActions.Add(client3DrugShopping); var individualPlanClient5 = new IndividualPlan(); individualPlanClient5.ClientId = _clientIds[5]; individualPlanClient5.ValidFromDate = firstDayOfCurrentYear; individualPlanClient5.ValidUntilDate = lastDayOfCurrentYear; individualPlans.Add(individualPlanClient5); var client5Bathing = new AgreedClientAction(); client5Bathing.ActionId = _actionIds[0]; client5Bathing.EstimatedDurationMinutes = 60; client5Bathing.IndividualPlanId = individualPlanClient5.Id; client5Bathing.Day = DayOfWeek.Monday; client5Bathing.PlannedStartTime = TimeSpan.FromHours(11); agreedClientActions.Add(client5Bathing); foreach (var agreedClientAction in agreedClientActions) { agreedClientAction.EmployeeId = _dcEmployeeId; } _dataContext.IndividualPlans.AddRange(individualPlans); _dataContext.AgreedClientActions.AddRange(agreedClientActions); _dataContext.SaveChanges(); }
public void CreateIndividualPlan(IndividualPlan plan) { DataContext.IndividualPlans.Add(plan); DataContext.SaveChanges(); }