public ReviewSaleViewModel GetReviewSaleVm(Customer customer, Car car, AddSaleBindingModel saleDetails) { var carPrice = car.Parts.Where(p => p.Price != null).Sum(p => (double)p.Price); var reviewSaleVm = new ReviewSaleViewModel() { Customer = customer.Name, CustomerId = saleDetails.CustomerId, Car = $"{car.Make} {car.Model}", CarId = saleDetails.CarId, Discount = saleDetails.Discount, CarPrice = carPrice, FinalPrice = carPrice * (1 - saleDetails.Discount) }; return(reviewSaleVm); }
public IActionResult ReviewSale(SaleFormModel model) { var car = this.cars.ById(model.CarId); var customer = this.customers.ById(model.CustomerId); var discount = customer.IsYoungDriver ? 10.0 : 5.0; var review = new ReviewSaleViewModel { CarId = customer.Id, CustomerId = customer.Id, CustomerName = customer.Name, Car = car.Name, CarPrice = car.Price, Discount = discount, FinalCarPrice = car.Price * (100 - (decimal)discount) / 100 }; return(View(review)); }
public ReviewSaleViewModel GetReviewSaleViewModel(AddSaleBindingModel asbm) { Car carEntity = this.DbContext.Cars.Find(asbm.CarId); Customer customerEntity = this.DbContext.Customers.Find(asbm.CustomerId); ReviewSaleViewModel reviewViewModel = new ReviewSaleViewModel() { Car = Mapper.Map <AddSaleCarViewModel>(carEntity), Customer = Mapper.Map <AddSaleCustomerViewModel>(customerEntity), CarDisplay = carEntity.Make + " " + carEntity.Model, Discount = asbm.Discount, HasAdditionalDiscount = customerEntity.IsYoungDriver, CarPrice = carEntity.Parts.Sum(part => part.Price), FinalCarPrice = customerEntity.IsYoungDriver ? carEntity.Parts.Sum(p => p.Price) - ((asbm.Discount + 5) / 100) * carEntity.Parts.Sum(p => p.Price) : carEntity.Parts.Sum(p => p.Price) - (asbm.Discount / 100) * carEntity.Parts.Sum(p => p.Price) }; return(reviewViewModel); }
public IActionResult ReviewSale(ReviewSaleViewModel model) { this.sales.Create(model.CarId, model.CustomerId, model.Discount); return(RedirectToAction(nameof(All))); }
public ActionResult Review([Bind(Include = "CustomerId,CarId,Discount")] AddSaleBindingModel bindingModel) { ReviewSaleViewModel reviewVm = this.service.GetReviewSaleViewModel(bindingModel); return(this.View(reviewVm)); }