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); }
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); }
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); } }
public void RequestDeletion(OptionsViewModelBase viewModel) { _options.Remove(viewModel); }
public void RequestCacheDeletion(OptionsViewModelBase viewModel) { }
public void RequestCopy(OptionsViewModelBase viewModel) { }