コード例 #1
0
        public IActionResult Create(CreateCarBindingModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View());
            }
            if (!this.Context.CarTypes.Any(e => e.Type == model.TypeOfCar))
            {
                this.ViewData["InvalidCarType"] = "Invalid car type!!!";
                return(this.View());
            }

            var carModel = this.Context.CarTypes.FirstOrDefault(e => e.Type == model.TypeOfCar);

            var car = this.Mapper.Map <Car>(model);

            car.CarTypeId = carModel.Id;

            car.ProduceDate = DateTime.Now;

            using (this.Context)
            {
                this.Context.Cars.Add(car);
                this.Context.SaveChanges();
            }

            return(this.RedirectToAction("Details", new { id = car.Id }));
        }
コード例 #2
0
        public async Task <IActionResult> Create(CreateCarBindingModel carBVM)
        {
            if (carBVM.ModelName == CarConstants.InvalidModelInput)
            {
                this.ShowNotification(string.Format(
                                          NotificationMessages.CreateCarModelIsRequired),
                                      NotificationType.Warning);

                return(this.View(carBVM));
            }

            if (!ModelState.IsValid)
            {
                this.ShowNotification(string.Format(
                                          NotificationMessages.CarCreateFail),
                                      NotificationType.Warning);
                return(this.View(carBVM));
            }

            var result = await this.carService.CreateAsync
                         (
                carBVM.CustomerId,
                carBVM.Vin,
                carBVM.RegistrationPlate,
                carBVM.ManufacturerId,
                carBVM.ModelName,
                carBVM.Кilometers,
                carBVM.YearOfManufacturing,
                carBVM.EngineModel,
                carBVM.EngineHorsePower,
                carBVM.FuelTypeId,
                carBVM.TransmissionId
                         );

            if (result > default(int))
            {
                this.ShowNotification(string.Format(
                                          NotificationMessages.CarCreatedSuccessfull, carBVM.RegistrationPlate),
                                      NotificationType.Success);

                return(this.Redirect(string.Format(WebConstants.AdminCarsCarsByCustomerId, carBVM.CustomerId)));
            }

            if (result < default(int))
            {
                this.ShowNotification(string.Format(
                                          NotificationMessages.ExistingVinOrRegistrationPlate, carBVM.Vin, carBVM.RegistrationPlate),
                                      NotificationType.Warning);

                return(this.View(carBVM));
            }


            this.ShowNotification(string.Format(
                                      NotificationMessages.CarCreateFail),
                                  NotificationType.Warning);

            return(this.View(carBVM));
        }
コード例 #3
0
        public async Task <IActionResult> Create(CreateCarBindingModel model)
        {
            var userId = Content(this.User.GetUserId()).Content.ToString();

            model.UserId = userId;
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var car = await this.vehiclesService.CreateAndSaveCar(model);

            return(RedirectToAction("Details", new { id = car.Id }));
        }
コード例 #4
0
        public async Task <Vehicle> CreateAndSaveCar(CreateCarBindingModel model)
        {
            var car = this.Mapper.Map <Vehicle>(model);

            await this.DbContext.Vehicles.AddAsync(car);

            await this.DbContext.SaveChangesAsync();

            var carId = (await DbContext.Vehicles
                         .Where(u => u.UserId == model.UserId)
                         .FirstOrDefaultAsync(c => c.Modification == model.Modification)).Id;

            car.Id = carId;

            return(car);
        }
コード例 #5
0
 public ActionResult Create(CreateCarBindingModel ccbm)
 {
     try
     {
         var parts = ccbm.Parts.Where(p => p.Checked);
         var car   = Mapper.Map <Car>(ccbm);
         foreach (var part in parts)
         {
             var partFromDb = this.db.Parts.FirstOrDefault(p => p.Name == part.Name);
             car.Parts.Add(partFromDb);
         }
         this.db.Cars.Add(car);
         this.db.SaveChanges();
         return(RedirectToAction("All"));
     }
     catch
     {
         return(View());
     }
 }