Пример #1
0
        public void ConfigureContainer(ContainerBuilder builder)
        {
            var config = Configuration.Get <ScoutConfiguration>();

            config.MongoConnectionString = Configuration.GetConnectionString("MongoDB");

            builder.RegisterInstance <IScoutConfiguration>(config);
            builder.RegisterInstance <IScoutEncryption>(new ScoutEncryption(config)).SingleInstance();
            ContainerLoader.LoadContainers(builder);
        }
Пример #2
0
        static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Usage();
                return;
            }
            FrameContainer container = ContainerLoader.FromFile(args[0]);

            File.WriteAllBytes(args[1], container.Image.Array);
        }
Пример #3
0
        static ContainerBuilder SetupIoc()
        {
            var builder = new ContainerBuilder();

            var config = Configuration.Get <ScoutConfiguration>();

            config.MongoConnectionString = Configuration.GetConnectionString("MongoDB");

            var enc = new ScoutEncryption(config);

            builder.RegisterInstance <IScoutConfiguration>(config);
            builder.RegisterInstance <IScoutEncryption>(enc);
            ContainerLoader.LoadContainers(builder);

            return(builder);
        }
Пример #4
0
        public void ForcedActivationIncompleteDcca(
            [Values(FaultActivationBehavior.ForceOnly, FaultActivationBehavior.Nondeterministic)] FaultActivationBehavior activation)
        {
            // create stations
            var producer        = new ContainerLoader();
            var commonDispenser = new ParticulateDispenser();
            var dispenserTop    = new ParticulateDispenser();
            var dispenserBottom = new ParticulateDispenser();
            var consumerTop     = new PalletisationStation();
            var consumerBottom  = new PalletisationStation();
            var stations        = new Station[] { producer, commonDispenser, dispenserTop, dispenserBottom, consumerTop, consumerBottom };

            // set very limited ingredient amounts
            commonDispenser.SetStoredAmount(IngredientType.BlueParticulate, 40);
            dispenserTop.SetStoredAmount(IngredientType.RedParticulate, 100);
            dispenserBottom.SetStoredAmount(IngredientType.RedParticulate, 100);

            // create connections
            producer.Outputs.Add(commonDispenser);
            commonDispenser.Inputs.Add(producer);

            commonDispenser.Outputs.Add(dispenserTop);
            dispenserTop.Inputs.Add(commonDispenser);
            commonDispenser.Outputs.Add(dispenserBottom);
            dispenserBottom.Inputs.Add(commonDispenser);

            dispenserTop.Outputs.Add(consumerTop);
            consumerTop.Inputs.Add(dispenserTop);

            dispenserBottom.Outputs.Add(consumerBottom);
            consumerBottom.Inputs.Add(dispenserBottom);

            var model  = new Model(stations, new FastObserverController(stations));
            var recipe = new Recipe(new[] { new Ingredient(IngredientType.BlueParticulate, 30), new Ingredient(IngredientType.RedParticulate, 10) }, 1u);

            model.ScheduleProduction(recipe);

            Dcca(model, activation);
        }
Пример #5
0
		public void ForcedActivationIncompleteDcca(
			[Values(FaultActivationBehavior.ForceOnly, FaultActivationBehavior.Nondeterministic)] FaultActivationBehavior activation)
		{
			// create stations
			var producer = new ContainerLoader();
			var commonDispenser = new ParticulateDispenser();
			var dispenserTop = new ParticulateDispenser();
			var dispenserBottom = new ParticulateDispenser();
			var consumerTop = new PalletisationStation();
			var consumerBottom = new PalletisationStation();
			var stations = new Station[] { producer, commonDispenser, dispenserTop, dispenserBottom, consumerTop, consumerBottom };

			// set very limited ingredient amounts
			commonDispenser.SetStoredAmount(IngredientType.BlueParticulate, 40);
			dispenserTop.SetStoredAmount(IngredientType.RedParticulate, 100);
			dispenserBottom.SetStoredAmount(IngredientType.RedParticulate, 100);

			// create connections
			producer.Outputs.Add(commonDispenser);
			commonDispenser.Inputs.Add(producer);

			commonDispenser.Outputs.Add(dispenserTop);
			dispenserTop.Inputs.Add(commonDispenser);
			commonDispenser.Outputs.Add(dispenserBottom);
			dispenserBottom.Inputs.Add(commonDispenser);

			dispenserTop.Outputs.Add(consumerTop);
			consumerTop.Inputs.Add(dispenserTop);

			dispenserBottom.Outputs.Add(consumerBottom);
			consumerBottom.Inputs.Add(dispenserBottom);

			var model = new Model(stations, new FastObserverController(stations));
			var recipe = new Recipe(new[] { new Ingredient(IngredientType.BlueParticulate, 30), new Ingredient(IngredientType.RedParticulate, 10) }, 1u);
			model.ScheduleProduction(recipe);

			Dcca(model, activation);
		}
Пример #6
0
        /// <summary>
        /// Provides automatic container loading for view - view model wiring.
        /// </summary>
        public virtual void Initialize()
        {
            var asy = Assembly.GetCallingAssembly();

            ContainerLoader.InitalizeLoadViews(_container, asy);
        }