示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#4
0
        public IActionResult ReviewSale(ReviewSaleViewModel model)
        {
            this.sales.Create(model.CarId, model.CustomerId, model.Discount);

            return(RedirectToAction(nameof(All)));
        }
示例#5
0
        public ActionResult Review([Bind(Include = "CustomerId,CarId,Discount")] AddSaleBindingModel bindingModel)
        {
            ReviewSaleViewModel reviewVm = this.service.GetReviewSaleViewModel(bindingModel);

            return(this.View(reviewVm));
        }