Inheritance: ViewModelBase, IOptionsViewModel
示例#1
0
        private bool Validate(out string errorMessage, out OptionsViewModelBase firstViewModelWithError)
        {
            StringBuilder errorMessageBuilder = new StringBuilder();
            bool          isValid             = true;

            firstViewModelWithError = null;

            foreach (var viewModel in _options)
            {
                StringBuilder currentControlErrorMessageBuilder = new StringBuilder();

                if (!viewModel.Validate(currentControlErrorMessageBuilder))
                {
                    if (errorMessageBuilder.Length > 0)
                    {
                        errorMessageBuilder.AppendLine();
                    }

                    errorMessageBuilder.AppendFormat("Profile '{0}'", viewModel.Name);
                    errorMessageBuilder.AppendLine();
                    errorMessageBuilder.Append(currentControlErrorMessageBuilder);

                    isValid = false;
                    if (firstViewModelWithError == null)
                    {
                        firstViewModelWithError = viewModel;
                    }
                }
            }

            errorMessage = errorMessageBuilder.ToString();
            return(isValid);
        }
示例#2
0
        public void RequestCacheDeletion(OptionsViewModelBase viewModel)
        {
            s_logger.InfoFormat("Deleting cache for profile '{0}'", viewModel.Name);

            var profileDataDirectory = _profileDataDirectoryFactory(viewModel.Id);

            if (Directory.Exists(profileDataDirectory))
            {
                Directory.Delete(profileDataDirectory, true);
            }

            MessageBox.Show("A new intial sync will be performed with the next sync run!", "Profile cache deleted", MessageBoxButton.OK, MessageBoxImage.Information);
        }
示例#3
0
        public void RequestCopy(OptionsViewModelBase viewModel)
        {
            var options = new CalDavSynchronizer.Contracts.Options();

            viewModel.FillOptions(options);
            options.Id    = Guid.NewGuid();
            options.Name += " (Copy)";

            var index = _options.IndexOf(viewModel) + 1;

            foreach (var vm in _optionsViewModelFactory.Create(new[] { options }, _fixInvalidSettings))
            {
                _options.Insert(index, vm);
            }
        }
示例#4
0
 public void RequestDeletion(OptionsViewModelBase viewModel)
 {
     _options.Remove(viewModel);
 }
 public void RequestCacheDeletion(OptionsViewModelBase viewModel)
 {
 }
 public void RequestCopy(OptionsViewModelBase viewModel)
 {
 }