public IActionResult ReviewSale(FinalizeSaleModel finalizeSaleModel) { if (finalizeSaleModel is null) { return(this.RedirectToAction(nameof(Add))); } return(this.View(finalizeSaleModel)); }
public IActionResult Finalize(FinalizeSaleModel finalizeSaleModel) { if (finalizeSaleModel is null) { return(this.RedirectToAction(nameof(Add))); } this.salesService.AddSale(finalizeSaleModel.CarId, finalizeSaleModel.CustomerId, finalizeSaleModel.Discount); return(this.RedirectToAction(nameof(All))); }
public IActionResult Add(AddSaleModel addSaleModel) { this.simpleLoggerService.LogToDb(this.User.Identity.Name, LogType.Add, "Sales"); if (this.ModelState.IsValid) { FinalizeSaleModel finalizeSaleModel = this.salesService.GetFinalizeSaleInfo(addSaleModel.CarId, addSaleModel.CustomerId, addSaleModel.Discount); return(this.RedirectToAction(nameof(ReviewSale), finalizeSaleModel)); } addSaleModel.Cars = this.salesService.GetCarSaleModels(); addSaleModel.Customers = this.salesService.GetCustomerSaleModels(); return(this.View(addSaleModel)); }
public FinalizeSaleModel GetFinalizeSaleInfo(int?carId, int?customerId, double?discount) { var model = new FinalizeSaleModel(); var carInfo = this.db.Cars.Where(c => c.Id == carId.Value) .Select(c => new { Name = c.Make + " " + c.Model, Price = c.Parts.Sum(cp => cp.Part.Price) }).FirstOrDefault(); var customer = this.db.Customers.FirstOrDefault(c => c.Id == customerId.Value); model.CustomerId = customerId.Value; model.CustomerName = customer.Name; model.Discount = customer.IsYoungDriver ? discount.Value + 5d : discount.Value; model.NormalPrice = carInfo.Price; model.DiscountPrice = (decimal)((double)carInfo.Price * ((100d - model.Discount) / 100)); model.CarName = carInfo.Name; model.CarId = carId.Value; model.IsYoungDriver = customer.IsYoungDriver; return(model); }