public async Task <IActionResult> Edit(string id) { var user = await this.userManager.GetUserAsync(this.User); var model = await this.listingService.GetEditModelAsync(user.Id, id); var viewModel = new OwnerListingEditInputModel { Id = model.Id, Name = model.Name, Description = model.Description, Address = model.Address, City = model.City, Country = model.Country, Price = model.Price, Status = model.Status, Category = model.Category, ImageFromDb = model.Image, RentalInfo = model.RentalInfo, }; return(this.View(viewModel)); }
public async Task <IActionResult> EditPostAsync(OwnerListingEditInputModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } var userId = this.userManager.GetUserId(this.User); var user = await this.userManager.FindByIdAsync(userId); var homeEditModel = new OwnerEditListingServiceModel(); string imgUrl = string.Empty; string imgPubId = string.Empty; var files = this.HttpContext.Request.Form.Files; if (model.Image != null) { var imgResult = await this.imageService .UploadImageAsync(model.Image); imgUrl = imgResult.SecureUri.AbsoluteUri; imgPubId = imgResult.PublicId; var imageToWrite = new CloudImage { PictureUrl = imgUrl, PicturePublicId = imgPubId, }; homeEditModel = new OwnerEditListingServiceModel { Id = model.Id, Name = model.Name, Description = model.Description, Price = model.Price, Category = model.Category, Status = model.Status, Image = imageToWrite, }; } else { homeEditModel = new OwnerEditListingServiceModel { Id = model.Id, Name = model.Name, Description = model.Description, Price = model.Price, Category = model.Category, Status = model.Status, }; } bool isEdited = await this.listingService.EditListingAsync(homeEditModel); if (!isEdited) { return(this.RedirectToAction("Details", "Listings", new { id = model.Id, Area = ManagementArea }) .WithWarning(string.Empty, CouldNotUpdateRecord)); } await this.imageDbService.WriteToDatabasebAsync(imgUrl, imgPubId); return(this.RedirectToAction("Details", "Listings", new { id = model.Id, area = ManagementArea }) .WithSuccess(string.Empty, RecordUpdatedSuccessfully)); }