private void ExecuteEditQuestionCommand(Object parameter)
        {
            var view = new TecherFormAddAndEditQuestions();
            var vm   = new AddEditQuestionViewModel();

            vm.Question = new Question()
            {
                Answers   = new List <Answer>(SelectedQuestion.Answers),
                Id        = SelectedQuestion.Id,
                Content   = SelectedQuestion.Content,
                Created   = SelectedQuestion.Created,
                Modifiyed = SelectedQuestion.Modifiyed,
                Image     = SelectedQuestion.Image
            };
            vm.AnswerCollection = new ObservableCollection <Answer>(vm.Question.Answers);

            vm.Window        = view;
            view.DataContext = vm;

            var result = view.ShowDialog();

            if (result.HasValue && result.Value)
            {
                vm.Question.Answers = new List <Answer>(vm.AnswerCollection);
                var editResult = DBDataSource.EditQuestion(vm.Question);
                if (editResult)
                {
                    QuestionCollection = new ObservableCollection <Question>(DBDataSource.GetQuestions());
                }
            }
        }
 public override void LoadData()
 {
     NavigationHelper.IsBusy = true;
     BackgroundProcessFactory.RunAsync(null, (o, e) =>
     {
         e.Result = DBDataSource.GetQuestions();
     },
                                       (o, e) =>
     {
         NavigationHelper.IsBusy = false;
         if (e.Error != null)
         {
             return;
         }
         else
         {
             var questions = e.Result as List <Question>;
             if (questions != null)
             {
                 QuestionCollection = new ObservableCollection <Question>(questions);
             }
         }
     });
 }