public async Task <ActionResult <EditBlogDto> > Edit(int Id, CancellationToken cancellationToken) { try { var page = await _BlogService.GetByIdAsync(cancellationToken, Id); EditBlogDto model = new EditBlogDto { Title = page.Title, Caption = page.Caption, ImageName = page.Image, Content = page.Content, DescriptionSeo = page.DescriptionSeo, IsActive = page.IsActive, SetSliderHome = page.SetSliderHome, Id = page.Id, Keywords = page.Keywords, }; return(View(model)); } catch (Exception e) { ErrorNotification(OperationMessage.OperationFailed.ToDisplay(), true); return(RedirectToAction("Error", "Home")); } }
public async Task <IActionResult> Edit(int Id, EditBlogDto ModelDto, CancellationToken cancellationToken) { try { if (!ModelState.IsValid) { AddNotification(NotifyType.Warning, OperationMessage.ModelStateIsNotValid.ToDisplay(), true); return(View(ModelDto)); } var model = await _BlogService.GetByIdAsync(cancellationToken, Id); if (model != null) { model.Title = ModelDto.Title; model.Caption = ModelDto.Caption; model.Content = ModelDto.Content; model.DescriptionSeo = ModelDto.DescriptionSeo; model.IsActive = ModelDto.IsActive; model.SetSliderHome = ModelDto.SetSliderHome; model.Keywords = ModelDto.Keywords; if (ModelDto.Image.Length > 0) { string LName = Guid.NewGuid().ToString("D") + ModelDto.Image.FileName; using (var fileStream = new FileStream(Path.Combine(webHostEnvironment.WebRootPath, ApplicationPathes.Blog.VirtualUploadFolder, LName), FileMode.Create)) { string path = webHostEnvironment.WebRootPath + ApplicationPathes.Blog.VirtualDeleteFile + model.Image; if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } await ModelDto.Image.CopyToAsync(fileStream); model.Image = LName; } } await _BlogService.UpdateAsync(model, cancellationToken); AddNotification(NotifyType.Success, OperationMessage.OperationSucceed.ToDisplay(), true); return(RedirectToAction("Index")); } else { AddNotification(NotifyType.Success, OperationMessage.ModelStateIsNotValid.ToDisplay(), true); return(RedirectToAction("Index")); } } catch (Exception ex) { ErrorNotification(OperationMessage.OperationFailed.ToDisplay(), true); return(RedirectToAction("Error", "Home")); } }