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); } } } }
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)); }
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)); }
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); }
public static Identity UpdateComment(string pageCommentStore, UserCommentViewModel comment) { var store = GetStoreByName(pageCommentStore); return(store.Save(comment)); }