Exemplo n.º 1
0
        public IActionResult ReviewSale(FinalizeSaleModel finalizeSaleModel)
        {
            if (finalizeSaleModel is null)
            {
                return(this.RedirectToAction(nameof(Add)));
            }

            return(this.View(finalizeSaleModel));
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }