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);
}