private IActionResult DeleteComment(EditNoteVM vm, long commentId) { Assert(vm.Comments != null); var newComments = vm.Comments.Where(c => c.Id != commentId).ToList(); vm.Comments = newComments; vm.SelectableTags = vm.SelectableTags ?? new List <SelectableTag>(); AddEditSubViewsToViewBag(ViewBag); return(View("Maintenance", vm)); }
public EditNoteView(NoteModel note) { InitializeComponent(); if (note == null) { BindingContext = new EditNoteVM(); } else { BindingContext = new EditNoteVM(note); } }
public IActionResult AddCommentTextBox(EditNoteVM vm) { List <Comment> comments = vm.Comments ?? new List <Comment>(); var comment = new Comment(); comment.Id = GetTempCommentId(comments); comments.Add(comment); vm.Comments = comments; vm.SelectableTags = vm.SelectableTags ?? new List <SelectableTag>(); AddEditSubViewsToViewBag(ViewBag); return(View("Maintenance", vm)); }
private async Task <IActionResult> UpdateNote(EditNoteVM vm) { IEnumerable <SelectableTag> selectableTags = vm.SelectableTags; UpdateResult result = await _noteManager.UpdateNote(vm.Note , selectableTags ?? new List <SelectableTag>() , vm.Comments ?? new List <Comment>()); switch (result) { case UpdateResult.Success: return(RedirectToAction(nameof(Index))); case UpdateResult.NoteAlreadyDeleted: return(NotFound()); default: // case UpdateResult.ConcurrencyConflict: throw new Exception("Another user has edited this record. Please try again"); } }
public async Task <IActionResult> Edit(long id, long commentId, string submit, EditNoteVM vm) { if (id != vm.Note.Id) { return(NotFound()); } if (ModelState.IsValid) { switch (submit) { case MyConstants.AddCommentAction: Assert(commentId == 0); return(AddCommentTextBox(vm)); case MyConstants.SaveAction: Assert(commentId == 0); return(await UpdateNote(vm)); case MyConstants.DeleteCommentAction: Assert(commentId != 0); return(DeleteComment(vm, commentId)); } } AddEditSubViewsToViewBag(ViewBag); return(View(vm)); }