예제 #1
0
        public IActionResult CommentList()
        {
            var    currentuser = User.Identity.Name;
            var    userId      = User.FindFirstValue(ClaimTypes.NameIdentifier);
            string currentrole = null;

            if (User.IsInRole("Admin"))
            {
                currentrole = "Admin";
            }
            else if (User.IsInRole("User"))
            {
                currentrole = "User";
            }
            var documents          = context_.Documents.ToList();
            var categories         = context_.Categories.ToList();
            var authors            = context_.Authors.ToList();
            var documentcategories = context_.DocumentCategories.ToList();
            var documentauthors    = context_.DocumentAuthors.ToList();
            var comments           = context_.Comments.ToList();
            var viewmodel          = new ReadDocumentViewModel
            {
                Categories         = categories,
                Documents          = documents,
                Authors            = authors,
                Comments           = comments,
                DocumentAuthors    = documentauthors,
                DocumentCategories = documentcategories,
                CurrentUserId      = userId,
                CurrentUserName    = currentuser,
                CurrentUserRole    = currentrole
            };

            return(View(viewmodel));
        }
예제 #2
0
        public IActionResult ReadDocument(int?id)
        {
            if (id == null)
            {
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            Document document = context_.Documents.Find(id);

            if (document == null)
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }

            var    currentuser  = User.Identity.Name;
            var    userId       = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var    uploaduser   = document.UploadUserName;
            var    uploaduserid = document.UploadUserId;
            string currentrole  = null;

            if (User.IsInRole("Admin"))
            {
                currentrole = "Admin";
            }
            else if (User.IsInRole("User"))
            {
                currentrole = "User";
            }
            if (User.IsInRole("Admin") != true && userId != uploaduserid && document.Authority == "private")
            {
                return(RedirectToAction("Index"));
            }
            var documents          = context_.Documents.ToList();
            var categories         = context_.Categories.ToList();
            var authors            = context_.Authors.ToList();
            var documentcategories = context_.DocumentCategories.ToList();
            var documentauthors    = context_.DocumentAuthors.ToList();
            var comments           = context_.Comments.ToList();
            var viewmodel          = new ReadDocumentViewModel
            {
                Categories         = categories,
                Documents          = documents,
                Authors            = authors,
                Comments           = comments,
                DocumentAuthors    = documentauthors,
                DocumentCategories = documentcategories,
                Document           = document,
                CurrentUserId      = userId,
                CurrentUserName    = currentuser,
                CurrentUserRole    = currentrole
            };

            return(View(viewmodel));
        }
예제 #3
0
        public IActionResult CreateComment(int id, ReadDocumentViewModel viewmodel)
        {
            Comment newcomment = new Comment();

            newcomment.Content         = viewmodel.Comment.Content;
            newcomment.CommentUserId   = viewmodel.CurrentUserId;
            newcomment.CommentUserName = viewmodel.CurrentUserName;
            newcomment.DocumentId      = viewmodel.Document.DocumentId;
            newcomment.PostedTime      = DateTime.Now;
            context_.Comments.Add(newcomment);
            context_.SaveChanges();
            return(RedirectToAction("ReadDocument", new { id = viewmodel.Document.DocumentId }));
        }