private void SaveChangedProcess(SettingsViewModelBase viewModel)
 {
     MessageBoxDialog messageDialog = new MessageBoxDialog();
     messageDialog.Show(SaveChangedCallback, "Confirm", String.Format("Do you want to save changed in {0}?", m_SelectedActionViewModel.Action.Name),
                        MessageBoxButton.YesNoCancel);
 }
 private void SaveChangedCallback(MessageBoxResultButton result)
 {
     bool isSavedProcess = true;
     switch (result)
     {
         // Yes
         case MessageBoxResultButton.Yes:
             {
                 m_SelectedActionViewModel.Update();
                 break;
             }
         // No
         case MessageBoxResultButton.No:
             {
                 m_SelectedActionViewModel.Restore();
                 if (false == m_SelectedActionViewModel.CanExecuteAction)
                 {
                     CanExecuteActionProcess(m_SelectedActionViewModel);
                     isSavedProcess = false;
                 }
                 break;
             }
         // Cancel
         case MessageBoxResultButton.Cancel:
             {
                 isSavedProcess = false;
                 Task task = new Task(() =>
                 {
                     SelectedViewModelsIndex(m_ActionViewModels.IndexOf(m_SelectedActionViewModel));
                 });
                 task.Wait(50);
                 task.Start();
                 break;
             }
     }
     if (true == isSavedProcess)
     {
         m_SelectedActionViewModel = m_SelectedViewModelValue;
         m_IsBackup = false;
         BackupSelectedViewModel();
         OnPropertyChanged("SelectedActionViewModel");
         OnPropertyChanged("ActionViewModels");
     }
 }
 private void DeleteActionViewModel(Object obj)
 {
     if (-1 != SelectedIndex)
     {
         m_SelectedActionViewModel = null;
         ActionViewModels.RemoveAt(SelectedIndex);
     }
 }
 private bool CheckCompletedActionViewModel(SettingsViewModelBase actionViewModel)
 {
     if (null != actionViewModel)
     {
         if ((true == actionViewModel.IsChanged) || (false == actionViewModel.CanExecuteAction))
         {
             return false;
         }
     }
     return true;
 }
 private void CanExecuteActionProcess(SettingsViewModelBase viewModel)
 {
     MessageBoxDialog messageDialog = new MessageBoxDialog();
     messageDialog.Show(CanExecuteActionCallback, "Warning", String.Format("Sources or destinations of {0} cannot empty.", viewModel.Action.Name),
                        MessageBoxButton.OK);
 }
        public void LoadXmlFile()
        {
            if (null != m_SelectedActionViewModel)
            {
                m_SelectedActionViewModel = null;
            }

            string path = XMLManager.GetPathToLoadFile();

            if (null != path)
            {
                ActionViewModels.Clear();
                ActionViewModels = XMLManager.LoadConfigurationFile(path);
                SelectedViewModelsIndex(m_ActionViewModels.Count - 1);
            }
        }