public static void SyncSemiStaticData() { DatabaseInit._LogHandler.WriteLog("SyncSemiStaticData()", LogSeverity.Information, LogCategory.DataAccess); using (var httpHandler = new HttpClientHandler()) { httpHandler.UseDefaultCredentials = true; using (var httpClient = new HttpClient(httpHandler)) { httpClient.BaseAddress = new Uri(Properties.Settings.Default.ServicesHostUrl); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); using (var consoleRepository = new ConsoleRepository()) { DatabaseInit.SyncBrokers(httpClient, consoleRepository); DatabaseInit.SyncNonLondonBrokers(httpClient, consoleRepository); DatabaseInit.SyncCOBs(httpClient, consoleRepository); DatabaseInit.SyncOffices(httpClient, consoleRepository); DatabaseInit.SyncUnderwriters(httpClient, consoleRepository); DatabaseInit.SyncRiskCodes(httpClient, consoleRepository); DatabaseInit.UpdateSipAddresses(consoleRepository); DatabaseInit.UpdateEmailAddresses(consoleRepository); DatabaseInit.UpdateUserPictures(consoleRepository); consoleRepository.SaveChanges(); } } } }
public void Audit(string source, string reference, string title, string description) { //todo: need to work on dispose using (IConsoleRepository consoleRepository = new ConsoleRepository()) { consoleRepository.Add(new AuditTrail { Source = source, Reference = reference, Title = title, Description = description }); consoleRepository.SaveChanges(); } }
public string CreateQuoteSheet(CreateQuoteSheetDto dto, out Submission submission) { // TODO: use the correct quote sheet... var quoteSheetTemplateId = dto.QuoteSheetTemplateId; dto.QuoteSheetTemplateUrl = this.ConsoleRepository.Query <QuoteTemplate>() .FirstOrDefault(qt => qt.Id == dto.QuoteSheetTemplateId).RdlPath; dto.QuoteSheetTemplateName = this.ConsoleRepository.Query <QuoteTemplate>() .FirstOrDefault(qt => qt.Id == dto.QuoteSheetTemplateId).Name; submission = this.SubmissionModule.GetSubmissionById(dto.SubmissionId); //todo this is done to clear previous context. has to be fixed once softdelet is fixed. using (IConsoleRepository consoleRepository = new ConsoleRepository()) { if (submission == null) { throw new KeyNotFoundException(string.Format(this.NotFoundMessage, dto.SubmissionId)); } consoleRepository.Attach(submission); var currentUser = consoleRepository.Query <User>() .FirstOrDefault(u => u.DomainLogon == this.HttpContext.CurrentUser.Identity.Name); if (currentUser == null) { throw new ApplicationException("Current user could not be found"); } var versions = (from version in submission.Options.SelectMany(o => o.OptionVersions) from option in dto.OptionList where version.OptionId == option.OptionId from versionNumber in option.OptionVersionNumberList where version.VersionNumber == versionNumber select version).ToList(); var isDeclinature = false; var submSt = submission.Options.Select(s => s) .SelectMany(o => o.OptionVersions) .SelectMany(ov => ov.Quotes) .Where(q => q.IsSubscribeMaster).Select(s => s.SubmissionStatus).Distinct().ToList(); if ((submSt.Count == 1) && (submSt.FirstOrDefault().Equals(Settings.Default["DeclinatureSubmissionStatus"].ToString()))) { isDeclinature = true; } var quotesheet = new QuoteSheet {//Todo: S2Q Title = string.Format(this.QuoteSheetTitle, submission.Title, versions.SelectMany(ov => ov.Quotes).First().InsuredName, DateTime.Now), IssuedBy = currentUser, IssuedById = currentUser.Id, IssuedDate = DateTime.Now, ObjectStore = Settings.Default["DMSObjectStore"].ToString(), DocumentClass = Settings.Default["DMSDocumentClass"].ToString(), DocumentType = isDeclinature ? Settings.Default["DeclinatureDocType"].ToString() : Settings.Default["QuoteDocType"].ToString() }; var content = this.QuoteSheetData.CreateQuoteSheetPdf(dto, isDeclinature); quotesheet.Guid = this.QuoteSheetData.SaveQuoteSheetToDMS(quotesheet, content, submission, isDeclinature); quotesheet.OptionVersions = versions; if (!isDeclinature) { foreach (var quote in versions.SelectMany(ov => ov.Quotes)) { if (!quote.SubmissionStatus.Equals(Settings.Default["DeclinatureSubmissionStatus"].ToString())) { quote.OptionVersion.IsLocked = true; quote.SubmissionStatus = "QUOTED"; } } } consoleRepository.Add(quotesheet); consoleRepository.SaveChanges(); return(string.Format(this.QuoteSheetUrl, ConfigurationManager.AppSettings["UWDmsFileDownloadURL"], quotesheet.Guid)); } }