Exemplo n.º 1
0
        public async Task <IActionResult> Main(long id)
        {
            if (await _rightService.CheckRights(id, await _userManager.GetUserAsync(HttpContext.User)))
            {
                var chapters    = _chapterService.FindByCompositionId(id);
                var composition = _compositionService.FindById(id);
                List <ChapterNumberAndId> chapterNumberAndIds = new List <ChapterNumberAndId>();
                foreach (var chapter in chapters)
                {
                    chapterNumberAndIds.Add(new ChapterNumberAndId()
                    {
                        ChapterId = chapter.Id,
                        Number    = chapter.Number
                    });
                }

                var model = new ChapterMainViewModel()
                {
                    CompositionId        = id,
                    ChapterNumbersAndIds = chapterNumberAndIds,
                    CompositionName      = composition.Name
                };
                return(View(model));
            }
            else
            {
                return(RedirectToAction("AccessDenied", "Notifications"));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Add(ChapterMainViewModel model)
        {
            if (await _rightService.CheckRights(model.CompositionId, await _userManager.GetUserAsync(HttpContext.User)))
            {
                var chapters   = _chapterService.FindByCompositionId(model.CompositionId);
                int lastNumber = 0;
                foreach (var chapter in chapters)
                {
                    if (chapter.Number > lastNumber)
                    {
                        lastNumber = chapter.Number;
                    }
                }

                lastNumber++;
                Chapter newChapter = new Chapter()
                {
                    CompositionId = model.CompositionId,
                    Number        = lastNumber,
                    Text          = "Put your text here"
                };
                _chapterService.Add(newChapter);
                _compositionService.UpdateLastPublication(model.CompositionId);
                var dbChapter = _chapterService.FindByCompositionIdAndNumber(model.CompositionId, lastNumber);
                var url       = Url.Action("Index", "Chapter",
                                           new { compositionId = model.CompositionId, chapterId = dbChapter.Id });
                return(Redirect(url));
            }
            else
            {
                return(RedirectToAction("AccessDenied", "Notifications"));
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Delete(ChapterMainViewModel model)
        {
            await _chapterService.RemoveById(model.ChapterIdToDelete);

            var url = Url.Action("Main", "Chapter", new { id = model.CompositionId });

            return(Redirect(url));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Main(ChapterMainViewModel model)
        {
            if (await _rightService.CheckRights(model.CompositionId, await _userManager.GetUserAsync(HttpContext.User)))
            {
                if (model.ChapterIdFirst != model.ChapterIdSecond)
                {
                    await _chapterService.SwapAsync(model.ChapterIdFirst, model.ChapterIdSecond);

                    return(RedirectToAction("Main", "Chapter"));
                }
                else
                {
                    ModelState.AddModelError("", "Select different chapters");
                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("AccessDenied", "Notifications"));
            }
        }