Exemplo n.º 1
0
        public async Task <IActionResult> Put([FromBody] ToDoItemRequest toDoItemRequest)
        {
            if (ModelState.IsValid)
            {
                var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;
                var item   = await _itemService.EditItemAsync(toDoItemRequest.Id, toDoItemRequest.Description, toDoItemRequest.EstimatedDate, userId);

                if (item == null)
                {
                    return(NotFound());
                }

                return(Ok(new OperationResponse <ToDoItem>
                {
                    IsSuccess = true,
                    Message = "Item edited successfully",
                    OperationDate = DateTime.UtcNow,
                    Record = item,
                }));
            }

            return(BadRequest(new OperationResponse <ToDoItem>
            {
                IsSuccess = false,
                Message = "Item edit failed",
            }));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Update ToDoItem
        /// </summary>
        /// <param name="model">Object to be updated</param>
        /// <returns></returns>
        public async Task <ToDoItemSingleResponse> EditItemAsync(ToDoItemRequest model)
        {
            string strBaseUrl = $"{base._baseURL}/api/todoitems";
            var    response   = await base._client.PutProtectedAsync <ToDoItemSingleResponse>(strBaseUrl, model);

            return(response.Result);
        }
        public async Task <IActionResult> Put([FromBody] ToDoItemRequest model)
        {
            if (ModelState.IsValid)
            {
                var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

                var plan = await _itemsService.EditItemsAsync(model.Id, model.Description, model.EstimatedDate, userId);

                if (plan == null)
                {
                    return(NotFound());
                }

                return(Ok(new OperationResponse <ToDoItem>
                {
                    IsSuccess = true,
                    Message = "Item has been edited successfully",
                    Record = plan
                }));
            }

            return(BadRequest(new OperationResponse <ToDoItem>
            {
                IsSuccess = true,
                Message = "Some properties are not valid"
            }));
        }
Exemplo n.º 4
0
        private ToDoItemRecord ParseItem(int listId, DateTime creationDateTime, ToDoItemRequest request)
        {
            var item = new ToDoItemRecord()
            {
                ListId           = listId,
                CreationDateTime = creationDateTime
            };

            ParseOntoItem(request, item);
            return(item);
        }
Exemplo n.º 5
0
        public async Task <ToDoItemSingleResponse> EditItemAsync(ToDoItemRequest toDoItemRequest)
        {
            httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", AccessToken);
            StringContent serializedToDoItemRequest = new StringContent(JsonSerializer.Serialize(toDoItemRequest, serializerOptions), Encoding.UTF8, "application/json");
            var           response = await httpClient.PutAsync(_baseUrl + "/api/items", serializedToDoItemRequest);

            var responseAsString = await response.Content.ReadAsStringAsync();

            ToDoItemSingleResponse toDoItemSingleResponse = JsonSerializer.Deserialize <ToDoItemSingleResponse>(responseAsString, serializerOptions);

            return(toDoItemSingleResponse);
        }
        public Task Save([FromBody] ToDoItemRequest toDoItemRequest)
        {
            var todo = new ToDoItem
            {
                Id            = toDoItemRequest.Id,
                Title         = toDoItemRequest.Title,
                Body          = toDoItemRequest.Body,
                DateAdded     = toDoItemRequest.DateAdded,
                DateHappening = toDoItemRequest.DateHappening
            };

            return(_toDoItemService.SaveToDoItemAsync(todo));
        }
Exemplo n.º 7
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));
        }
Exemplo n.º 8
0
 private void ParseOntoItem(ToDoItemRequest request, ToDoItemRecord item)
 {
     item.Description        = request.Description;
     item.Done               = request.Done;
     item.LastUpdateDateTime = request.UpdateDateTime;
 }