Esempio n. 1
0
        public async Task <IActionResult> Create()
        {
            var manufacturers = await this.GetAllManufacturers();

            var model = new CarModelCreateBindingModel()
            {
                Manufacturers = manufacturers
            };

            return(this.View(model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Create(CarModelCreateBindingModel model, string returnUrl)
        {
            if (!this.ModelState.IsValid)
            {
                model.Manufacturers = await this.GetAllManufacturers();

                return(this.View(model));
            }

            var manufacturer = await this.manufacturersService.GetByNameAsync(model.Manufacturer)
                               ?? new CarManufacturerServiceModel
            {
                Name = model.Manufacturer
            };

            var carModel = new CarModelServiceModel
            {
                ManufacturerId = manufacturer.Id,
                Manufacturer   = manufacturer,
                Model          = model.CarModel
            };

            returnUrl = returnUrl ?? "/";

            if (await this.modelsService.ExistsAsync(carModel))
            {
                this.Success(NotificationMessages.ModelExistsNotCreated);
                return(this.LocalRedirect(returnUrl));
            }

            var result = await this.modelsService.CreateAsync(carModel);

            if (result)
            {
                this.Success(NotificationMessages.ModelCreated);
            }
            else
            {
                this.Error(NotificationMessages.ModelCreateError);

                model.Manufacturers = await this.GetAllManufacturers();

                return(this.View(model));
            }

            return(this.LocalRedirect(returnUrl));
        }