public bool Validate(StringBuilder errorMessageBuilder)
        {
            bool result = true;

            if (_serverAdapterType != ServerAdapterType.GoogleTaskApi)
            {
                result &= OptionTasks.ValidateWebDavUrl(CalenderUrl, errorMessageBuilder, true);
            }

            result &= OptionTasks.ValidateGoogleEmailAddress(errorMessageBuilder, EmailAddress);

            return(result);
        }
Esempio n. 2
0
        public bool Validate(StringBuilder errorMessageBuilder)
        {
            bool result = true;

            if (_selectedFolderOrNull == null)
            {
                errorMessageBuilder.AppendLine(Strings.Get($"- There is no Outlook folder selected."));
                result = false;
            }

            if (_useWebDavCollectionSync && _selectedFolderOrNull?.DefaultItemType != OlItemType.olAppointmentItem && _selectedFolderOrNull?.DefaultItemType != OlItemType.olContactItem)
            {
                errorMessageBuilder.AppendLine(Strings.Get($"- WebDav collection sync is currently just supported for appointments and contacts."));
                result = false;
            }

            if (_isGoogle)
            {
                var serverAdapterType = ServerAdapterType;
                if (serverAdapterType != ServerAdapterType.GoogleTaskApi && serverAdapterType != ServerAdapterType.GoogleContactApi)
                {
                    result &= OptionTasks.ValidateWebDavUrl(CalenderUrl, errorMessageBuilder, true);
                }

                result &= OptionTasks.ValidateGoogleEmailAddress(errorMessageBuilder, EmailAddress);
            }
            else
            {
                result &= OptionTasks.ValidateWebDavUrl(CalenderUrl, errorMessageBuilder, true);
                result &= OptionTasks.ValidateEmailAddress(errorMessageBuilder, EmailAddress);
            }

            if (IsChunkedSynchronizationEnabled && ChunkSize < 1)
            {
                result = false;
                errorMessageBuilder.AppendLine(Strings.Get($"- The chunk size has to be 1 or greater."));
            }

            if (MappingConfigurationModelOrNull != null)
            {
                result &= MappingConfigurationModelOrNull.Validate(errorMessageBuilder);
            }

            return(result);
        }
Esempio n. 3
0
        public bool Validate(StringBuilder errorMessageBuilder)
        {
            bool result = true;

            if (_selectedFolderOrNull == null)
            {
                errorMessageBuilder.AppendLine("- There is no Outlook Folder selected.");
                result = false;
            }

            if (_isGoogle)
            {
                var serverAdapterType = ServerAdapterType;
                if (serverAdapterType != ServerAdapterType.GoogleTaskApi && serverAdapterType != ServerAdapterType.GoogleContactApi)
                {
                    result &= OptionTasks.ValidateWebDavUrl(CalenderUrl, errorMessageBuilder, true);
                }

                result &= OptionTasks.ValidateGoogleEmailAddress(errorMessageBuilder, EmailAddress);
            }
            else
            {
                result &= OptionTasks.ValidateWebDavUrl(CalenderUrl, errorMessageBuilder, true);
                result &= OptionTasks.ValidateEmailAddress(errorMessageBuilder, EmailAddress);
            }

            if (IsChunkedSynchronizationEnabled && ChunkSize < 1)
            {
                result = false;
                errorMessageBuilder.AppendLine("- The chunk size hast to be 1 or greater.");
            }

            if (MappingConfigurationModelOrNull != null)
            {
                result &= MappingConfigurationModelOrNull.Validate(errorMessageBuilder);
            }

            return(result);
        }