public IActionResult QuickEdit(int orderId) { var order = _orderRepository.GetById(orderId); var model = _mapper.Map <OrderViewModel>(order); foreach (var item in model.OrderDetails) { var drink = _drinkRepository.GetDrinkById(item.DrinkId); var allDrinkSizes = drink.DrinkSizes.Where(ds => ds.IsActive).OrderBy(dz => dz.Price); var drinkMaxSize = allDrinkSizes.LastOrDefault(); var drinkMinSize = allDrinkSizes.FirstOrDefault(); item.CategoryId = drink.CategoryId; item.DrinkMaxSize = drinkMaxSize.Name; item.DrinkMaxSizeId = drinkMaxSize.Id; item.DrinkMaxSizePrice = drinkMaxSize.Price; item.DrinkMinSize = drinkMinSize.Name; item.DrinkMinSizeId = drinkMinSize.Id; item.DrinkMinSizePrice = drinkMinSize.Price; } ViewBag.OrderSourceTypes = _orderSourceTypeRepository.OrderSourceTypes.ToList(); ViewBag.DeliveryPartners = _deliveryPartnerRepository.DeliveryPartners.ToList(); return(View(model)); }
public IActionResult UpdateDrink([FromRoute] Guid id, [FromBody] DrinkDTOForUpdate drinkDTOForUpdate) { if (!_drinkRepository.HasDrink(id)) { return(NotFound($"Drink {id} not found.")); } var drinkFromRepo = _drinkRepository.GetDrinkById(id); _mapper.Map(drinkDTOForUpdate, drinkFromRepo); _drinkRepository.Save(); var drinkToReturn = _mapper.Map <DrinkDTO>(drinkFromRepo); return(Ok(drinkToReturn)); }
public IActionResult DrinkOptions(int index, int drinkId, int sizeId) { var drink = _drinkRepository.GetDrinkById(drinkId); ViewBag.Index = index; ViewBag.Toppings = _toppingRepository.GetToppingByDrinkId(drink.Id); ViewBag.Size = drink.DrinkSizes.FirstOrDefault(dz => dz.Id == sizeId); ViewBag.SizeId = sizeId; ViewBag.Quantity = 1; ViewBag.SelectedToppings = new List <OrderDetailTopping>(); ViewBag.IceOptions = drink.IceOptions.Where(io => io.IsShowOrder).OrderBy(io => io.Order).ToList(); ViewBag.SugarOptions = drink.SugarOptions.Where(io => io.IsShowOrder).OrderBy(io => io.Order).ToList(); ViewBag.DrinkSizes = drink.DrinkSizes.Where(io => io.IsShowOrder).OrderBy(io => io.Order).ToList(); return(PartialView(drink)); }
public IActionResult GetPromotionDrinkItem(PromotionDrinkItemView promotionDrinkViewModel) { var drink = _drinkRepository.GetDrinkById(promotionDrinkViewModel.DrinkId); var drinkSize = drink.DrinkSizes.FirstOrDefault(s => s.Id == promotionDrinkViewModel.DrinkSizeId) ?? drink.PrimarySize; if (drinkSize == null) { throw new ApplicationException("DrinkSize is invalid!"); } Dictionary <int, Topping> toppingDictionary = promotionDrinkViewModel.PromotionDrinkToppings?.Select(t => new KeyValuePair <int, Topping>(t.ToppingId, _toppingRepository.GetToppingById(t.ToppingId))).ToDictionary(k => k.Key, k => k.Value); promotionDrinkViewModel.CategoryId = drink.CategoryId; promotionDrinkViewModel.DrinkName = drink.Name; promotionDrinkViewModel.Price = drinkSize.Price; promotionDrinkViewModel.PromotionDrinkToppings?.ForEach(t => { t.ToppingName = toppingDictionary?[t.ToppingId]?.Name; t.ToppingPrice = toppingDictionary?[t.ToppingId]?.Price; }); promotionDrinkViewModel.FullPrice = drinkSize.Price + (promotionDrinkViewModel.PromotionDrinkToppings?.Sum(t => t.Quantity * t.ToppingPrice) ?? 0); promotionDrinkViewModel.DrinkSize = drinkSize.Name; promotionDrinkViewModel.Amount = promotionDrinkViewModel.FullPrice * promotionDrinkViewModel.Quantity; return(ViewComponent("PromotionDrinkNewItem", new { promotionDrinkViewModel })); }
public async Task <IActionResult> DrinkDetails(string id) { var drink = await _drinkRepository.GetDrinkById(id); Task.Run(() => _apiService.CreateUserActivity(PerformedAction.VisitedDrink, this.User.Identity.Name, drinkId: id, drinkName: drink.Name)); if (drink == null) { // add error View } var model = new DrinkDetailsViewModel { Drink = drink, IsFavourite = _favouriteRepository.IsFavourite(_userManager.GetUserId(User), drink?.DrinkId), CanUserReview = _reviewRepository.CanUserReviewDrink(_userManager.GetUserId(User), drink?.DrinkId) }; return(View(model)); }
public IViewComponentResult Invoke(PromotionDrinkItemView promotionDrinkViewModel) { var drink = _drinkRepository.GetDrinkById(promotionDrinkViewModel.DrinkId); var drinkSize = drink.DrinkSizes.FirstOrDefault(s => s.Id == promotionDrinkViewModel.DrinkSizeId) ?? drink.PrimarySize; if (drinkSize == null) { throw new ApplicationException("DrinkSize is invalid!"); } promotionDrinkViewModel.PromotionDrinkToppings = promotionDrinkViewModel.PromotionDrinkToppings?.ToList(); Dictionary <int, Topping> toppingDictionary = promotionDrinkViewModel.PromotionDrinkToppings?.Select(t => new KeyValuePair <int, Topping>(t.ToppingId, _toppingRepository.GetToppingById(t.ToppingId))).ToDictionary(k => k.Key, k => k.Value); promotionDrinkViewModel.CategoryId = drink.CategoryId; promotionDrinkViewModel.DrinkName = drink.Name; promotionDrinkViewModel.Price = drinkSize.Price; promotionDrinkViewModel.FullPrice = drinkSize.Price + (promotionDrinkViewModel.PromotionDrinkToppings?.Sum(t => t.Quantity * toppingDictionary?[t.ToppingId].Price) ?? 0); promotionDrinkViewModel.DrinkSize = drinkSize.Name; promotionDrinkViewModel.Amount = (drinkSize.Price + (promotionDrinkViewModel.PromotionDrinkToppings?.Sum(t => t.Quantity * toppingDictionary?[t.ToppingId].Price) ?? 0)) * promotionDrinkViewModel.Quantity; return(View(promotionDrinkViewModel)); }
public IActionResult Sort(int[] ids, int catId, string activetab = "") { for (int i = 0; i < ids.Length; i++) { var drink = _drinkRepository.GetDrinkById(ids[i]); if (catId != -1) { drink.Position = i; } else { drink.NewOrderSort = i; } _drinkRepository.UpdateDrink(drink); } return(new RedirectResult(Url.Action("Edit", "DrinkCategories", new { id = catId }) + activetab)); }
public ViewResult Details(int DrinkId) { var Details = _drinkRepository.GetDrinkById(DrinkId); return(View(Details)); }
public async Task <Drink> GetDrinkById(int id) { return(await drinkRepository.GetDrinkById(id)); }