Ejemplo n.º 1
0
        public async Task <IActionResult> Create([Bind("Title,Content,DuetoDateTime,Tags")] TodoItemCreateViewModel todo)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Index"));
            }

            var currentUser = await _userManager.GetUserAsync(User);

            if (currentUser == null)
            {
                return(Challenge());
            }

            var todoItem = new TodoItem
            {
                Title         = todo.Title,
                Content       = todo.Content,
                DuetoDateTime = todo.DuetoDateTime,
                Tags          = todo.Tags != null?todo.Tags.Split(',') : new[] { "" }
            };
            var successful = await _todoItemService
                             .AddItemAsync(todoItem, currentUser);

            if (!successful)
            {
                return(BadRequest(new { error = "Could not add item." }));
            }


            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        // POST: api/TodoItem
        public IHttpActionResult Post([FromBody] TodoItemCreateViewModel value)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            TodoItemGetViewModel model = _service.Create(value);

            return(CreatedAtRoute("DefaultApi", new { model.Id }, model));
        }
Ejemplo n.º 3
0
        public TodoItemGetViewModel Create(TodoItemCreateViewModel value)
        {
            TodoItem item = new TodoItem
            {
                Content   = value.Content,
                CreatedAt = DateTime.Now
            };
            var model     = _repository.Create(item);
            var viewmodel = _mapper.Map <TodoItemGetViewModel>(model);

            return(viewmodel);
        }
        // GET: TodoItems/Create
        public ActionResult Create()
        {
            var allTodoStatuses = _context.TodoStatus
                                  .Select(s => new SelectListItem()
            {
                Text = s.Title, Value = s.Id.ToString()
            })
                                  .ToList();

            var viewModel = new TodoItemCreateViewModel();

            viewModel.TodoStatusOptions = allTodoStatuses;

            return(View(viewModel));
        }
Ejemplo n.º 5
0
        public TodoItemGetViewModel Create(TodoItemCreateViewModel value)
        {
            TodoItem item = new TodoItem
            {
                Content   = value.Content,
                CreatedAt = DateTime.Now
            };
            var model  = _repo.Create(item);
            var result = new TodoItemGetViewModel
            {
                Id          = model.Id,
                Content     = model.Content,
                IsCompleted = model.IsCompleted,
                CreatedAt   = model.CreatedAt
            };

            return(result);
        }
        // GET: TodoItems/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            var allTodoStatuses = _context.TodoStatus
                                  .Select(s => new SelectListItem()
            {
                Text = s.Title, Value = s.Id.ToString()
            })
                                  .ToList();

            var viewModel = new TodoItemCreateViewModel();

            viewModel.TodoStatusOptions = allTodoStatuses;

            var item = await _context.TodoItem.FirstOrDefaultAsync(ti => ti.Id == id);

            var loggedInUser = await GetCurrentUserAsync();

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

            return(View(viewModel));
        }