public async Task <IActionResult> Edit(AdminCarBindingModel model) { const string redirectLocation = "Index"; var serviceModel = Mapper.Map <CarServiceModel>(model); await this.AddPicturesToServiceModel(serviceModel, model); try { if (model.IsNew) { await this.adminCarsService.EditAsync <NewCar>(serviceModel); } else { await this.adminCarsService.EditAsync <UsedCar>(serviceModel); } } catch (RepositoryUpdateNoRowsAffectedException) { return(RedirectToAction(redirectLocation)); } await this.cacheService.RemoveAsync(WebConstants.CacheCarsType); return(RedirectToAction(redirectLocation)); }
public async Task <IActionResult> AddNew(AdminCarBindingModel model) { var serviceModel = Mapper.Map <CarServiceModel>(model); await this.AddPicturesToServiceModel(serviceModel, model); if (model.Mileage > 0) { await this.adminCarsService.CreateNewAsync <UsedCar>(serviceModel); } else { await this.adminCarsService.CreateNewAsync <NewCar>(serviceModel); } await this.cacheService.RemoveAsync(WebConstants.CacheCarsType); return(Redirect(WebConstants.AdminCarsUrl)); }
public async Task <IActionResult> AddNew() { var engines = await this.adminEnginesService.GetAll().To <SelectListItem>().ToArrayAsync(); var fuelTypes = await this.adminFuelTypesService.GetAll().To <SelectListItem>().ToArrayAsync(); var modelTypes = await this.adminModelTypesService.GetAll().To <SelectListItem>().ToArrayAsync(); var series = await this.adminSeriesService.GetAll().To <SelectListItem>().ToArrayAsync(); var options = await this.adminOptionsService.GetAll().To <SelectListItem>().ToArrayAsync(); var model = new AdminCarBindingModel() { Engines = engines, FuelTypes = fuelTypes, ModelTypes = modelTypes, Series = series, Options = options }; return(View(model)); }
private async Task AddPicturesToServiceModel(CarServiceModel serviceModel, AdminCarBindingModel model) { var publicIds = await this.cloudinaryService.UploadPicturesAsync(model.Pictures); serviceModel.Pictures = Mapper.Map <ICollection <PictureServiceModel> >(publicIds); }