public IActionResult EditDiary(int id) { var diary = _diaryRepository.GetById(id); foreach (var chapter in diary.Chapters) { if (chapter.Content.Length > 65) { chapter.Content = chapter.Content.Substring(0, 65) + "..."; } } var editDiaryWithChapters = new EditDiaryWithChapters(diary); return(View(editDiaryWithChapters)); }
public IActionResult SaveDiary(EditDiaryWithChapters model) { if (!DateTime.TryParse(model.DiaryFields.Date, out var date)) { ModelState.AddModelError("Date", "Date is invalid"); } if (!ModelState.IsValid) { model.Chapters = new List <ChapterViewModel>(); var chapters = _chapterRepository.GetAllByDiaryId(model.DiaryFields.Id); foreach (var chapter in chapters) { model.Chapters.Add(new ChapterViewModel(chapter)); } return(View("~/Views/Diary/EditDiary.cshtml", model)); } var diary = _diaryRepository.GetById(model.DiaryFields.Id); diary.Name = model.DiaryFields.Name; diary.Location = model.DiaryFields.Location; diary.Date = date; if (model.DiaryFields.Image != null) { using var stream = model.DiaryFields.Image.OpenReadStream(); var imageBytes = new byte[stream.Length]; stream.Read(imageBytes); if (diary.Image != null) { diary.Image.Content = imageBytes; } else { diary.Image = new AtwImage() { Content = imageBytes }; } } _diaryRepository.SaveChanges(); return(RedirectToAction("Index", "Home")); }