public static IDictionary <string, string> GetConfigurationSetting() { IDictionary <string, string> Configurations = new Dictionary <string, string>(); try { using (var context = new PickeringsContext()) { var ConfigurationSetting = context.ConfigurationSettings.ToList <ConfigurationSetting>(); Configurations.Add("PickeringsEmailID", ConfigurationSetting.Where(p => p.Name == "PickeringsEmailID").FirstOrDefault().Value); Configurations.Add("PickeringsEmailPassword", ConfigurationSetting.Where(p => p.Name == "PickeringsEmailPassword").FirstOrDefault().Value); Configurations.Add("ToAddress", ConfigurationSetting.Where(p => p.Name == "ToAJGEmailAddress").FirstOrDefault().Value); Configurations.Add("SmtpClient", ConfigurationSetting.Where(p => p.Name == "SmtpClient").FirstOrDefault().Value); Configurations.Add("PortId", ConfigurationSetting.Where(p => p.Name == "PortId").FirstOrDefault().Value); Configurations.Add("EmailToAJGrecoveryPath", ConfigurationSetting.Where(p => p.Name == "EmailToAJGrecoveryPath").FirstOrDefault().Value); Configurations.Add("EmailToInitiatorRecoveryPath", ConfigurationSetting.Where(p => p.Name == "EmailToInitiatorRecoveryPath").FirstOrDefault().Value); Configurations.Add("DatabaseRecoveryPath", ConfigurationSetting.Where(p => p.Name == "DatabaseRecoveryPath").FirstOrDefault().Value); } } catch (Exception ex) { WriteCustomErrorLog.WriteLog("Database error while fetching configuration settings"); throw new Exception(ex.Message); } return(Configurations); }
public static ClaimAdvice StoreClaimAdvice(ClaimAdvice claimAdvice, List <string> filePaths, string databaseRecoveryPath) { try { int isSaved; using (var context = new PickeringsContext()) { context.ClaimAdvices.Add(claimAdvice); isSaved = context.SaveChanges(); claimAdvice.ReferenceNumber = "PCAF" + claimAdvice.id; context.SaveChanges(); } if (isSaved == 0) { WriteCustomErrorLog.WriteLog("An error occured while saving claim advice - Email-" + claimAdvice.ContactEmail.ToString()); CsvGenerator.SaveAsCsV(claimAdvice, @databaseRecoveryPath, filePaths, true); } } catch (Exception ex) { WriteCustomErrorLog.WriteLog("An error occured while saving claim advice - Email-" + claimAdvice.ContactEmail.ToString()); CsvGenerator.SaveAsCsV(claimAdvice, @databaseRecoveryPath, filePaths, true); if (filePaths.Count > 0) { string serverPath = Path.GetDirectoryName(filePaths[0]); new FileHandler().DeleteFiles(serverPath); } throw new Exception(ex.Message); } return(claimAdvice); }
public void SendMail(List <string> attachmentFilesPath, ClaimAdvice claimAdvice, IDictionary <string, string> Configurations) { string[] emailBodys = HtmlTableGenerator.CreateHtmlMail(claimAdvice); bool mailSentStatus = EmailSender.SendMail(Configurations, emailBodys[0], "Pickerings Claim Submission – Reference Number " + claimAdvice.ReferenceNumber, attachmentFilesPath); if (!mailSentStatus) { WriteCustomErrorLog.WriteLog("Email failed to AJG - Ref # : " + claimAdvice.ReferenceNumber.ToString()); CsvGenerator.SaveAsCsV(claimAdvice, @Configurations["EmailToAJGrecoveryPath"], attachmentFilesPath); } Configurations["ToAddress"] = claimAdvice.ContactEmail; mailSentStatus = EmailSender.SendMail(Configurations, emailBodys[1], "Pickerings Claim Submission – Reference Number " + claimAdvice.ReferenceNumber); if (!mailSentStatus) { WriteCustomErrorLog.WriteLog("Email failed to initiator - Ref # : " + claimAdvice.ReferenceNumber.ToString()); CsvGenerator.SaveAsCsV(claimAdvice, @Configurations["EmailToInitiatorRecoveryPath"], attachmentFilesPath); } if (attachmentFilesPath.Count > 0) { string serverPath = Path.GetDirectoryName(attachmentFilesPath[0]); new FileHandler().DeleteFiles(serverPath); } }
public JsonResult FormPost(FormCollection formValues) { string claimsAdviceData = Request.Form["claimsAdvice"]; var dateformat = "dd/MM/yyyy"; var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = dateformat }; ClaimAdvice claimAdvice = JsonConvert.DeserializeObject <ClaimAdvice>(claimsAdviceData, dateTimeConverter); claimAdvice = RemoveEmptyItems(claimAdvice); List <HttpPostedFileBase> fileCollection = new List <HttpPostedFileBase>(); try { foreach (string file in Request.Files) { var fileContent = Request.Files[file]; if (fileContent != null && fileContent.ContentLength > 0) { fileCollection.Add(fileContent); } } } catch (Exception ex) { WriteCustomErrorLog.WriteLog("Error occured while adding file collection"); throw new Exception(ex.Message); } List <string> attachmentFilesPath = new FileHandler().fileSave(fileCollection, claimAdvice.ContactEmail + DateTime.Now.ToString("ddMMyyhhmmsstt")); fileCollection.Clear(); IDictionary <string, string> Configurations = PickeringsRepository.GetConfigurationSetting(); ClaimAdvice storedClaimAdvice = PickeringsRepository.StoreClaimAdvice(claimAdvice, attachmentFilesPath, Configurations["DatabaseRecoveryPath"]); Thread MailThread = new Thread(new ThreadStart(delegate() { SendMail(attachmentFilesPath, storedClaimAdvice, Configurations); })); MailThread.Start(); string[] referenceNumber = { claimAdvice.ReferenceNumber, string.Format("{0:dd/MM/yy hh:mm:ss tt}", storedClaimAdvice.CreationDate) }; return(Json(referenceNumber, JsonRequestBehavior.AllowGet)); }
public JsonResult AllInsuredDetails() { List <InsuredDropDown> insuredDetails; try { insuredDetails = new PickeringsRepository().GetAllInsured(); } catch (Exception ex) { WriteCustomErrorLog.WriteLog("Database error while fetching all insured details"); throw new Exception(ex.Message); } return(Json(insuredDetails, JsonRequestBehavior.AllowGet)); }
public ClaimAdvice RemoveEmptyItems(ClaimAdvice claimAdvice) { ClaimAdvice objClaimAdvice = new ClaimAdvice(); objClaimAdvice = claimAdvice; try { objClaimAdvice.SupportingFileUploads.RemoveAll(item => item.UploadFilename == "" || item.UploadFilename == null); objClaimAdvice.ThirdPartyFileUploads.RemoveAll(item => item.UploadFilename == "" || item.UploadFilename == null); objClaimAdvice.SceneWitnesses.RemoveAll(item => item.Name == "" && item.Address == "" && item.Phone == "" && item.Registration == ""); objClaimAdvice.ThirdPartyBlames.RemoveAll(item => item.Name == "" && item.Address == "" && item.Phone == "" && item.Registration == ""); objClaimAdvice.Claims.RemoveAll(item => item.PropertyDescription == "" && item.ItemAge == ""); } catch (Exception ex) { WriteCustomErrorLog.WriteLog("Error occured while removing empty list items from claim advice"); throw new Exception(ex.Message); } return(objClaimAdvice); }