Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 public EditNoteView(NoteModel note)
 {
     InitializeComponent();
     if (note == null)
     {
         BindingContext = new EditNoteVM();
     }
     else
     {
         BindingContext = new EditNoteVM(note);
     }
 }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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");
            }
        }
Exemplo n.º 5
0
        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));
        }