예제 #1
0
        public async Task <IActionResult> Create()
        {
            try
            {
                DishEditDTO dishEditDTO = await _dishService.GetCreateDishEditDTOAsync();

                DishEditViewModel dishEditViewModel = new DishEditViewModel()
                {
                    DishGroups = dishEditDTO.DishGroups
                                 .Select(x => new SelectListItem()
                    {
                        Text  = x.Text,
                        Value = x.Value
                    }).ToList()
                };

                return(View(dishEditViewModel));
            }
            catch (Exception)
            {
                //logging
            }

            return(ErrorView());
        }
예제 #2
0
        public async Task <IActionResult> Edit(DishEditViewModel dishEditViewModel, IFormFile uploadedImage)
        {
            try
            {
                DishEditDTO dishEditDTO = new DishEditDTO()
                {
                    Id          = dishEditViewModel.Id,
                    Name        = dishEditViewModel.Name,
                    Description = dishEditViewModel.Description,
                    Weight      = dishEditViewModel.Weight,
                    Price       = dishEditViewModel.Price,
                    DishGroupId = dishEditViewModel.DishGroupId,
                    ImageURL    = await SaveDishImageAsync(uploadedImage, dishEditViewModel.Id)
                };

                bool response = await _dishService.EditDishAsync(dishEditDTO, _hostingEnvironment.WebRootPath);

                if (response)
                {
                    return(RedirectToAction("Info", new { id = dishEditDTO.Id }));
                }
            }
            catch (Exception ex)
            {
                //logging
            }

            return(ErrorView());
        }
예제 #3
0
        public async Task <IActionResult> Edit(int id)
        {
            try
            {
                DishEditDTO dishEditDTO = await _dishService.GetDishByIdForEditAsync(id);

                if (dishEditDTO != null)
                {
                    DishEditViewModel dishEditViewModel = new DishEditViewModel()
                    {
                        Name        = dishEditDTO.Name,
                        Description = dishEditDTO.Description,
                        Weight      = dishEditDTO.Weight,
                        Price       = dishEditDTO.Price,
                        DishGroupId = dishEditDTO.DishGroupId,
                        ImageURL    = dishEditDTO.ImageURL,
                        DishGroups  = dishEditDTO.DishGroups
                                      .Select(x => new SelectListItem()
                        {
                            Text  = x.Text,
                            Value = x.Value
                        }).ToList()
                    };

                    return(View(dishEditViewModel));
                }
            }
            catch (Exception)
            {
                //logging
            }

            return(ErrorView());
        }
예제 #4
0
        public async Task <IActionResult> Create(DishEditViewModel dishEditViewModel, IFormFile uploadedImage)
        {
            try
            {
                DishEditDTO dishEditDTO = new DishEditDTO()
                {
                    Name        = dishEditViewModel.Name,
                    Description = dishEditViewModel.Description,
                    Weight      = dishEditViewModel.Weight,
                    Price       = dishEditViewModel.Price,
                    DishGroupId = dishEditViewModel.DishGroupId,
                    ImageURL    = "/images/No_Image_Available.jpg"
                };

                bool response = await _dishService.CreateNewDishAsync(dishEditDTO);

                if (response)
                {
                    dishEditDTO.ImageURL = await SaveDishImageAsync(uploadedImage, dishEditDTO.Id);

                    bool responseImg = await _dishService.EditDishImageAsync(dishEditDTO);

                    if (responseImg)
                    {
                        return(RedirectToAction("Info", new { id = dishEditDTO.Id }));
                    }
                }
            }
            catch (Exception ex)
            {
                //logging
            }

            return(ErrorView());
        }
예제 #5
0
        public UIElement GetEditView(IIngredientSubject subject, DishEditDTO dishEditDTO)
        {
            IngredientListViewModel ingredientListViewModel = new IngredientListViewModel(factory, subject);
            RecipeAddViewModel      recipeAddViewModel      = new RecipeAddViewModel(factory, this, ingredientListViewModel);

            recipeAddViewModel.MustSelectDish = false;

            DishEditViewModel viewModel = new DishEditViewModel(dishEditDTO, recipeAddViewModel);
            DishEditView      view      = new DishEditView(viewModel);

            viewModel.DishSaveRequest += (s, e) =>
            {
                using (IDishController controller = factory.CreateDishController())
                {
                    ControllerMessage controllerMessage = controller.Update(e.Data);
                    if (controllerMessage.IsSuccess)
                    {
                        Notify();
                    }
                    else
                    {
                        MessageBox.Show(controllerMessage.Message);
                    }
                }
            };
            viewModel.DishSaveRecipesRequest += (s, e) =>
            {
                using (IDishController controller = factory.CreateDishController())
                {
                    ControllerMessage controllerMessage = controller.UpdateRecipes(e.Data);
                    if (controllerMessage.IsSuccess)
                    {
                        Notify();
                    }
                    else
                    {
                        MessageBox.Show(controllerMessage.Message);
                    }
                }
            };
            viewModel.DishDeleteRequest += (s, e) =>
            {
                using (IDishController controller = factory.CreateDishController())
                {
                    ControllerMessage controllerMessage = controller.Delete(e.Data.OldName);
                    if (controllerMessage.IsSuccess)
                    {
                        Notify();
                        RaiseDishDeletedEvent(e.Data.OldName);
                    }
                    else
                    {
                        MessageBox.Show(controllerMessage.Message);
                    }
                }
            };

            return(view);
        }
예제 #6
0
        /// <summary>
        /// Cosntructor for DishEditPage; initializes properties
        /// </summary>
        /// <param name="UserDays"></param>
        /// <param name="SelectedDay"></param>
        /// <param name="SelectedMeal"></param>
        /// <param name="SelectedDish"></param>
        /// <param name="IsFromDB"></param>
        /// <param name="DishDB"></param>
        public DishEditPage(Dictionary <string, object> UserData, bool IsFromDB = false)
        {
            // initialize properties
            this.UserData = UserData;
            this.IsFromDB = IsFromDB;

            // call InitializeComponent() and assign BindingContext
            InitializeComponent();
            BindingContext = ViewModel = new DishEditViewModel(UserData, IsFromDB);
        }
예제 #7
0
        private void Edit(DishEditDTO dishEditDTO, IIngredientSubject subject)
        {
            IngredientListViewModel ingredientListViewModel = new IngredientListViewModel(factory, subject);
            RecipeAddViewModel      recipeAddViewModel      = new RecipeAddViewModel(factory, this, ingredientListViewModel);

            recipeAddViewModel.MustSelectDish = false;

            DishEditViewModel viewModel = new DishEditViewModel(dishEditDTO, recipeAddViewModel);
            DishEditView      view      = new DishEditView(viewModel);
            Window            window    = WindowFactory.CreateByContentsSize(view);

            window.MinWidth = view.MinWidth;

            viewModel.DishSaveRequest += (s, e) =>
            {
                using (IDishController controller = factory.CreateDishController())
                {
                    ControllerMessage controllerMessage = controller.Update(e.Data);
                    if (controllerMessage.IsSuccess)
                    {
                        Notify();
                    }
                    else
                    {
                        MessageBox.Show(controllerMessage.Message);
                    }
                }
            };
            viewModel.DishSaveRecipesRequest += (s, e) =>
            {
                using (IDishController controller = factory.CreateDishController())
                {
                    ControllerMessage controllerMessage = controller.UpdateRecipes(e.Data);
                    if (controllerMessage.IsSuccess)
                    {
                        Notify();
                    }
                    else
                    {
                        MessageBox.Show(controllerMessage.Message);
                    }
                }
            };

            window.Show();
        }
예제 #8
0
        public ActionResult Edit(DishEditViewModel model)
        {
            var result = new ResultApi <DishEditViewModel>();

            try
            {
                var dish = _dishAppService.GetById(model.DishId);

                dish
                .ChangeName(model.Name)
                .ChangePrice(model.Price)
                .ChangeRestaurant(model.RestaurantId);

                _dishAppService.Update(dish);
            }
            catch (Exception e)
            {
                result.Sucesso  = false;
                result.Mensagem = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
 public DishEditView(DishEditViewModel viewModel)
 {
     InitializeComponent();
     this.DataContext = viewModel;
 }