/// <summary> /// Send exception to mail box /// </summary> /// <param name="ex">exception object</param> public static async Task RaiseErrorAsync(this ErrorModel ex) { try { var bugTrackerToAddress = await DataAccessObject.ExecuteScalarAsync <string>(@"SELECT dbo.GetSettingByKey('BugTrackerAddress')"); var bugTrackerFromServicePass = await DataAccessObject.ExecuteScalarAsync <string>(@"SELECT dbo.GetSettingByKey('BugTrackerServicePassword')"); var bugTrackerFromServiceAddress = await DataAccessObject.ExecuteScalarAsync <string>(@"SELECT dbo.GetSettingByKey('BugTrackerServiceAddress')"); var mail = ex.GetMailMessage(bugTrackerFromServiceAddress, bugTrackerToAddress); var server = GetMailServer(bugTrackerFromServiceAddress, bugTrackerFromServicePass); await server.SendMailAsync(mail); } catch (Exception exp) { Elmah.ErrorSignal.FromCurrentContext().Raise(exp); } }