コード例 #1
0
        public static void UpdateWorkflowTask(
            this PCRWorkflowTaskViewModel taskViewModel, ClientFieldData[] clientFieldData)
        {
            var comments = clientFieldData.Where(
                c => !string.IsNullOrWhiteSpace(c.Name) && c.Name.Contains("txtFieldComment")).ToList();

            if (comments.Any())
            {
                foreach (var comment in comments)
                {
                    var commentId = int.Parse(comment.ExtraData.FirstOrDefault(
                                                  x => x.Key == "data-persist-id").Value);
                    if (commentId != 0)
                    {
                        var viewModel = taskViewModel.UserComments.First(x => x.CommentId == commentId);

                        //Update comment
                        if (viewModel.Comment != comment.Value)
                        {
                            viewModel.Comment  = comment.Value;
                            viewModel.IsChange = true;
                        }
                    }
                    else if (!string.IsNullOrWhiteSpace(comment.Value))
                    {
                        //Add new comment
                        var newComment = new UserCommentViewModel
                        {
                            Comment        = comment.Value,
                            WorkflowTaskId = taskViewModel.WorkflowInstanceTaskId,
                            IsChange       = true
                        };
                        taskViewModel.CommentReject = newComment.Comment;
                        taskViewModel.UserComments.Add(newComment);
                    }
                }
            }
        }
コード例 #2
0
        public async Task <IActionResult> CreateComment(string CommentContent)
        {
            UserCommentViewModel model = new UserCommentViewModel();
            Comment comment            = new Comment();
            var     course             = await _context.Courses.FirstOrDefaultAsync(c => c.Id.Equals(Global_CourseId));

            comment.CourseId       = course.Id;
            comment.CommentContent = CommentContent;
            comment.UserId         = userManager.GetUserId(HttpContext.User);
            comment.TimeStamp      = DateTime.Now.ToString();
            IdentityUser user = await userManager.FindByIdAsync(comment.UserId);

            model.Username  = user.UserName;
            model.Comment   = comment.CommentContent;
            model.CourseId  = Global_CourseId;
            model.TimeStamp = DateTime.Now.ToString();
            Global_models.Add(model);
            await _context.Comments.AddAsync(comment);

            await _context.SaveChangesAsync();

            return(View("ViewComments", Global_models));
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: oyku003/BookInfo
        public PartialViewResult GetComment(int id, int?page)
        {
            var returnModel = new UserCommentViewModel();
            var pageIndex   = page ?? 1;

            var commentList = commentManager.List().Where(x => x.Book.Id == id).OrderByDescending(x => x.CreatedOn);

            returnModel.CommentCount = commentList.Count();

            returnModel.Comments = commentList.Skip(3 * pageIndex - 3).Take(3).ToList();

            int pageCount = commentManager.List().Where(x => x.Book.Id == id).Count();

            if (pageCount % 3 == 0)
            {
                returnModel.PageCount = pageCount / 3;
            }
            else
            {
                returnModel.PageCount = pageCount / 3 + 1;
            }

            return(PartialView("_PartialUserComments", returnModel));
        }
コード例 #4
0
        public static void UpdateWorkFlowViewModel(this WorkflowViewModel viewModel, ClientFieldData[] clientFieldData)
        {
            if (viewModel == null)
            {
                viewModel = new WorkflowViewModel();
            }

            //Additional Validators
            var additionalValidators = clientFieldData.Where(o => o.Name.Equals("newUserProfile"));

            if (viewModel.Validators == null)
            {
                viewModel.Validators = new List <ValidatorViewModel>();
            }

            for (int i = 0; i < additionalValidators.Count(); i++)
            {
                var validator = new ValidatorViewModel();
                validator.Role      = additionalValidators.ElementAt(i).Value;
                validator.Status    = "Pending";
                validator.Mandatory = false;
                viewModel.Validators.Add(validator);
            }

            var deleteValidators = clientFieldData.FirstOrDefault(o => o.Name.Equals("deleteValidators"));

            if (deleteValidators != null)
            {
                string[] deleteV = deleteValidators.Value.ToString().Split('|').Where(x => !string.IsNullOrEmpty(x)).ToArray();

                if (viewModel.DeleteValidators == null)
                {
                    viewModel.DeleteValidators = new List <int>();
                }

                foreach (string s in deleteV)
                {
                    viewModel.DeleteValidators.Add(Convert.ToInt32(s));
                    viewModel.Validators.RemoveAll(d => d.Order.Equals(Convert.ToInt32(s)));
                }
            }

            //Comments
            if (viewModel.UserComments == null)
            {
                viewModel.UserComments = new List <UserCommentViewModel>();
            }

            var editComments   = clientFieldData.Where(o => o.Name.Equals("textComment"));
            var editCommentsId = clientFieldData.Where(o => o.Name.Equals("commentId"));

            if (editComments != null && editCommentsId != null)
            {
                for (int i = 0; i < editComments.Count(); i++)
                {
                    var index = viewModel.UserComments.FindIndex(x => x.CommentId == Convert.ToInt32(editCommentsId.ElementAt(i).Value));
                    if (!viewModel.UserComments.ElementAt(index).Comment.Equals(editComments.ElementAt(i).Value.Trim()))
                    {
                        viewModel.UserComments.ElementAt(index).Comment = editComments.ElementAt(i).Value.Trim();
                    }
                }
            }

            var newComments = clientFieldData.Where(o => o.Name.Equals("newComment"));

            if (newComments != null)
            {
                for (int i = 0; i < newComments.Count(); i++)
                {
                    var comment = new UserCommentViewModel();
                    comment.Comment = newComments.ElementAt(i).Value.Trim();

                    viewModel.UserComments.Add(comment);
                }
            }

            var deleteComments = clientFieldData.FirstOrDefault(o => o.Name.Equals("deleteComments"));

            if (deleteComments != null)
            {
                string[] deleteC = deleteComments.Value.ToString().Split('|').Where(x => !string.IsNullOrEmpty(x)).ToArray();

                if (viewModel.DeleteComments == null)
                {
                    viewModel.DeleteComments = new List <int>();
                }

                foreach (string s in deleteC)
                {
                    viewModel.DeleteComments.Add(Convert.ToInt32(s));
                    viewModel.UserComments.RemoveAll(d => d.CommentId.Equals(Convert.ToInt32(s)));
                }
            }

            var contractNumber = clientFieldData.FirstOrDefault(o => o.Name.Equals("contractNumber"));

            if (contractNumber != null)
            {
                viewModel.ContractNumber = contractNumber.Value;
            }

            // Documents
            //viewModel.UpdateMissionWorkflowDocuments(clientFieldData);
        }
コード例 #5
0
        public static Identity UpdateComment(string pageCommentStore, UserCommentViewModel comment)
        {
            var store = GetStoreByName(pageCommentStore);

            return(store.Save(comment));
        }