Beispiel #1
0
        public OutfitEngineService(ICombinationRepository combinationRepository, IPreCombinationRepository preCombinationRepository, IOutfitEngineProcessor outfitProcessor)
        {
            Check.Require(combinationRepository != null, "combinationRepository may not be null");
            Check.Require(preCombinationRepository != null, "preCombinationRepository may not be null");
            Check.Require(outfitProcessor != null, "outfitEngineProcessor may not be null");

            this.combinationRepository    = combinationRepository;
            this.preCombinationRepository = preCombinationRepository;
            this.outfitEngineProcessor    = outfitProcessor;
        }
        public OutfitEngineService()
        {
            // HACK: To support multiple calls from WCF Service, we need to create the dependencies here.
            garmentRepository = SafeServiceLocator <IGarmentRepository> .GetService();

            closetRepository = SafeServiceLocator <IClosetRepository> .GetService();

            fashionFlavorRepository = SafeServiceLocator <IFashionFlavorRepository> .GetService();

            // HACK: We create always a new Processor to avoid conflicts if retrieve it directly from Locator as it works like Singleton.
            processor = new OutfitEngineProcessor(
                SafeServiceLocator <IStyleRuleRepository> .GetService(),
                SafeServiceLocator <IClosetRepository> .GetService(),
                SafeServiceLocator <IOutfitUpdaterService> .GetService(),
                SafeServiceLocator <IIndexCreationService> .GetService());

            logger = log4net.LogManager.GetLogger(this.GetType().Namespace);
            logger.Info("Constructor called");
        }
        public OutfitEngineService(IGarmentRepository garmentRepository, IClosetRepository closetRepository, IOutfitEngineProcessor processor, IFashionFlavorRepository fashionFlavorRepository)
        {
            this.garmentRepository       = garmentRepository;
            this.closetRepository        = closetRepository;
            this.processor               = processor;
            this.fashionFlavorRepository = fashionFlavorRepository;
            logger = log4net.LogManager.GetLogger(this.GetType().Namespace);

            logger.Info("Constructor called");
        }