本文整理汇总了C#中Cloud.DeepCopy方法的典型用法代码示例。如果您正苦于以下问题:C# Cloud.DeepCopy方法的具体用法?C# Cloud.DeepCopy怎么用?C# Cloud.DeepCopy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cloud
的用法示例。
在下文中一共展示了Cloud.DeepCopy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Connect
public ProviderResponse<Cloud> Connect(Cloud cloud)
{
ProviderResponse<Cloud> response = new ProviderResponse<Cloud>();
Cloud local = cloud.DeepCopy();
IVcapClient client = new VcapClient(local);
try
{
VcapClientResult result = client.Login();
if (!result.Success)
throw new Exception(result.Message);
local.AccessToken = client.CurrentToken;
var applications = client.GetApplications();
var provisionedServices = client.GetProvisionedServices();
var availableServices = client.GetSystemServices();
local.Applications.Synchronize(new SafeObservableCollection<Application>(applications), new ApplicationEqualityComparer());
local.Services.Synchronize(new SafeObservableCollection<ProvisionedService>(provisionedServices), new ProvisionedServiceEqualityComparer());
local.AvailableServices.Synchronize(new SafeObservableCollection<SystemService>(availableServices), new SystemServiceEqualityComparer());
foreach (Application app in local.Applications)
{
var instances = GetInstances(local, app);
if (instances.Response != null)
app.InstanceCollection.Synchronize(new SafeObservableCollection<Instance>(instances.Response), new InstanceEqualityComparer());
}
response.Response = local;
}
catch (Exception ex)
{
response.Message = ex.Message;
}
return response;
}
示例2: Connect
public ProviderResponse<Cloud> Connect(Cloud cloud)
{
var response = new ProviderResponse<Cloud>();
if (cloud.IsDataComplete)
{
Cloud local = cloud.DeepCopy();
IVcapClient client = new VcapClient(local);
try
{
client.Login();
local.AccessToken = client.CurrentToken;
var applications = client.GetApplications();
var provisionedServices = client.GetProvisionedServices();
var availableServices = client.GetSystemServices();
local.Applications.Synchronize(new SafeObservableCollection<Application>(applications), new ApplicationEqualityComparer());
local.Services.Synchronize(new SafeObservableCollection<ProvisionedService>(provisionedServices), new ProvisionedServiceEqualityComparer());
local.AvailableServices.Synchronize(new SafeObservableCollection<SystemService>(availableServices), new SystemServiceEqualityComparer());
foreach (Application app in local.Applications)
{
var instances = GetInstances(local, app);
if (instances.Response != null)
app.InstanceCollection.Synchronize(new SafeObservableCollection<Instance>(instances.Response), new InstanceEqualityComparer());
}
response.Response = local;
}
catch (Exception ex)
{
response.Response = null;
response.Message = ex.Message;
}
}
else
{
response.Message = Resources.CloudFoundryProvider_ConnectIncompleteData_Message;
}
return response;
}