public async Task UpdateTodo()
        {
            string   newTitle = "Eat";
            TodoItem update   = new TodoItem()
            {
                TodoItemId = 1, Title = newTitle
            };

            HttpResult <TodoItem> result = await client.UpdateTodoAsync(update, returnContent : true);

            Assert.IsNotNull(result, "Result is null");
            Assert.IsTrue(result.Succeeded, GetRequestFailedMessage(result));
            Assert.AreEqual(result.Content.Title, newTitle);
        }
        private async void CheckBox_Click(object sender, RoutedEventArgs e)
        {
            CheckBox      checkBox = (CheckBox)sender;
            TodoItemModel todo     = GetDataContext <TodoItemModel>(sender);
            TodoItem      todoItem = new TodoItem()
            {
                TodoItemId = todo.TodoItemId, TodoListId = todo.TodoListId, IsDone = checkBox.IsChecked.Value
            };
            HttpResult result;

            using (TodoClient todoClient = ClientFactory.CreateTodoClient())
            {
                result = await todoClient.UpdateTodoAsync(todoItem);
            }

            if (!result.Succeeded)
            {
                await ErrorDialog.ShowErrorsAsync(result.Errors);
            }
        }
        private async void TodoTitleTextBox_LostFocus(object sender, RoutedEventArgs e)
        {
            TextBox       todoTitleTextBox = (TextBox)sender;
            TodoItemModel todo             = GetDataContext <TodoItemModel>(sender);
            string        newTitle         = todoTitleTextBox.Text;

            if (newTitle != todo.OriginalTitle)
            {
                HttpResult result;
                using (TodoClient todoClient = ClientFactory.CreateTodoClient())
                {
                    if (String.IsNullOrWhiteSpace(newTitle))
                    {
                        result = await todoClient.DeleteTodoAsync(todo.TodoItemId);

                        if (result.Succeeded)
                        {
                            todo.TodoList.Todos.Remove(todo);
                        }
                    }
                    else
                    {
                        TodoItem update = new TodoItem()
                        {
                            TodoItemId = todo.TodoItemId, TodoListId = todo.TodoListId, Title = newTitle
                        };
                        result = await todoClient.UpdateTodoAsync(update);

                        if (!result.Succeeded)
                        {
                            todo.Title = todo.OriginalTitle;
                        }
                    }
                }

                if (!result.Succeeded)
                {
                    await ErrorDialog.ShowErrorsAsync(result.Errors);
                }
            }
        }
Exemple #4
0
        private async void TextBox_LostFocus(object sender, RoutedEventArgs e)
        {
            deleteButton.IsEnabled = false;
            TextBox       textBox = (TextBox)sender;
            TodoItemModel todo    = GetSelectedTodoItem(sender);

            if (todoTitle != textBox.Text)
            {
                TodoItem todoItem = new TodoItem()
                {
                    TodoItemId = todo.TodoItemId, TodoListId = todo.TodoListId, Title = textBox.Text
                };
                HttpResult result;
                using (TodoClient todoClient = ClientFactory.CreateTodoClient())
                {
                    result = await todoClient.UpdateTodoAsync(todoItem);
                }

                if (!result.Succeeded)
                {
                    ErrorDialog.ShowErrors(result.Errors);
                }
            }
        }