private async void NewTodoTextBox_LostFocus(object sender, RoutedEventArgs e)
        {
            TextBox       newTodoTextBox = (TextBox)sender;
            TodoListModel todoList       = GetDataContext <TodoListModel>(sender);

            if (!String.IsNullOrWhiteSpace(newTodoTextBox.Text))
            {
                HttpResult <TodoItem> result;
                using (TodoClient todoClient = ClientFactory.CreateTodoClient())
                {
                    result = await todoClient.AddTodoItemAsync(new TodoItem()
                    {
                        TodoListId = todoList.TodoListId, Title = newTodoTextBox.Text
                    });
                }

                if (result.Succeeded)
                {
                    todoList.Todos.Add(new TodoItemModel(result.Content)
                    {
                        TodoList = todoList
                    });
                }
                else
                {
                    await ErrorDialog.ShowErrorsAsync(result.Errors);
                }
            }
            newTodoTextBox.Text = "Add New Todo";
        }
        public async Task AddTodo()
        {
            TodoItem todo = new TodoItem()
            {
                TodoItemId = 2, Title = "Eat", IsDone = false, TodoListId = 1
            };

            HttpResult <TodoItem> result = await client.AddTodoItemAsync(todo);

            Assert.IsNotNull(result, "Result is null");
            Assert.IsTrue(result.Succeeded, GetRequestFailedMessage(result));
            Assert.AreEqual(result.Content.TodoItemId, todo.TodoItemId);
            Assert.AreEqual(result.Content.Title, todo.Title);
            Assert.AreEqual(result.Content.IsDone, todo.IsDone);
            Assert.AreEqual(result.Content.TodoListId, todo.TodoListId);
        }
        private async void OkButton_Click(object sender, EventArgs e)
        {
            TodoItem todoItem = new TodoItem()
            {
                Title      = TitleTextBox.Text,
                TodoListId = todoListId
            };

            HttpResult <TodoItem> result;

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

            if (result.Succeeded)
            {
                this.NavigationService.GoBack();
            }
            else
            {
                ErrorDialog.ShowErrors(result.Errors);
            }
        }