コード例 #1
0
 private void GetAccountSettings()
 {
     _getAccountSettingsCommand.SetCanExecute(false);
     try
     {
         var serverAccountSettings = _outlookAccountPasswordProvider.GetAccountServerSettings(_currentOptions.FolderAccountName);
         EmailAddress = serverAccountSettings.EmailAddress;
         string path = !string.IsNullOrEmpty(CalenderUrl) ? new Uri(CalenderUrl).AbsolutePath : string.Empty;
         bool   success;
         var    dnsDiscoveredUrl = OptionTasks.DoSrvLookup(EmailAddress, OlItemType.olAppointmentItem, out success);
         CalenderUrl        = success ? dnsDiscoveredUrl : "https://" + serverAccountSettings.ServerString + path;
         UserName           = serverAccountSettings.UserName;
         UseAccountPassword = true;
     }
     catch (Exception x)
     {
         s_logger.Error("Exception while getting account settings.", x);
         string message = null;
         for (Exception ex = x; ex != null; ex = ex.InnerException)
         {
             message += ex.Message + Environment.NewLine;
         }
         MessageBox.Show(message, "Account settings");
     }
     finally
     {
         _getAccountSettingsCommand.SetCanExecute(true);
     }
 }
コード例 #2
0
        public async Task <ServerResources> GetServerResources()
        {
            string caldavUrlString;
            string carddavUrlString;

            if (string.IsNullOrEmpty(CalenderUrl) && !string.IsNullOrEmpty(EmailAddress))
            {
                bool success;
                caldavUrlString  = OptionTasks.DoSrvLookup(EmailAddress, OlItemType.olAppointmentItem, out success);
                carddavUrlString = OptionTasks.DoSrvLookup(EmailAddress, OlItemType.olContactItem, out success);
            }
            else
            {
                caldavUrlString  = CalenderUrl;
                carddavUrlString = CalenderUrl;
            }

            var trimmedCaldavUrl = caldavUrlString.Trim();
            var caldavUrl        = new Uri(trimmedCaldavUrl.EndsWith("/") ? trimmedCaldavUrl : trimmedCaldavUrl + "/");

            var trimmedCarddavUrl = carddavUrlString.Trim();
            var carddavUrl        = new Uri(trimmedCarddavUrl.EndsWith("/") ? trimmedCarddavUrl : trimmedCarddavUrl + "/");

            var webDavClientCaldav  = _prototypeModel.CreateWebDavClient(new Uri(trimmedCaldavUrl));
            var webDavClientCarddav = _prototypeModel.CreateWebDavClient(new Uri(trimmedCarddavUrl));
            var calDavDataAccess    = new CalDavDataAccess(caldavUrl, webDavClientCaldav);
            var cardDavDataAccess   = new CardDavDataAccess(carddavUrl, webDavClientCarddav, string.Empty, contentType => true);

            return(await GetUserResources(calDavDataAccess, cardDavDataAccess));
        }
        public async Task <ServerResources> GetServerResources(NetworkSettingsViewModel networkSettings, GeneralOptions generalOptions)
        {
            string caldavUrlString;
            string carddavUrlString;

            if (string.IsNullOrEmpty(CalenderUrl) && !string.IsNullOrEmpty(EmailAddress))
            {
                bool success;
                caldavUrlString  = OptionTasks.DoSrvLookup(EmailAddress, OlItemType.olAppointmentItem, out success);
                carddavUrlString = OptionTasks.DoSrvLookup(EmailAddress, OlItemType.olContactItem, out success);
            }
            else
            {
                caldavUrlString  = CalenderUrl;
                carddavUrlString = CalenderUrl;
            }

            var trimmedCaldavUrl = caldavUrlString.Trim();
            var caldavUrl        = new Uri(trimmedCaldavUrl.EndsWith("/") ? trimmedCaldavUrl : trimmedCaldavUrl + "/");

            var trimmedCarddavUrl = carddavUrlString.Trim();
            var carddavUrl        = new Uri(trimmedCarddavUrl.EndsWith("/") ? trimmedCarddavUrl : trimmedCarddavUrl + "/");

            var webDavClientCaldav  = CreateWebDavClient(networkSettings, generalOptions, trimmedCaldavUrl);
            var webDavClientCarddav = CreateWebDavClient(networkSettings, generalOptions, trimmedCarddavUrl);
            var calDavDataAccess    = new CalDavDataAccess(caldavUrl, webDavClientCaldav);
            var cardDavDataAccess   = new CardDavDataAccess(carddavUrl, webDavClientCarddav);

            return(await GetUserResources(calDavDataAccess, cardDavDataAccess));
        }
コード例 #4
0
        public void AutoFillServerSettings(OptionsModel optionsModel)
        {
            var serverAccountSettings = _outlookAccountPasswordProvider.GetAccountServerSettings(optionsModel.FolderAccountName);

            optionsModel.EmailAddress = serverAccountSettings.EmailAddress;
            string path = !string.IsNullOrEmpty(optionsModel.CalenderUrl) ? new Uri(optionsModel.CalenderUrl).AbsolutePath : string.Empty;
            bool   success;
            var    dnsDiscoveredUrl = OptionTasks.DoSrvLookup(optionsModel.EmailAddress, OlItemType.olAppointmentItem, out success);

            optionsModel.CalenderUrl        = success ? dnsDiscoveredUrl : "https://" + serverAccountSettings.ServerString + path;
            optionsModel.UserName           = serverAccountSettings.UserName;
            optionsModel.UseAccountPassword = true;
        }