protected virtual void LicenseStatusChange(LicenseStatus oldObj, LicenseStatus newObj) { Action<LicenseStatusEventArg> handler = licenseChange; if (licenseChange != null) { LicenseStatusEventArg arg = new LicenseStatusEventArg(); arg.oldStatus = oldObj; arg.NewStatus = newObj; licenseStatus = newObj; handler(arg); } }
void licenseClient_licenseChange(LicenseStatusEventArg obj) { System.Diagnostics.Debug.WriteLine(obj.oldStatus + " And " +obj.NewStatus.ToString()); switch (obj.NewStatus) { case LicenseStatus.joinLicense: { WriteLog("licenseChange 이벤트 발생 " + LicenseStatus.joinLicense.ToString()); Dispatcher.BeginInvoke(delegate(){ LicenseState.Fill = new SolidColorBrush(Colors.Blue);}); } break; case LicenseStatus.fullLicense: { Dispatcher.BeginInvoke(delegate() { var parameters = new DialogParameters() { Content = LicenseStatus.fullLicense.ToString() + " 다음 라이센스까지 " + licenseClient.nextLicenseTime, Theme = new Windows8Theme() }; RadWindow.Alert(parameters); LicenseState.Fill = new SolidColorBrush(Colors.Yellow); }); WriteLog("licenseChange 이벤트 발생 current is " + LicenseStatus.fullLicense.ToString()); } break; case LicenseStatus.stopConnection: { WriteLog("licenseChange 이벤트 발생 " + LicenseStatus.stopConnection.ToString()); Dispatcher.BeginInvoke(delegate(){ LicenseState.Fill = new SolidColorBrush(Colors.Red);}); } break; case LicenseStatus.reConnectLicense: { WriteLog("licenseChange 이벤트 발생 " + LicenseStatus.reConnectLicense.ToString()); Dispatcher.BeginInvoke(delegate(){ LicenseState.Fill = new SolidColorBrush(Colors.Green);}); } break; default: break; } }