Ejemplo n.º 1
0
        // GET: TodoItems/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            var item = await _context.TodoItem.FirstOrDefaultAsync(ti => ti.Id == id);

            var loggedInUser = await GetCurrentUserAsync();


            var TodoStatuses = await _context.TodoStatus
                               .Select(td => new SelectListItem()
            {
                Text = td.Title, Value = td.Id.ToString()
            })
                               .ToListAsync();

            var viewModel = new TodoItemStatusViewModel()
            {
                Id            = id,
                Title         = item.Title,
                TodoStatusId  = item.TodoStatusId,
                StatusOptions = TodoStatuses,
            };

            if (item.ApplicationUserId != loggedInUser.Id)
            {
                return(NotFound());
            }

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Edit(int id, TodoItemStatusViewModel TodoItemViewModel)
        {
            try
            {
                var todoItem = new TodoItem()
                {
                    Id           = TodoItemViewModel.Id,
                    Title        = TodoItemViewModel.Title,
                    TodoStatusId = TodoItemViewModel.TodoStatusId
                };

                var user = await GetCurrentUserAsync();

                todoItem.ApplicationUserId = user.Id;

                _context.TodoItem.Update(todoItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 3
0
        // GET: TodoItems/Create
        public async Task <ActionResult> Create()
        {
            var ToDoStatuses = await _context.TodoStatus
                               .Select(td => new SelectListItem()
            {
                Text = td.Title, Value = td.Id.ToString()
            })
                               .ToListAsync();

            var viewModel = new TodoItemStatusViewModel();

            viewModel.StatusOptions = ToDoStatuses;

            return(View(viewModel));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult> Create(TodoItemStatusViewModel todoViewItem)
        {
            try
            {
                var todoItem = new TodoItem
                {
                    Title        = todoViewItem.Title,
                    TodoStatusId = todoViewItem.TodoStatusId
                };

                var user = await GetCurrentUserAsync();

                todoItem.ApplicationUserId = user.Id;

                _context.TodoItem.Add(todoItem);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }