public async Task <IActionResult> Create() { var manufacturers = await this.GetAllManufacturers(); var model = new CarModelCreateBindingModel() { Manufacturers = manufacturers }; return(this.View(model)); }
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)); }