예제 #1
0
        /// <summary>
        /// The ShredSection.
        /// </summary>
        /// <param name="id">The id<see cref="int"/>.</param>
        /// <returns>The <see cref="Task{IActionResult}"/>.</returns>
        public async Task <IActionResult> ShredSection(int id)
        {
            var check = await _shredsRepo.GetAllShredsForPaper(id);


            if (check != null)
            {
                List <ShredCommentsVM> shredCommentList = new List <ShredCommentsVM>();

                foreach (var shred in check)
                {
                    ShredCommentsVM shredCommentsVM = new ShredCommentsVM();
                    var             subShredCheck   = await _subShredsRepo.GetAllSubShredsForShred(shred.ID);

                    shredCommentsVM.Shred = shred;

                    if (subShredCheck != null)
                    {
                        shredCommentsVM.SubShreds = subShredCheck;
                    }

                    shredCommentList.Add(shredCommentsVM);
                }
                return(PartialView("_ShredSection", shredCommentList));
            }
            return(PartialView("_ShredSection"));
        }
예제 #2
0
        /// <summary>
        /// The Paper.
        /// </summary>
        /// <param name="id">The id<see cref="int"/>.</param>
        /// <returns>The <see cref="Task{IActionResult}"/>.</returns>
        public async Task <IActionResult> Paper(int id)
        {
            var paper = await _paperRepo.Read(id);


            if (paper != null)
            {
                var shreds = await _shredsRepo.GetAllShredsForPaper(id);



                PaperShredsCommentsVM paperAndShredsAndSubShreds = new PaperShredsCommentsVM();
                paperAndShredsAndSubShreds.Paper = paper;

                var upload = await _paperUploadRepo.ReadAll();

                if (upload != null)
                {
                    paperAndShredsAndSubShreds.PaperUpload = upload.FirstOrDefault(x => x.PaperId == paper.ID);
                }

                foreach (var shred in shreds)
                {
                    var rips = await _ripsRepo.ReadAll();

                    var trueRips  = rips.Where(x => x.ShredId == shred.ID && x.Rip == true).Count();
                    var falseRips = rips.Where(x => x.ShredId == shred.ID && x.Rip == false).Count();


                    ShredCommentsVM shredCommentsVM = new ShredCommentsVM
                    {
                        Shred        = shred,
                        NumberOfRips = trueRips - falseRips
                    };
                    var subShreds = await _subShredsRepo.GetAllSubShredsForShred(shred.ID);


                    if (subShreds.Count() > 0)
                    {
                        shredCommentsVM.SubShreds = subShreds;
                    }

                    paperAndShredsAndSubShreds.ShredsAndComments.Add(shredCommentsVM);
                }
                return(View(paperAndShredsAndSubShreds));
            }
            return(RedirectToAction("Papers"));
        }