Ejemplo n.º 1
0
        public IActionResult LikeComment(string userId, int commentId, string path)
        {
            Comment comment = context.Comments.Find(commentId);

            if (context.Votes.Where(c => c.CommentId == commentId && c.UserId == userId).ToList().Count == 0)
            {
                comment.VoteCount++;
                Vote vote = new Vote()
                {
                    CommentId = commentId,
                    UserId    = userId,
                };
                context.Votes.Add(vote);
            }
            Manual manual = context.Manuals.Find(comment.ManualId);

            context.SaveChanges();
            ManualViewModel model = new ManualViewModel()
            {
                Manual   = manual,
                User     = context.ApplicationUsers.Find(userId),
                Steps    = context.Steps.Where(s => s.ManualId == manual.ManualId).ToList(),
                Tags     = ManualHelper.GetAllManualTags(manual.ManualId, context),
                Comments = context.Comments.Where(c => c.ManualId == manual.ManualId).ToList(),
                Context  = context
            };

            return(View("Manual", model));
        }
Ejemplo n.º 2
0
        public ActionResult AddComment(string content, string userId, int manualId)
        {
            Comment toAdd = new Comment()
            {
                AuthorId  = userId,
                Content   = mark.Transform(content),
                ManualId  = manualId,
                VoteCount = 0,
            };
            Manual manual = context.Manuals.Find(manualId);

            manual.LastUpdate = DateTime.Today;
            context.Comments.Add(toAdd);
            context.SaveChanges();
            ManualViewModel model = new ManualViewModel()
            {
                Manual   = manual,
                User     = context.ApplicationUsers.Find(userId),
                Steps    = context.Steps.Where(s => s.ManualId == manualId).ToList(),
                Tags     = ManualHelper.GetAllManualTags(manualId, context),
                Comments = context.Comments.Where(c => c.ManualId == manualId).ToList(),
                Context  = context
            };

            return(View("Manual", model));
        }
        private void DelEmptyTags(int id, ApplicationDbContext context)
        {
            List <ManualTag> manualTags = ManualHelper.GetManualTags(id, context);

            foreach (ManualTag mTag in manualTags)
            {
                if (ManualHelper.CountSameNameManualTags(mTag.ManualTagId, context) < 2)
                {
                    context.Tags.Remove(context.Tags.Find(mTag.TagId));
                }
            }
            context.SaveChanges();
        }
        public ActionResult DeleteManual(int id)
        {
            Manual delMan = context.Manuals.Find(id);

            context.Manuals.Remove(delMan);
            DelEmptyTags(id, context);
            List <ManualTag> manualTags = ManualHelper.GetManualTags(id, context);

            context.Comments.RemoveRange(ManualHelper.GetManualComments(id, context));
            context.Steps.RemoveRange(ManualHelper.GetManualSteps(id, context));
            context.ManualTags.RemoveRange(manualTags);
            context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Manual(int id)
        {
            var user = await _userManager.GetUserAsync(User);

            Manual          manual = context.Manuals.Find(id);
            ManualViewModel model  = new ManualViewModel
            {
                Manual   = manual,
                Steps    = context.Steps.Where(s => s.ManualId == manual.ManualId).ToList(),
                Comments = context.Comments.Where(c => c.ManualId == manual.ManualId).ToList(),
                User     = user,
                Context  = context,
                Tags     = ManualHelper.GetAllManualTags(id, context)
            };

            return(View(model));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Step(int id)
        {
            var user = await _userManager.GetUserAsync(User);

            Step          step   = context.Steps.Find(id);
            Manual        manual = context.Manuals.Find(step.ManualId);
            StepViewModel model  = new StepViewModel
            {
                Step     = step,
                Manual   = manual,
                Comments = context.Comments.Where(c => c.ManualId == manual.ManualId).ToList(),
                User     = user,
                Context  = context,
                Tags     = ManualHelper.GetAllManualTags(manual.ManualId, context),
            };

            return(View(model));
        }