private IHtmlGenerator GetOtodomGenerator() { IHtmlGenerator otodomHtmlGenerator = new OtodomHtmlGenerator(); try { var privateOffers = _otoDomRepository.GetPrivateFlats(); var mappedPrivate = MapToFlatsBM(privateOffers); var privateFlatAggregate = new FlatAggregateVm(mappedPrivate); var allOffers = _otoDomRepository.GetActiveFlats(); var flatDataBMs = MapToFlatsBM(allOffers); var allFlatAggregate = new FlatAggregateVm(flatDataBMs); SaveFlatSeries(allOffers); var flatsOutput = new FlatOutput(privateFlatAggregate.FlatCalculations, allFlatAggregate.FlatCalculations); otodomHtmlGenerator = _emailGeneratorFactory.GetGenerator(EmailGenerator.Otodom); otodomHtmlGenerator.SetBodyData(flatsOutput); } catch (Exception e) { _log.Error($"Failed to generate {nameof(OtodomHtmlGenerator)} data.", e); } return(otodomHtmlGenerator); }
public void SetBodyData(object data) { this.flatOutput = data as FlatOutput; if (this.flatOutput != null) { DataDictionary.Add("private_flats", flatOutput.PrivateFlatsByCategory); DataDictionary.Add("all_flats", flatOutput.AllFlatsByCategory); } }