示例#1
0
        public ActionResult <TodoItem> CreateTodoItem(TodoItemCreateDto todoItemCreateDto)
        {
            //matches the create model to the official table model
            var todoItemModel = _mapper.Map <TodoItem>(todoItemCreateDto);

            //adds the 'merged' model to context
            _repository.CreateTodoItem(todoItemModel);
            //saves it
            _repository.SaveChanges();

            //converts an officil model to a read dto model
            var todoItemReadDto = _mapper.Map <TodoItemReadDto>(todoItemModel);

            /*
             *  CreatedAtRoute - Parameters
             *
             *  routeName String
             *
             *  The name of the route to use for generating the URL. [ nameof(GetTodoItemById) ]
             *
             *  routeValues Object
             *
             *  The route data to use for generating the URL. [ new {Id = todoItemReadDto.Id} ]
             *
             *  content Object
             *
             *  The content value to format in the entity body. [ todoItemReadDto ]
             *
             */
            Debug.Print(todoItemModel.ToString());
            return(CreatedAtRoute(nameof(GetTodoItemById), new { Id = todoItemReadDto.Id }, todoItemReadDto));
        }
        public ActionResult <TodoItem> CreateTodoItem(IFormCollection data)
        {
            var todoItemCreateDto = new TodoItemCreateDto(data);
            var todoItemModel     = _mapper.Map <TodoItem>(todoItemCreateDto);

            _repository.CreateTodoItem(todoItemModel);
            _repository.SaveChanges();

            return(CreatedAtRoute(nameof(GetTodoItemById), new { Id = todoItemModel.Id }, todoItemModel));
        }
        public async Task <IActionResult> Create([FromBody] TodoItemCreateDto input)
        {
            var todoItem = new TodoItem {
                Text = input.Text
            };

            _dbContext.TodoItems.Add(todoItem);

            await _dbContext.SaveChangesAsync();

            return(PartialView("~/Pages/Todos/_TodoItemOnList.cshtml", new TodoItemDto
            {
                Id = todoItem.Id,
                Text = todoItem.Text
            }));
        }
        public async Task <ActionResult <TodoItemDto> > PostTodoItem(TodoItemCreateDto todoItemCreateDto)
        {
            if (!TryValidateModel(todoItemCreateDto, nameof(TodoItemUpdateDto)))
            {
                return(BadRequest());
            }

            var todoItem = _mapper.Map <TodoItem>(todoItemCreateDto);

            todoItem.TimeCreated = DateTime.UtcNow;

            var todoItemResult = await _todoContext.TodoItems.AddAsync(todoItem);

            await _todoContext.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetTodoItem), new { id = todoItemResult.Entity.Id }, todoItem));
        }
示例#5
0
 public ActionResult <TodoItem> CreateTodoItem(TodoItemCreateDto todoItem)
 {
     throw new System.NotImplementedException();
 }