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; }
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; }