public async Task <IActionResult> Edit(int id, AdvertisementUsableViewModel model) { var creatorUserName = await this.advertisement.CreatorUserName(id); var currentUserName = this.User.Identity.Name; if (creatorUserName != currentUserName) { TempData.AddErrorMessage(WebConstants.ErrorMessageNotAllowedToPage); return(RedirectToAction(nameof(All))); } if (!ModelState.IsValid) { model.Categories = this.category .All() .Select(c => new SelectListItem { Text = c.Name, Value = c.Id.ToString() }); return(View(model)); } await this.advertisement.Edit( id, model.Advertisements.Name, model.Advertisements.Description, model.Advertisements.Price, model.Advertisements.CategoryId); TempData.AddSuccessMessage(string.Format(WebConstants.SuccessMessageAdvertisementEditPlaceholder, model.Advertisements.Name)); return(RedirectToAction(nameof(Details), new { id = id })); }
public async Task <IActionResult> Edit(int id) { var creatorUserName = await this.advertisement.CreatorUserName(id); var currentUserName = this.User.Identity.Name; if (creatorUserName != currentUserName) { TempData.AddErrorMessage(WebConstants.ErrorMessageNotAllowedToPage); return(RedirectToAction(nameof(All))); } var exists = await this.advertisement.Exists(id); if (!exists) { TempData.AddErrorMessage(WebConstants.ErrorMessageAdvertisementDontExist); return(RedirectToAction(nameof(All))); } var model = new AdvertisementUsableViewModel { Advertisements = await this.advertisement.ById(id), Categories = this.category .All() .Select(c => new SelectListItem { Text = c.Name, Value = c.Id.ToString() }) }; return(View(model)); }