Beispiel #1
0
        internal ApproachService(
            Func <ISessionFactory, IApproachRepository> approachRepositoryFactory,
            Func <ISessionFactory, IEsaRepository> esaRepositoryFactory,
            ISessionFactoryProvider sessionFactoryProvider,
            IDeviationObserver deviationObserver,
            IDeviationFactory deviationFactory,
            IEsaDtoBuilder builder,
            IEsaFactory factory)
        {
            if (approachRepositoryFactory == null)
            {
                throw new ArgumentNullException("approachRepositoryFactory");
            }
            if (esaRepositoryFactory == null)
            {
                throw new ArgumentNullException("esaRepositoryFactory");
            }
            if (sessionFactoryProvider == null)
            {
                throw new ArgumentNullException("sessionFactoryProvider");
            }
            if (deviationObserver == null)
            {
                throw new ArgumentNullException("deviationObserver");
            }
            if (deviationFactory == null)
            {
                throw new ArgumentNullException("deviationFactory");
            }
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            ISessionFactory sessionFactory = sessionFactoryProvider.ForWorkspace();

            this.approachRepository = approachRepositoryFactory.Invoke(sessionFactory);
            this.esaRepository      = esaRepositoryFactory.Invoke(sessionFactory);
            this.deviationFactory   = deviationFactory;
            this.deviationObserver  = deviationObserver;
            this.builder            = builder;
            this.factory            = factory;
        }
Beispiel #2
0
        private static List <RouteSignal> CreateRouteSignals(OldRoute oldRoute, Route newRoute, SPM db)
        {
            List <RouteSignal>  signals = new List <RouteSignal>();
            IApproachRepository appRepo = ApproachRepositoryFactory.Create(db);

            foreach (var detail in oldRoute.Details)
            {
                var         approach = appRepo.GetApproachByApproachID(detail.ApproachId);
                RouteSignal signal   = new RouteSignal();
                signal.Route           = newRoute;
                signal.Order           = detail.Order;
                signal.SignalId        = approach.SignalID;
                signal.PhaseDirections = CreateRoutePhaseDirections(signal, detail, approach, db);
                signals.Add(signal);
            }
            return(signals);
        }
 public static void SetApproachRepository(IApproachRepository newRepository)
 {
     approachRepository = newRepository;
 }