public async Task <ActionResult <TodoItemCreateDTO> > CreateItem(TodoItemCreateDTO dtoItem) { var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); dtoItem.UserId = userId; var result = mapper.Map <ToDoItem>(dtoItem); await toDoService.AddItemAsync(result); var todoItemCreate = mapper.Map <TodoItemReadDTO>(result); return(Ok(todoItemCreate)); }
public ActionResult <TodoItemDTO> Create(TodoItemCreateDTO todoItemCreateDTO) { var todoItem = new TodoItem { IsComplete = todoItemCreateDTO.IsComplete, Name = todoItemCreateDTO.Name }; _todoService.Create(todoItem); return(CreatedAtRoute("GetTodoItem", new { id = todoItem.Id.ToString() }, todoItem)); }
public async Task <ActionResult <TodoItemReadDTO> > CreateTodoItem(TodoItemCreateDTO todoItemCreateDTO) { var farm = await _context.Farms.FindAsync(todoItemCreateDTO.FarmId); if (farm == null) { return(BadRequest()); } if (todoItemCreateDTO.ApiaryId != null && todoItemCreateDTO.BeeFamilyId == null) { var apiary = await _context.Apiaries.FindAsync(todoItemCreateDTO.ApiaryId); if (apiary == null || apiary.FarmId != farm.Id) { return(BadRequest()); } } else if (todoItemCreateDTO.BeeFamilyId != null && todoItemCreateDTO.ApiaryId == null) { var beehive = await _context.BeeFamilies.FindAsync(todoItemCreateDTO.BeeFamilyId); if (beehive == null || beehive.FarmId != farm.Id) { return(BadRequest()); } } else if (todoItemCreateDTO.BeeFamilyId != null && todoItemCreateDTO.ApiaryId != null) { return(BadRequest()); } var currentUserId = long.Parse(User.Identity.Name); var farmWorker = await _context.FarmWorkers.FindAsync(currentUserId, farm.Id); if (farmWorker == null || farmWorker.Permissions[24] != '1') { return(Forbid()); } var todoItem = _mapper.Map <TodoItem>(todoItemCreateDTO); _context.TodoItems.Add(todoItem); await _context.SaveChangesAsync(); var todoItemReadDTO = _mapper.Map <TodoItemReadDTO>(todoItem); return(CreatedAtAction("GetTodoItem", "TodoItems", new { id = todoItem.Id }, todoItemReadDTO)); }
public IActionResult Update(string id, TodoItemCreateDTO todoItemDTO) { var todoItem = _todoService.Get(id); if (todoItem == null) { return(NotFound()); } todoItem.Name = todoItemDTO.Name; todoItem.IsComplete = todoItemDTO.IsComplete; _todoService.Update(id, todoItem); return(NoContent()); }