public void SetPresentationObjectProcessor(IPresentationObjectProcessor <TReportPo> processor) { presentationObjectProcessor = processor; }
public List <Models.Reports.AusgefuellteErfassungsformulareFuerOberflaechenschaeden> GetPreviewModels(AusgefuellteErfassungsformulareFuerOberflaechenschaedenParameter parameter, IPresentationObjectProcessor <Models.Reports.AusgefuellteErfassungsformulareFuerOberflaechenschaeden> presentationObjectProcessor) { if (AvailableInCurrentErfassungPeriod || parameter.ErfassungsPeriodId != null) { var erfassungsmodus = GetNetzErfassungsmodus(parameter); switch (erfassungsmodus) { case NetzErfassungsmodus.Summarisch: return(new List <Models.Reports.AusgefuellteErfassungsformulareFuerOberflaechenschaeden>()); case NetzErfassungsmodus.Tabellarisch: return(GetZustandsabschnitten(parameter).Fetch(za => za.Strassenabschnitt) .Select(entityServiceMappingEngine.Translate <Zustandsabschnitt, Models.Reports.AusgefuellteErfassungsformulareFuerOberflaechenschaeden>).ToList()); case NetzErfassungsmodus.Gis: var erfassungPeriod = GetErfassungsPeriod(parameter); //NOTE: Manually Fetch because a random OracleClient memory access exception var routeGis = scopeProvider.Queryable <InspektionsRouteGIS>().Where(e => e.ErfassungsPeriod == erfassungPeriod).ToList(); return(GetZustandsabschnittenGIS(parameter) .Fetch(za => za.StrassenabschnittGIS) .ThenFetchMany(sa => sa.InspektionsRtStrAbschnitte) //.ThenFetch(irsa => irsa.InspektionsRouteGIS) .Select(entityServiceMappingEngine.Translate <ZustandsabschnittGIS, Models.Reports.AusgefuellteErfassungsformulareFuerOberflaechenschaeden>).ToList()); default: throw new ArgumentOutOfRangeException(); } } return(new List <Models.Reports.AusgefuellteErfassungsformulareFuerOberflaechenschaeden>()); }
public IEmsgPoProviderBase CreateEmsgPoProvider <TEmsgReportParameter, TReportPo>(TEmsgReportParameter poProviderParameter, IPresentationObjectProcessor <TReportPo> presentationObjectProcessor) where TEmsgReportParameter : EmsgReportParameter where TReportPo : new() { IPoProvider poProvider = GetPoProvider(poProviderParameter); if (poProvider is IEmsgModeDependentPoProviderBase <TEmsgReportParameter, TReportPo> ) { var emsgPoProvider = (IEmsgModeDependentPoProviderBase <TEmsgReportParameter, TReportPo>)poProvider; emsgPoProvider.SetPresentationObjectProcessor(presentationObjectProcessor); } poProvider.SetBaseParameter(poProviderParameter); poProvider.LoadDataSources(poProviderParameter); return((IEmsgPoProviderBase)poProvider); }