示例#1
0
        public void Create(CreateOrderServiceModel model)
        {
            var car    = _carService.GetById(model.CarId);
            var client = _clientService.FindById(model.ClientId);

            if (car == null ||
                client == null ||
                model.PurchasePrice < 1)
            {
                throw new ArgumentException("Invalid Input Data");
            }
            var order = new Order()
            {
                CarId         = model.CarId,
                ClientId      = model.ClientId,
                OrderStatus   = model.OrderStatus,
                PurchaseDate  = model.PurchaseDate,
                PurchasePrice = model.PurchasePrice,
                OrderNumber   = Guid.NewGuid()
            };

            this.data.Add(order);
            SellThisCar(model);
            this.data.SaveChanges();
        }
示例#2
0
        public IActionResult Add(CreateOrdersViewModel model, int carId, int clientId)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.RedirectToAction("Error", "Home"));
            }

            try
            {
                var createOrder = new CreateOrderServiceModel()
                {
                    CarId         = carId,
                    ClientId      = clientId,
                    OrderStatus   = OrderStatus.In_Process,
                    PurchaseDate  = model.PurchaseDate,
                    PurchasePrice = model.PurchasePrice
                };
                _order.Create(createOrder);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                LogExceptionWithMessage(ex);
                ViewBag.Section = ex.Message;
                FillViewBagWithDataForSelectInView();
                return(View());
            }
        }
示例#3
0
        private void SellThisCar(CreateOrderServiceModel model)
        {
            var findCar = this.data.Cars.Where(x => x.Id == model.CarId).FirstOrDefault();

            findCar.IsSold = IsSold.Yes;
        }