void OnNetworkStateChanged(object sender, NetworkStateEventArgs e)
{
RaiseNetworkStateChanged(e.ToState == NetworkState.Online || e.ToState == NetworkState.Connecting);
if(e.ToState == NetworkState.Connecting || e.ToState == NetworkState.Offline)
{
_studioRepo.Disconnect(ID);
if(AuthorizationService != null)
{
AuthorizationService.PermissionsChanged -= OnAuthorizationServicePermissionsChanged;
}
}
if(e.ToState == NetworkState.Online)
{
if(AuthorizationService == null)
{
AuthorizationService = CreateAuthorizationService(Connection);
AuthorizationService.PermissionsChanged += OnAuthorizationServicePermissionsChanged;
OnAuthorizationServicePermissionsChanged(null, new EventArgs());
}
}
}