Пример #1
0
        /// <summary>
        /// Starts the application and modules
        /// </summary>
        public void Start()
        {
            if (options.Verbose) Console.WriteLine("Filename: {0}", options.InputFile);
            //Load configuration
            ConfigFile configurationFile = new ConfigFile("config.json");
            BaseConfiguration config = configurationFile.Load();
            this.config = config;
            //Set up context
            this.serverContext = new ServerContext(config);
            //Set up ctrl + c handling
                Console.CancelKeyPress += Console_CancelKeyPress;
            //We do a query to sql lite here, give it a chance to connect and cache without
            //having to do it on the first request
            Console.WriteLine("Loading Sql Lite");
            using (var context = new PersistanceContext())
            {
                context.Projects.Any();
                //we dont care about the result
            }
            //Start Subsystems
            StartSubsystem(new HTTPModule());
            StartSubsystem(new SimulationModule());
            StartSubsystem(new WebsocketModule());

            Console.WriteLine("Press any key to close");
            Console.ReadKey();
            this.StopModules();
        }
Пример #2
0
 /// <summary>
 /// Create a new host for this module
 /// </summary>
 /// <param name="mod">The module to host</param>
 public ModuleHost(AbstractModule mod, ServerContext context, Messenger messenger, BaseConfiguration config)
 {
     this.HostedModule = mod;
     this.ExitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
     mod.Messenger = messenger;
     mod.SetConfiguration(config);
     mod.SetContext(context);
     mod.OnFinishedStopping += env_OnFinishedStopping;
 }
Пример #3
0
        private static BaseConfiguration BuildConfiguration()
        {
            var configuration = new BaseConfiguration
            {
                Id = ConfigurationId,
                VersionId = 1,
                Name = "Do Nothing",
                Author = UserName,
                Description = "Swaps the last two columns and replaces the delimiter with a pipe character",
                Rules = CreateComplexRules(),
                Model = new BaseDocument
                {
                    InputDelimiter = ",",
                    OutputDelimiter = "|",
                    InputType = DocumentType.Delimited,
                    OutputType = DocumentType.Delimited,
                    InputHasHeader = false,
                    OutputHasHeader = false,
                    VirtualColumnOffset = _virtualColumnOffset,
                    InputSchema = new List<Definition>
                    {
                        CreateOutputDefinition(0),
                        CreateOutputDefinition(1),
                        CreateOutputDefinition(2),
                        CreateOutputDefinition(3)
                    },
                    OutputSchema = new List<OutputDefinition>
                    {
                        CreateOutputDefinition(0),
                        CreateOutputDefinition(-2, true),
                        CreateOutputDefinition(1),
                        CreateOutputDefinition(-1, true),
                        CreateOutputDefinition(2),
                        CreateOutputDefinition(-3, true),
                        CreateOutputDefinition(3)
                    }
                }
            };

            return configuration;
        }
Пример #4
0
 public LoggingConfiguration(BaseConfiguration cfg)
     : base(cfg)
 {
 }
Пример #5
0
 public override void SetConfiguration(BaseConfiguration config)
 {
     //Nothing yet
 }
Пример #6
0
 public virtual void SetConfiguration(BaseConfiguration config)
 {
     this.Configuration = config;
 }
Пример #7
0
        /// <summary>
        /// Creates a pledge configuration from the specified api configuration.
        /// </summary>
        /// <param name="apiConfig">The API configuration.</param>
        /// <returns></returns>
        public static IConfiguration CreatePledgeConfiguration(Configuration apiConfig)
        {
            var pledgeConfig = new BaseConfiguration
            {
                Id = apiConfig.Id,
                Name = apiConfig.Name,
                Author = apiConfig.Author,
                Description = apiConfig.Description,
                Rules = ReconstructRules(apiConfig.InputSchema, apiConfig.Rules),
                Model = new BaseDocument
                {
                    InputType = apiConfig.InputSchema.IsDelimited ? DocumentType.Delimited : DocumentType.FixedLength,
                    OutputType = apiConfig.OutputSchema.IsDelimited ? DocumentType.Delimited : DocumentType.FixedLength,
                    InputDelimiter = apiConfig.OutputSchema.Delimiter,
                    OutputDelimiter = apiConfig.InputSchema.Delimiter,
                    InputHasHeader = apiConfig.InputSchema.HasHeaderRow,
                    OutputHasHeader = apiConfig.OutputSchema.HasHeaderRow,
                    InputSchema = RebuildSchema(apiConfig.InputSchema.Rows),
                    OutputSchema = RebuildSchema(apiConfig.InputSchema.Rows, apiConfig.OutputSchema.Rows, apiConfig.Rules)
                }
            };

            return pledgeConfig;
        }
Пример #8
0
        /// <summary>
        /// Creates a pledge configuration from the specified api configuration.
        /// </summary>
        /// <param name="apiConfig">The API configuration.</param>
        /// <returns></returns>
        public static IConfiguration CreatePledgeConfiguration(Configuration apiConfig)
        {
            var pledgeConfig = new BaseConfiguration
            {
                Id = apiConfig.Id,
                VersionId = apiConfig.VersionId,
                Name = apiConfig.Name,
                Author = apiConfig.Author,
                Description = apiConfig.Description,
                Rules = ReconstructRules(apiConfig.Rules),
                Model = new BaseDocument
                {
                    InputType = apiConfig.InputSchema.IsDelimited ? DocumentType.Delimited : DocumentType.FixedLength,
                    OutputType = apiConfig.OutputSchema.IsDelimited ? DocumentType.Delimited : DocumentType.FixedLength,
                    InputDelimiter = apiConfig.InputSchema.Delimiter,
                    OutputDelimiter = apiConfig.OutputSchema.Delimiter,
                    InputHasHeader = apiConfig.InputSchema.HasHeaderRow,
                    OutputHasHeader = apiConfig.OutputSchema.HasHeaderRow,
                    InputSchema = RebuildSchema(apiConfig.InputSchema.Rows),
                    OutputSchema = RebuildSchema(apiConfig.InputSchema.Rows, apiConfig.OutputSchema.Rows),
                    VirtualColumnOffset = apiConfig.VirtualColumnOffset,
                    Options = new ConfigurationOptions
                    {
                        OutputAllRecords = apiConfig.Options.OutputAllRecords,
                        OutputErrorCode = apiConfig.Options.OutputErrorCode,
                        OutputErrorDescription = apiConfig.Options.OutputErrorDescription,
                        UseInputSettingsForErrors = apiConfig.Options.UseInputSettingsForErrors
                    }
                }
            };

            return pledgeConfig;
        }
Пример #9
0
 public QuoteRepository(IOptions <BaseConfiguration> config)
 {
     _config = config?.Value;
 }
 /// <summary>
 ///     Creates a new instance of <see cref="CheckForReportPeak" />.
 /// </summary>
 /// <param name="repository">To check if spikes should be analyzed</param>
 /// <param name="spikeRepository">store/fetch information of current spikes.</param>
 /// <param name="baseConfiguration"></param>
 public CheckForReportPeak(IUserNotificationsRepository repository, IReportSpikeRepository spikeRepository, IConfiguration <BaseConfiguration> baseConfiguration)
 {
     _repository        = repository;
     _spikeRepository   = spikeRepository;
     _baseConfiguration = baseConfiguration.Value;
 }
Пример #11
0
        public GeneralConfigDlg(BaseConfiguration baseConf)
            : base(baseConf)
        {
            InitializeComponent();
            Text                 = MultiLang.GenaralTrend + " " + MultiLang.Filter;
            Btn_Close.Text       = MultiLang.Close;
            groupControl1.Text   = MultiLang.OperationPeriod;
            groupControl2.Text   = MultiLang.TypeOfMeasurement;
            groupControl3.Text   = MultiLang.Unit;
            groupControl4.Text   = "Y " + MultiLang.Scale;
            Gr_Machine1.Text     = MultiLang.PlantMap + "1";
            Gr_Machine2.Text     = MultiLang.PlantMap + "2";
            Gr_Machine3.Text     = MultiLang.PlantMap + "3";
            Gr_Measurement1.Text = MultiLang.Measurement + "1";
            Gr_Measurement2.Text = MultiLang.Measurement + "2";
            Gr_Measurement3.Text = MultiLang.Measurement + "3";
            Radio_Day.Text       = MultiLang.Day;
            Radio_Week.Text      = MultiLang.Week;
            Radio_Month.Text     = MultiLang.Month;

            TreeListInit(MimicNodeTree1);
            TreeListInit(MimicNodeTree2);
            TreeListInit(MimicNodeTree3);
            DateEdit_Start.DateTime = BaseConfig.StartDate;
            DateEdit_End.DateTime   = BaseConfig.EndDate;

            cbe_alarmScale1.DataBindings.Add(new Binding("EditValue", GeneralConf, "AlarmReferenceName")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
            radioGroupScale1.DataBindings.Add(new Binding("SelectedIndex", GeneralConf, "ScaleTypeIdx")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
            te_Scale1.DataBindings.Add(new Binding("EditValue", GeneralConf, "MaxScale")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });

            cbe_alarmScale2.DataBindings.Add(new Binding("EditValue", GeneralConf, "AlarmReferenceName2")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
            radioGroupScale2.DataBindings.Add(new Binding("SelectedIndex", GeneralConf, "ScaleTypeIdx2")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
            te_Scale2.DataBindings.Add(new Binding("EditValue", GeneralConf, "MaxScale2")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });

            cbe_alarmScale3.DataBindings.Add(new Binding("EditValue", GeneralConf, "AlarmReferenceName3")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
            radioGroupScale3.DataBindings.Add(new Binding("SelectedIndex", GeneralConf, "ScaleTypeIdx3")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
            te_Scale3.DataBindings.Add(new Binding("EditValue", GeneralConf, "MaxScale3")
            {
                DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
            });
        }
Пример #12
0
 public WizardController(BaseConfiguration baseConfiguration, IMessageBus messageBus, IQueryBus queryBus)
 {
     _baseConfiguration = baseConfiguration;
     _messageBus        = messageBus;
     _queryBus          = queryBus;
 }