public T Invoke(ShiftTemplateViewModel viewModel, int restaurantId) { Guard.InstanceNotNull(OnComplete, "OnComplete"); Guard.InstanceNotNull(viewModel, "viewModel"); var saveTemplateResponse = serviceRegistry.ShiftTemplateService.SaveTemplates( new SaveShiftTemplatesRequest { ShiftTemplates = viewModel.ShiftTemplates }); viewModel.Notifications = saveTemplateResponse.NotificationCollection; if (!viewModel.Notifications.HasErrors()) { var loadTemplatesResponse = serviceRegistry.ShiftTemplateService.LoadTemplates( new LoadShiftTemplateByRestaurantIdRequest { RestaurantId = restaurantId }); viewModel.ShiftTemplates = loadTemplatesResponse.ShiftTemplates.ToList(); } var loadTimeSlotsResponse = serviceRegistry.ShiftTimeSlotService.LoadTimeSlots( new LoadTimeSlotCollectionRequest { RestaurantId = restaurantId }); viewModel.TimeSlots = loadTimeSlotsResponse.ShiftTimeslots; viewModel.RestaurantId = restaurantId; return(OnComplete.Invoke(viewModel)); }
public ActionResult SaveShiftTemplate(ShiftTemplateViewModel viewModel) { var action = new SaveShiftTemplateAction <ActionResult>(ServiceRegistry) { OnComplete = (model) => View("ShiftTemplate", model) }; return(action.Invoke(viewModel, ResolveRestaurantId())); }
public T Invoke(int restaurantId) { Guard.InstanceNotNull(OnComplete, "OnComplete"); var viewModel = new ShiftTemplateViewModel(); var shiftTemplateResponse = serviceRegistry.ShiftTemplateService.LoadTemplates( new LoadShiftTemplateByRestaurantIdRequest { RestaurantId = restaurantId }); var shiftTimeSlotResponse = serviceRegistry.ShiftTimeSlotService.LoadTimeSlots( new LoadTimeSlotCollectionRequest { RestaurantId = restaurantId }); viewModel.ShiftTemplates = shiftTemplateResponse.ShiftTemplates.ToList(); viewModel.TimeSlots = shiftTimeSlotResponse.ShiftTimeslots; viewModel.RestaurantId = restaurantId; return(OnComplete.Invoke(viewModel)); }