CalDavSynchronizer.Ui.Options.BulkOptions.ViewModels.GoogleServerSettingsTemplateViewModel.GetServerResources C# (CSharp) Метод

GetServerResources() публичный Метод

public GetServerResources ( NetworkSettingsViewModel networkSettings, GeneralOptions generalOptions ) : Task
networkSettings CalDavSynchronizer.Ui.Options.ViewModels.NetworkSettingsViewModel
generalOptions CalDavSynchronizer.Contracts.GeneralOptions
Результат Task
    public async Task<ServerResources> GetServerResources (NetworkSettingsViewModel networkSettings, GeneralOptions generalOptions)
    {
      var trimmedUrl = CalenderUrl.Trim();
      var url = new Uri (trimmedUrl.EndsWith ("/") ? trimmedUrl : trimmedUrl + "/");

      var webDavClient = CreateWebDavClient (networkSettings, generalOptions);
      var calDavDataAccess = new CalDavDataAccess (url, webDavClient);
      var foundResources = await calDavDataAccess.GetUserResourcesNoThrow (false);

      var foundAddressBooks = new[] { new AddressBookData (new Uri ("googleApi://defaultAddressBook"), "Default AddressBook") };

      var service = await GoogleHttpClientFactory.LoginToGoogleTasksService (EmailAddress, SynchronizerFactory.CreateProxy (networkSettings.CreateProxyOptions()));
      var taskLists = await service.Tasklists.List().ExecuteAsync();
      var taskListsData = taskLists?.Items.Select (i => new TaskListData (i.Id, i.Title)).ToArray() ?? new TaskListData[] { };

      return new ServerResources (foundResources.CalendarResources, foundAddressBooks, taskListsData);
    }