Beispiel #1
0
        /// <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);
            }
        }