Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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"));
        }