/// <summary> /// Creates a todo. UserId is taken from the model. /// </summary> /// <param name="item">The todo to create.</param> public void CreateItem(ToDoItemViewModel item) { item.ToDoId = ++maxId; _itemRepository.Create(item.ToItem()); ThreadPool.QueueUserWorkItem(t => { httpClient.PostAsJsonAsync(serviceApiUrl + CreateUrl, item).Result.EnsureSuccessStatusCode(); MapAzureId(item, maxId); }); }
/// <summary> /// Updates a todo. /// </summary> /// <param name="item">The todo to update.</param> public void UpdateItem(ToDoItemViewModel item) { _itemRepository.Update(item.ToItem()); if (blankId >= item.ToDoId) { ThreadPool.QueueUserWorkItem(t => httpClient.DeleteAsync(string.Format(serviceApiUrl + DeleteUrl, item.ToDoId)) .Result.EnsureSuccessStatusCode()); } else { ThreadPool.QueueUserWorkItem(t => httpClient.DeleteAsync(string.Format(serviceApiUrl + DeleteUrl, _mapId.GetAzureId(item.ToDoId))) .Result.EnsureSuccessStatusCode()); } }