public async Task <IActionResult> Discount(ProductDiscountViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("Details", new { model.Id })); } Product product = await _store.GetByIdAsync(model.Id); if (product == null) { return(NotFound()); } var operation = ProductOperations.GiveDiscount(model.Discount); if (await _authz.AuthorizeAsync(User, product, operation)) { product.Price -= model.Discount; await _store.UpdateAsync(product); return(RedirectToAction("Index")); } return(new ChallengeResult()); }
private void ComputeViewModel() { this.viewModel = new ProductDiscountViewModel() { Price = BASE_PRICE, DiscountPercent = 0, DiscountAvailable = false }; this.NotifyPromotionChanged(); DataContext = viewModel; }
public ActionResult Edit(int id) { var viewModel = new ProductDiscountViewModel { ProductDiscount = _entities.ProductDiscounts.SingleOrDefault(a => a.ID == id), }; return(View(viewModel)); }
public ActionResult Create() { List <Product> products = _entities.Products.Where(a => a.ProductDiscounts.Count() == 0 && a.ItemCode != null).OrderBy(a => a.ItemCode).ToList(); var viewModel = new ProductDiscountViewModel { ProductDiscount = new ProductDiscount(), Products = products, }; viewModel.ProductDiscount.DateFrom = DateTime.Today; viewModel.ProductDiscount.DateTo = viewModel.ProductDiscount.DateFrom.AddDays(40); viewModel.ProductDiscount.Discount = (float)0.2; return(View(viewModel)); }