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)); }
public ActionResult <TodoItem> CreateTodoItem(TodoItemCreateDto todoItem) { throw new System.NotImplementedException(); }