Exemplo n.º 1
0
        public async Task <ActionResult <ToDoItemDTO> > CreateTodoItem([FromBody] ToDoItemDTO todoItemDTO)
        {
            if (todoItemDTO == null)
            {
                throw new ArgumentNullException("To Do item must not be null");
            }

            return(await ToDoItemRepository.CreateItem(todoItemDTO));
        }
Exemplo n.º 2
0
        public async Task <ActionResult <ToDoItemResponse> > Update(string listIdentity, string creationDateTimeCode, [FromBody] ToDoItemRequest request)
        {
            var creationDateTime = ParseDateTimeCode(creationDateTimeCode);
            var list             = await _repository.GetListByIdentity(listIdentity);

            if (list == null)
            {
                return(NotFound());
            }
            var item = await _repository.GetItemByCreationDateTime(list.Id, creationDateTime);

            if (item == null)
            {
                item = await _repository.CreateItem(ParseItem(list.Id, creationDateTime, request));

                return(CreatedAtRoute("GetItemByCreationDateTime", new { listIdentity, creationDateTimeCode = FormatDateTimeCode(item.CreationDateTime) }, ProjectItem(listIdentity, item)));
            }
            else if (item.LastUpdateDateTime < request.UpdateDateTime)
            {
                ParseOntoItem(request, item);
                await _repository.SaveChanges();
            }
            return(ProjectItem(listIdentity, item));
        }