public static double DiscountedPrice(Coupan couponFromDb, double OriginalOrderTotal) { if (couponFromDb == null) { return(OriginalOrderTotal); } else { if (couponFromDb.MinimumAmount > OriginalOrderTotal) { return(OriginalOrderTotal); } else { //everything is valid if (Convert.ToInt32(couponFromDb.CouponType) == (int)Coupan.ECoupanType.Dollar) { //$10 off $100 return(Math.Round(OriginalOrderTotal - couponFromDb.Discount, 2)); } if (Convert.ToInt32(couponFromDb.CouponType) == (int)Coupan.ECoupanType.Percent) { //10% off $100 return(Math.Round(OriginalOrderTotal - (OriginalOrderTotal * couponFromDb.Discount / 100), 2)); } } } return(OriginalOrderTotal); }
public async Task <IActionResult> Create(Coupan coupan) { if (ModelState.IsValid) { var files = HttpContext.Request.Form.Files; if (files.Count > 0) { byte[] p1 = null; using (var fs1 = files[0].OpenReadStream()) { using (var ms1 = new MemoryStream()) { fs1.CopyTo(ms1); p1 = ms1.ToArray(); } } coupan.Picture = p1; } _db.Coupan.Add(coupan); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(coupan)); }
public async Task <IActionResult> EditPost(int?id, Coupan coupan) { if (id == null) { return(NotFound()); } if (ModelState.IsValid) { var coupanFromDb = await _db.Coupan.SingleOrDefaultAsync(c => c.Id == id); coupanFromDb.Name = coupan.Name; coupanFromDb.CouponType = coupan.CouponType; coupanFromDb.Discount = coupan.Discount; coupanFromDb.MinimumAmount = coupan.MinimumAmount; coupanFromDb.isActive = coupan.isActive; var files = HttpContext.Request.Form.Files; if (files.Count > 0) { byte[] p1 = null; using (var fs1 = files[0].OpenReadStream()) { using (var ms1 = new MemoryStream()) { fs1.CopyTo(ms1); p1 = ms1.ToArray(); } } coupanFromDb.Picture = p1; } await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(coupan)); }