///////////////////////////////////////
        ///

        private async Task TodoCreateButtonAsync(object sender, RoutedEventArgs e)
        {
            Todo          newTodo       = new Todo(TodoNameInput.Text);
            TodoViewModel TodoViewModel = new TodoViewModel(newTodo)
            {
                IsNewTodo = true
            };

            TodoNameInput.ClearValue(TextBox.TextProperty);
            await TodoViewModel.SaveTodoAsync();
        }
        /// <summary>
        /// Add a sub To-do below current To-do
        /// </summary>
        private async void AddNewSubTodoAsync(object sender, RoutedEventArgs e)
        {
            var           parentsTodoViewModel = (sender as FrameworkElement).DataContext as TodoViewModel;
            Todo          newSubTodo           = new Todo(AddNewSubTodoTextBox.Text, null, parentsTodoViewModel.Id);
            TodoViewModel newSubTodoViewModel  = new TodoViewModel(newSubTodo)
            {
                IsNewTodo = true
            };

            AddNewSubTodoTextBox.ClearValue(TextBox.TextProperty);

            parentsTodoViewModel.IsNewTodo = false;
            await parentsTodoViewModel.SaveTodoAsync();

            await newSubTodoViewModel.SaveTodoAsync();
        }