private void GetCustomerCompleted(LoadOperation <Customer> lo)
{
if (lo.HasError)
{
LogActivityMessage(MessageLevelsEnum.Warn, "Error loading API key for notifications service. " + lo.Error.Message);
lo.MarkErrorAsHandled();
}
else
{
SIPEntitiesDomainContext riaContext = (SIPEntitiesDomainContext)lo.UserState;
Customer customer = riaContext.Customers.FirstOrDefault();
if (customer == null)
{
LogActivityMessage(MessageLevelsEnum.Warn, "User record could not be loaded when attempting to retrieve API key for notifications service.");
}
else
{
CDR.TimeZoneOffsetMinutes = customer.TimeZoneOffsetMinutes;
SIPProviderBinding.TimeZoneOffsetMinutes = customer.TimeZoneOffsetMinutes;
SIPRegistrarBinding.TimeZoneOffsetMinutes = customer.TimeZoneOffsetMinutes;
SIPAccount.TimeZoneOffsetMinutes = customer.TimeZoneOffsetMinutes;
m_serviceLevelTextBlock.Text = customer.ServiceLevel;
if (!m_notificationsURL.StartsWith("disable"))
{
m_sipNotifierClient = new SIPSorceryNotificationClient(LogActivityMessage, m_notificationsURL, customer.APIKey);
m_sipNotifierClient.StatusChanged += NotificationsServiceStatusChanged;
m_sipNotifierClient.MachineEventReceived += SIPEventMonitorClient_MonitorEventReceived;
m_monitorConsole.SetNotifierClient(m_sipNotifierClient);
m_sipNotifierClient.Connect();
}
}
}
}