public DBResult <LegalAgreement> GetActiveByAgreementType(LegalAgreementType agreementTypeCode) { LegalAgreement legalAgreement = this.dbContext.LegalAgreement .Where(la => la.EffectiveDate <= DateTime.UtcNow) .Where(la => agreementTypeCode.Equals(la.LegalAgreementCode)) .OrderByDescending(la => la.EffectiveDate) .FirstOrDefault(); return(new DBResult <LegalAgreement>() { Payload = legalAgreement, Status = DBStatusCode.Read, }); }
public void Process() { Console.WriteLine(this.GetType().Name); List <LegalAgreementConfig> agreementConfigs = this.configuration.GetSection($"{JobKey}:{AgreementsKey}").Get <List <LegalAgreementConfig> >(); this.logger.LogInformation($"Found {agreementConfigs.Count} agreements to process"); foreach (LegalAgreementConfig lac in agreementConfigs) { this.logger.LogInformation($"Processing {lac.Name}, looking up Legal Agreement code {lac.Code}"); LegalAgreementType agreement = EnumUtility.ToEnum <LegalAgreementType>(lac.Code, true); DBResult <LegalAgreement> legalAgreementsResult = this.legalAgreementDelegate.GetActiveByAgreementType(agreement); if (legalAgreementsResult.Status == DBStatusCode.Read) { this.ProcessLegalAgreement(legalAgreementsResult.Payload, lac); } else { this.logger.LogCritical($"Unable to read {lac.Name} from the DB ABORTING..."); } } }