public IActionResult Create(Drink drink) { if (ModelState.IsValid) { _drinkRepository.AddDrink(drink); return(RedirectToAction(nameof(Index))); } ViewBag.Categories = _categoryRepository.Categories; return(View(drink)); }
public IActionResult CreateDrink([FromBody] DrinkDTOForCreation drinkDTOForCreation) { var drink = _mapper.Map <Drink>(drinkDTOForCreation); _drinkRepository.AddDrink(drink); _drinkRepository.Save(); var drinkToReturn = _mapper.Map <DrinkDTO>(drink); return(CreatedAtAction("GetDrinkById", new { id = drinkToReturn.Id }, drinkToReturn)); }
public string SaveDrink(Drink drink) //Сохранение изменений по напитку { if (drink.ID == 0) //Если ID = 0, то напиток добавляется, иначе редактируется { Repos.AddDrink(drink); return(string.Format("Добавлен напиток \"{0}\"", drink.Name.Trim())); } else { Repos.EditDrink(drink); return(string.Format("Изменения в напитке \"{0}\" были сохранены", drink.Name.Trim())); } }
public void AddDrink(Drink newDrink) { _repo.AddDrink(newDrink); }
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 })); }
public Drink AddDrink(Drink newDrink) { return(_repo.AddDrink(newDrink)); }