예제 #1
0
        public async Task <IActionResult> Index(long compositionId, long chapterId)
        {
            IActionResult result = BadRequest();

            if (await _rightService.CheckRights(compositionId, await _userManager.GetUserAsync(HttpContext.User)))
            {
                var chapter = await _chapterService.FindByIdAsync(chapterId);

                if (chapter != null)
                {
                    ChapterViewModel viewModel = new ChapterViewModel()
                    {
                        ChapterId     = chapter.Id,
                        CompositionId = chapter.CompositionId,
                        Number        = chapter.Number,
                        Text          = chapter.Text
                    };
                    result = View(viewModel);
                }
            }
            else
            {
                result = RedirectToAction("AccessDenied", "Notifications");
            }

            return(result);
        }
예제 #2
0
        public async Task <IActionResult> Edit(int id)
        {
            if (await _rightService.CheckRights(id, _userManager.GetUserAsync(HttpContext.User).Result))
            {
                var composition = _dbCompositionService.FindById(id);
                var genreString = _dbGenreService.FindById(composition.GenreId).GenreString;
                var tags        = _dbTagService.FindByCompositionId(composition.Id);
                var tagsString  = _tagFormatter.FormatTagsToString(tags);
                return(View(new CompositionEditViewModel()
                {
                    Annotation = composition.Annotation,
                    GenreString = genreString,
                    Name = composition.Name,
                    Tags = tagsString,
                    Id = id
                }));
            }

            return(RedirectToAction("AccessDenied", "Notifications"));
        }