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", })); }
/// <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" })); }
private ToDoItemRecord ParseItem(int listId, DateTime creationDateTime, ToDoItemRequest request) { var item = new ToDoItemRecord() { ListId = listId, CreationDateTime = creationDateTime }; ParseOntoItem(request, item); return(item); }
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)); }
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)); }
private void ParseOntoItem(ToDoItemRequest request, ToDoItemRecord item) { item.Description = request.Description; item.Done = request.Done; item.LastUpdateDateTime = request.UpdateDateTime; }