public ActionResult Create() { var advertisement = new CreateAdvertisementViewModel(); InitCreateAdvertismentViewModelOptions(advertisement); return(View(advertisement)); }
public async Task <IActionResult> Create(CreateAdvertisementViewModel model, IFormFile imageFile) { if (ModelState.IsValid) { var createAdvertModel = _mapper.Map <CreateAdvertisement>(model); createAdvertModel.UserName = User.Identity.Name; var apiCallResponse = await _advertApiClient.CreateAsync(createAdvertModel); var id = apiCallResponse.Id; bool isOkToConfirmAd = true; string filePath = string.Empty; if (imageFile != null) { var fileName = !string.IsNullOrEmpty(imageFile.FileName) ? Path.GetFileName(imageFile.FileName) : id; filePath = $"{id}/{fileName}"; try { using var readStream = imageFile.OpenReadStream(); var result = await _fileUploader.UploadFileAsync(filePath, readStream); if (!result) { throw new Exception( "Could not upload the image to file repository. Please see the logs for details."); } } catch (Exception) { isOkToConfirmAd = false; var confirmModel = new ConfirmAdvertRequest() { Id = id, FilePath = filePath, Status = AdvertisementStatus.Pending }; await _advertApiClient.ConfirmAsync(confirmModel); } } if (isOkToConfirmAd) { var confirmModel = new ConfirmAdvertRequest() { Id = id, FilePath = filePath, Status = AdvertisementStatus.Active }; await _advertApiClient.ConfirmAsync(confirmModel); } return(RedirectToAction("Index", "Home")); } return(View(model)); }
public CreateAdvertisementViewModel RebuildModelAdvertisement() { var advertisementModel = new CreateAdvertisementViewModel(); advertisementModel.CityList = advertisementService.getAllCity(); advertisementModel.CategoryList = advertisementService.getAllCategory(); return(advertisementModel); }
private void InitCreateAdvertismentViewModelOptions(CreateAdvertisementViewModel adv) { adv.RegionOptions = _regionRepository.GetRegions(); adv.BrandOptions = _brandRepository.GetBrands(); adv.VehiclTypeOptions = _vehiclTypeRepository.GetVehiclTypes(); adv.TransmissionTypeOptions = _transmissionRepository.GetTransmissionTypes(); adv.FuelOptions = _fuelRepository.GetFuels(); adv.CurrencyOptions = _currencyRepository.GetCurrencies(); }
public ActionResult Create(CreateAdvertisementViewModel model) { if (ModelState.IsValid) { newAdvertisement.CreateNewAdvertisement(model, User.Identity.GetUserId()); return(RedirectToAction("UserAdvertisement", "User")); } return(View(newAdvertisement.RebuildModelAdvertisement())); }
//[ChildActionOnly] //[ValidateAntiForgeryToken] public void Create(CreateAdvertisementViewModel model) { if (ModelState.IsValid) { Advertisement advertisement = Advertisements.Create(Security.UserId, model.Text, model.Title, Convert.FromBase64String(model.Image)); dynamic rez = new ExpandoObject(); rez.Id = advertisement.Id; rez.Title = advertisement.Title; rez.Text = advertisement.Text; rez.Author = advertisement.Author.Profile.Name; rez.Image = Convert.ToBase64String(advertisement.Image); rez.DateCreated = advertisement.DateCreated; var result = new List <dynamic> { rez }; AdvertisementSearch.AddUpdateLuceneIndex(advertisement); ResponseData.WriteList(Response, "result", result); } }
public void CreateNewAdvertisement(CreateAdvertisementViewModel model, string UserId) { Advertisement advertisement = new Advertisement { AdvertisementName = model.AdvertisementName, Description = model.AdvertisementDescription, Cost = model.Cost, CityId = model.CityId, CategoryId = model.CategoryId, DateBegin = DateTime.Now, DateEnd = model.DateEnd, Status = Status.Aktywny.ToString(), Visitor = 0, Id = UserId }; advertisementService.insertAdvertisement(advertisement); advertisementService.save(); newImage.CreateNewImage(model.ImageUpload, advertisement.AdvertisementId); }
public ActionResult Create(CreateAdvertisementViewModel adv) { if (!ModelState.IsValid) { foreach (var key in ModelState.Keys) { var errors = ModelState[key].Errors.ToList(); if (errors.Count == 0) { continue; } foreach (var error in errors) { ModelState.AddModelError(key, error.ErrorMessage); } } ModelState.AddModelError("", "The form is invalid! Please try again"); InitCreateAdvertismentViewModelOptions(adv); return(View(adv)); } var rootFolder = ConfigurationManager.AppSettings["advertismentsRootFolder"]; var imagesFolder = Path.Combine(rootFolder, Guid.NewGuid().ToString()); var fullPath = Path.Combine(imagesFolder, adv.Image.FileName); var advertisement = new Advertisement { CreatedDate = DateTime.Now, ExpirationDate = DateTime.Today.AddDays(30), IsActive = false, Region = new Region { Id = adv.RegionId }, Vehicl = new Vehicl { Brand = new Brand { Id = adv.BrandId }, Engine = new Engine { Volume = adv.EngineVolume, Fuels = adv.Fuels.Select(x => new Fuel { Id = x }) }, TransmissionType = new TransmissionType { Id = adv.TransmissionTypeId }, VehiclType = new VehiclType { Id = adv.VehiclTypeId } }, User = UserManager.FindByLogin(User.Identity.Name), ImagePath = fullPath, Price = adv.Price, Currency = new Currency { Id = adv.CurrencyId } }; _contentProvider.Upload(fullPath, adv.Image.InputStream); _advertisementRepository.Create(advertisement); return(RedirectToAction("Index", "Home")); }