Esempio n. 1
0
        /// <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);
            });
        }
Esempio n. 2
0
        /// <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());
            }
        }