CalDavSynchronizer.Ui.Options.SelectOptionsDisplayTypeForm.QueryProfileType C# (CSharp) Метод

QueryProfileType() публичный статический Метод

public static QueryProfileType ( ) : ProfileType?
Результат ProfileType?
    public static ProfileType? QueryProfileType ()
    {
      var form = new SelectOptionsDisplayTypeForm();
      if (form.ShowDialog() == DialogResult.OK)
      {
        if (form._genericTypeRadioButton.Checked)
          return ProfileType.Generic;
        if (form._googleTypeRadionButton.Checked)
          return ProfileType.Google;
        if (form._fruuxTypeRadioButton.Checked)
          return ProfileType.Fruux;
        if (form._posteoTypeRadioButton.Checked)
          return ProfileType.Posteo;
        if (form._yandexTypeRadioButton.Checked)
          return ProfileType.Yandex;
        if (form._gmxCalendarTypeRadioButton.Checked)
          return ProfileType.GmxCalendar;
        if (form._sarenetTypeRadioButton.Checked)
          return ProfileType.Sarenet;
        if (form._landmarksTypeRadioButton.Checked)
          return ProfileType.Landmarks;
        if (form._sogoTypeRadioButton.Checked)
          return ProfileType.Sogo;
        if (form._cozyTypeRadioButton.Checked)
          return ProfileType.Cozy;
        if (form._nextCloudTypeRadioButton.Checked)
          return ProfileType.Nextcloud;
      }

      return null;
    }
  }

Usage Example

        public static Contracts.Options CreateNewSynchronizationProfileOrNull(out ProfileType?type)
        {
            type = SelectOptionsDisplayTypeForm.QueryProfileType();
            if (!type.HasValue)
            {
                return(null);
            }

            var options = Contracts.Options.CreateDefault(type.Value);

            options.ServerAdapterType = (type == ProfileType.Google)
          ? ServerAdapterType.WebDavHttpClientBasedWithGoogleOAuth
          : ServerAdapterType.WebDavHttpClientBased;
            return(options);
        }