void OnServerChanged(object obj)
{
var tmpEnv = obj as IEnvironmentModel;
if (!DoDeactivate())
{
return;
}
CurrentEnvironment = tmpEnv;
if (CurrentEnvironment != null && CurrentEnvironment.AuthorizationService != null && CurrentEnvironment.IsConnected)
{
if (CurrentEnvironment.AuthorizationService.IsAuthorized(AuthorizationContext.Administrator, null))
{
ClearConnectionError();
_resourcePicker = new ResourcePickerDialog(enDsfActivityType.Workflow, CurrentEnvironment);
ScheduledResourceModel = new ClientScheduledResourceModel(CurrentEnvironment);
IsLoading = true;
_asyncWorker.Start(
() =>
ScheduledResourceModel.ScheduledResources = ScheduledResourceModel.GetScheduledResources(), () =>
{
foreach (var scheduledResource in ScheduledResourceModel.ScheduledResources)
{
scheduledResource.NextRunDate = scheduledResource.Trigger.Trigger.StartBoundary;
scheduledResource.OldName = scheduledResource.Name;
}
NotifyOfPropertyChange(() => TaskList);
if (TaskList.Count > 0)
{
SelectedTask = TaskList[0];
}
IsLoading = false;
});
}
else
{
SetConnectionError();
ClearViewModel();
}
}
else
{
ClearConnectionError();
ClearViewModel();
}
}