public void SetPresentationObjectProcessor(IPresentationObjectProcessor <TReportPo> processor)
 {
     presentationObjectProcessor = processor;
 }
Ejemplo n.º 2
0
        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>());
        }
Ejemplo n.º 3
0
        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);
        }