コード例 #1
0
        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));
        }
コード例 #2
0
        public ActionResult SaveShiftTemplate(ShiftTemplateViewModel viewModel)
        {
            var action = new SaveShiftTemplateAction <ActionResult>(ServiceRegistry)
            {
                OnComplete = (model) => View("ShiftTemplate", model)
            };

            return(action.Invoke(viewModel, ResolveRestaurantId()));
        }
コード例 #3
0
        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));
        }