示例#1
0
        public void UpdateDrink(DrinkDto drinkDto)
        {
            var drink = drinkRepository.GetBy(drinkDto.Id);

            drinkDto.MappingDrink(drink);
            drinkRepository.Update(drink);
        }
示例#2
0
        public ActionResult Edit(DrinkViewModel drinkViewModel)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie.";
                return(View("Index"));
            }
            var drink = _repository.Get(drinkViewModel.ID);

            if (drink == null)
            {
                return(HttpNotFound());
            }
            var result = _mapper.Map <DrinkViewModel, Drink>(drinkViewModel, drink);

            _repository.Update(result);
            _repository.Save();
            return(RedirectToAction("Index"));
        }
        public IActionResult Update(int Id, [FromBody] DrinkDto drinkDto)
        {
            var drink = _mapper.Map <Drink>(drinkDto);

            if (ModelState.IsValid)
            {
                try
                {
                    // save
                    _drinkRepository.Update(drink);
                    return(Ok());
                }
                catch (AppException ex)
                {
                    // return error message if there was an exception
                    return(BadRequest(ex.Message));
                }
            }
            return(BadRequest(ModelState));
        }
示例#4
0
        public IActionResult Update(Drink drink)
        {
            if (drink.Id == 0)
            {
                return(BadRequest(ModelState));
            }
            if (!_drinkRepository.Exists(c => c.Id == drink.Id))
            {
                ModelState.AddModelError("", "drink doesn't exist in the database");
                return(StatusCode(500, ModelState));
            }

            _drinkRepository.Update(drink);
            if (_drinkRepository.Save() > 0)
            {
                return(NoContent());
            }
            else
            {
                ModelState.AddModelError("", "Something went wrong updating the drink");
                return(StatusCode(500, ModelState));
            }
        }
示例#5
0
 public Drink Update(Drink drink)
 {
     return(_repository.Update(drink));
 }
示例#6
0
 public void Update(int id, Drink drink)
 {
     _drinkRepository.Update(id, drink);
 }
        public async Task <IActionResult> Create(IFormCollection data, string?id)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            Task.Run(() =>
                     _apiService.CreateUserActivity(PerformedAction.EditOrCreateDrink, this.User.Identity.Name, id,
                                                    data["Name"]));
            var ingredients = new List <Ingredient>();

            // create ingredient objects from the from data
            foreach (var key in data.Keys)
            {
                if (key.Contains("Ingredient"))
                {
                    ingredients.Add(new Ingredient
                    {
                        Name   = data[key],
                        Amount = data["Amount" + key.Split("Ingredient")[1]]
                    });
                }
            }

            // image placeholder
            var imageUrl = "https://medifactia.com/wp-content/uploads/2018/01/placeholder.png";

            // if image data exists replace placeholder
            if (data.ContainsKey("ImageUrl") && string.IsNullOrWhiteSpace(data["ImageUrl"]) == false)
            {
                imageUrl = data["ImageUrl"];
            }

            // id that we will use for the redirect
            string redirectId;

            if (id != null)
            {
                // ID is not null, we edit
                var drinkToUpdate = await _drinkRepository.GetDrinkById(id);


                if (drinkToUpdate == null)
                {
                    // something went wrong redirect to drinks index
                    TempData["Alert"]      = _localizer["DrinkNotFound"] + ".";
                    TempData["AlertClass"] = "alert-danger";

                    return(RedirectToAction(nameof(Index)));
                }

                drinkToUpdate.Ingredients   = ingredients;
                drinkToUpdate.GlassType     = data["GlassType"];
                drinkToUpdate.Category      = data["Category"];
                drinkToUpdate.AlcoholicInfo = data["AlcoholicInfo"];
                drinkToUpdate.Instructions  = data["Instructions"];
                drinkToUpdate.Name          = data["Name"];
                drinkToUpdate.ImageUrl      = imageUrl;
                _drinkRepository.Update(drinkToUpdate);
                redirectId = id;
            }
            else
            {
                // id was null, we create a new drink
                var newDrink = new Drink
                {
                    DrinkId       = Guid.NewGuid().ToString(),
                    Ingredients   = ingredients,
                    GlassType     = data["GlassType"],
                    ImageUrl      = imageUrl,
                    DrinkReviews  = new List <DrinkReview>(),
                    Category      = data["Category"],
                    AlcoholicInfo = data["AlcoholicInfo"],
                    Instructions  = data["Instructions"],
                    Name          = data["Name"]
                };

                await _drinkRepository.AddDrink(newDrink);

                redirectId = newDrink.DrinkId;
            }

            await _drinkRepository.SaveChanges();

            return(RedirectToAction(nameof(DrinkDetails), new { id = redirectId }));
        }