/// <summary> /// Save Error /// </summary> /// <param name="IPAddress">IPAddress</param> /// <param name="LogType">LogType</param> /// <param name="ModuleName">ModuleName</param> /// <param name="TrackTrace">TrackTrace</param> /// <param name="SystemErrorMesage">SystemErrorMesage</param> /// <param name="CustomErrorMessage">CustomErrorMessage</param> public void SaveError(string IPAddress, string LogType, string ModuleName, string TrackTrace, string SystemErrorMesage, string CustomErrorMessage) { try { ErrorLog error = new ErrorLog(); error.CreatedAt = DateTime.UtcNow; error.IPAddress = IPAddress; error.CustomErrorMessage = CustomErrorMessage; error.LogType = LogType; error.ModuleName = ModuleName; error.SystemErrorMessage = SystemErrorMesage; error.TrackTrace = TrackTrace; dataContext.ErrorLogs.Add(error); dataContext.SaveChanges(); if (Convert.ToBoolean(_configuration["EnableSendErrorEmail"]) == true) { EmailRequestErrorDTO emailrequest = new EmailRequestErrorDTO(); emailrequest.CC = _configuration["ErrorCC"]; emailrequest.To = _configuration["ErrorTo"]; emailrequest.IPAddress = IPAddress; emailrequest.CustomErrorMessage = CustomErrorMessage; emailrequest.LogType = LogType; emailrequest.ModuleName = ModuleName; emailrequest.SystemErrorMesage = SystemErrorMesage; emailrequest.TrackTrace = TrackTrace; emailrequest.CreatedAt = error.CreatedAt; emailrequest.EmailTemplateName = "ERRORLOGEMAIL"; EmailHelperError ehelper = new EmailHelperError(dataContext, _configuration); ehelper.SendErrorMail(emailrequest); } } catch { } }
/// <summary> /// SendErrorMail /// </summary> /// <param name="emailRequest"></param> /// <returns></returns> public bool SendErrorMail(EmailRequestErrorDTO emailRequest) { try { SendEmailHelper objEmail = new SendEmailHelper(); objEmail.HostName = _configuration["HostName"]; objEmail.Port = Int32.Parse(_configuration["Port"]); objEmail.FromEmail = _configuration["FromEmail"]; objEmail.EnableSsl = true; objEmail.DeliveryMethod = SmtpDeliveryMethod.Network; objEmail.Password = _configuration["Password"]; objEmail.UserName = _configuration["UserNameData"]; objEmail.TO = emailRequest.To; if (emailRequest.CC != null) { objEmail.CC = emailRequest.CC; } if (emailRequest.BCC != null) { objEmail.BCC = emailRequest.BCC; } var emaiTemplate = dataContext.EmailTemplates.FirstOrDefault(x => x.EmailTemplateName == emailRequest.EmailTemplateName); if (emaiTemplate != null) { objEmail.Subject = emaiTemplate.Subject; string body = emaiTemplate.EmailBody; if (emailRequest.IPAddress != null) { body = body.Replace("#IPAddress#", emailRequest.IPAddress); } if (emailRequest.LogType != null) { body = body.Replace("#LogType#", emailRequest.LogType); } if (emailRequest.CustomErrorMessage != null) { body = body.Replace("#CustomErrorMessage#", emailRequest.CustomErrorMessage); } if (emailRequest.ModuleName != null) { body = body.Replace("#ModuleName#", emailRequest.ModuleName); } if (emailRequest.TrackTrace != null) { body = body.Replace("#TrackTrace#", emailRequest.TrackTrace); } if (emailRequest.SystemErrorMesage != null) { body = body.Replace("#SystemErrorMesage#", emailRequest.SystemErrorMesage); } if (emailRequest.CreatedAt != null) { string currentDateString = String.Format("{0:MM-dd-yyyy}", emailRequest.CreatedAt); body = body.Replace("#CreatedDate#", currentDateString); } body = body.Replace("#Year#", DateTime.Now.Year.ToString()); objEmail.Body = body; var mail = objEmail.SendEmail(); return(mail); } else { return(false); } } catch { return(false); } }