Ejemplo n.º 1
0
        public JobFactory(IHistoricalDataBroker hdb,
                          string host,
                          int port,
                          string username,
                          string password,
                          string sender,
                          string email,
                          UpdateJobSettings updateJobSettings,
                          QDMS.IDataStorage localStorage,
                          IEconomicReleaseBroker erb,
                          IDividendsBroker divb,
                          IEarningsAnnouncementBroker eab) : base()
        {
            _hdb = hdb;

            _host              = host;
            _port              = port;
            _username          = username;
            _password          = password;
            _sender            = sender;
            _email             = email;
            _updateJobSettings = updateJobSettings;
            _localStorage      = localStorage;
            _erb  = erb;
            _divb = divb;
            _eab  = eab;
        }
Ejemplo n.º 2
0
        public JobFactory(IHistoricalDataBroker hdb,
                          ISettings settings,
                          QDMS.IDataStorage localStorage,
                          IEconomicReleaseBroker erb,
                          IDividendsBroker divb,
                          IEarningsAnnouncementBroker eab) : base()
        {
            _hdb = hdb;

            _host              = settings.updateJobEmailHost;
            _port              = settings.updateJobEmailPort;
            _username          = settings.updateJobEmailUsername;
            _password          = settings.updateJobEmailPassword;
            _sender            = settings.updateJobEmailSender;
            _email             = settings.updateJobEmail;
            _updateJobSettings = new UpdateJobSettings(
                noDataReceived: settings.updateJobReportNoData,
                errors: settings.updateJobReportErrors,
                outliers: settings.updateJobReportOutliers,
                requestTimeouts: settings.updateJobTimeouts,
                timeout: settings.updateJobTimeout,
                toEmail: settings.updateJobEmail,
                fromEmail: settings.updateJobEmailSender);
            _localStorage = localStorage;
            _erb          = erb;
            _divb         = divb;
            _eab          = eab;
        }
Ejemplo n.º 3
0
        public JobsModule(IJobsRepository repo, IEconomicReleaseBroker erb)
            : base("/jobs")
        {
            this.RequiresAuthentication();

            //Data Update Jobs

            Get["/dataupdatejobs"] = _ => repo.GetDataUpdateJobs();

            Post["/dataupdatejobs"] = _ => AddJob <DataUpdateJobSettings>(repo);

            Delete["/dataupdatejobs"] = _ => DeleteJob <DataUpdateJobSettings>(repo);

            //Economic Release Jobs

            Get["/economicreleaseupdatejobs"] = _ => repo.GetEconomicReleaseUpdateJobs();

            Post["/economicreleaseupdatejobs"] = _ => AddJob <EconomicReleaseUpdateJobSettings>(repo);

            Delete["/economicreleaseupdatejobs"] = _ => DeleteJob <EconomicReleaseUpdateJobSettings>(repo);

            //Dividend Update Jobs

            Get["/dividendupdatejobs"] = _ => repo.GetDividendUpdateJobs();

            Post["/dividendupdatejobs"] = _ => AddJob <DividendUpdateJobSettings>(repo);

            Delete["/dividendupdatejobs"] = _ => DeleteJob <DividendUpdateJobSettings>(repo);
        }
Ejemplo n.º 4
0
        public JobFactory(IHistoricalDataBroker hdb,
            string host,
            int port,
            string username,
            string password,
            string sender,
            string email,
            UpdateJobSettings updateJobSettings,
            QDMS.IDataStorage localStorage,
            IInstrumentSource instrumentSource,
            IEconomicReleaseBroker erb) : base()
        {
            _hdb = hdb;

            _host = host;
            _port = port;
            _username = username;
            _password = password;
            _sender = sender;
            _email = email;
            _updateJobSettings = updateJobSettings;
            _localStorage = localStorage;
            _instrumentSource = instrumentSource;
            _erb = erb;
        }
Ejemplo n.º 5
0
 public CustomBootstrapper(IDataStorage storage, IEconomicReleaseBroker erb, IHistoricalDataBroker hdb, IRealTimeDataBroker rtdb, string apiKey)
 {
     _storage = storage;
     _erb     = erb;
     _hdb     = hdb;
     _rtdb    = rtdb;
     _apiKey  = apiKey;
 }
Ejemplo n.º 6
0
 public CustomBootstrapper(
     IDataStorage storage,
     IEconomicReleaseBroker erb,
     IHistoricalDataBroker hdb,
     IRealTimeDataBroker rtdb,
     IDividendsBroker divb,
     IScheduler scheduler,
     string apiKey)
 {
     _storage   = storage;
     _erb       = erb;
     _hdb       = hdb;
     _rtdb      = rtdb;
     _divb      = divb;
     _scheduler = scheduler;
     _apiKey    = apiKey;
 }
Ejemplo n.º 7
0
 public CustomBootstrapper(
     IDataStorage storage,
     IEconomicReleaseBroker erb,
     IHistoricalDataBroker hdb,
     IRealTimeDataBroker rtdb,
     IDividendsBroker divb,
     IEarningsAnnouncementBroker eab,
     IScheduler scheduler,
     ISettings settings)
 {
     _storage   = storage;
     _erb       = erb;
     _hdb       = hdb;
     _rtdb      = rtdb;
     _divb      = divb;
     _eab       = eab;
     _scheduler = scheduler;
     _apiKey    = settings.apiKey;
 }
Ejemplo n.º 8
0
        public EconomicReleasesModule(IMyDbContext context, IEconomicReleaseBroker erb) : base("/economicreleases")
        {
            this.RequiresAuthentication();

            Get["/", runAsync : true] = async(_, token) =>
            {
                var releases = context.EconomicReleases;

                var request = this.Bind <EconomicReleaseRequest>();

                if (request == null)
                {
                    // No request object, just return everything
                    return(await releases.ToListAsync(token).ConfigureAwait(false));
                }

                // filter and return
                return(await erb.RequestEconomicReleases(request).ConfigureAwait(false));
            };

            Get["/datasources"] = _ => erb.DataSources.Keys.ToList();
        }
Ejemplo n.º 9
0
        public JobsModule(IJobsRepository repo, IEconomicReleaseBroker erb)
            : base("/jobs")
        {
            this.RequiresAuthentication();

            //Data Update Jobs

            Get["/dataupdatejobs"] = _ => repo.GetDataUpdateJobs();

            Post["/dataupdatejobs"] = _ => AddJob <DataUpdateJobSettings>(repo);

            Delete["/dataupdatejobs"] = _ => DeleteJob <DataUpdateJobSettings>(repo);

            //Economic Release Jobs

            Get["/economicreleaseupdatejobs/datasources"] = _ => erb.DataSources.Select(x => x.Value.Name).ToList();

            Get["/economicreleaseupdatejobs"] = _ => repo.GetEconomicReleaseUpdateJobs();

            Post["/economicreleaseupdatejobs"] = _ => AddJob <EconomicReleaseUpdateJobSettings>(repo);

            Delete["/economicreleaseupdatejobs"] = _ => DeleteJob <EconomicReleaseUpdateJobSettings>(repo);
        }
Ejemplo n.º 10
0
 public EconomicReleaseUpdateJob(IEconomicReleaseBroker broker, IEmailService emailService, UpdateJobSettings settings)
 {
     _broker       = broker;
     _emailService = emailService;
     _settings     = settings;
 }
Ejemplo n.º 11
0
 public EconomicReleaseUpdateJob(IEconomicReleaseBroker broker, IEmailService emailService, UpdateJobSettings settings)
 {
     _broker = broker;
     _emailService = emailService;
     _settings = settings;
 }
Ejemplo n.º 12
0
        public DatasourceModule(IMyDbContext context, IRealTimeDataBroker rtb, IHistoricalDataBroker hdb, IEconomicReleaseBroker erb)
            : base("/datasources")
        {
            this.RequiresAuthentication();

            Get["/", runAsync : true] = async(_, token) => await context.Datasources.ToListAsync(token).ConfigureAwait(false);

            Get["/status"] = _ =>
            {
                var realtime     = rtb.DataSources.Values.ToDictionary(x => x.Name, x => x.Connected);
                var historical   = hdb.DataSources.Values.ToDictionary(x => x.Name, x => x.Connected);
                var econReleases = erb.DataSources.Values.ToDictionary(x => x.Name, x => x.Connected);

                var names = realtime.Keys.Union(historical.Keys).Union(econReleases.Keys);

                var statuses = new List <DataSourceStatus>();
                foreach (var name in names)
                {
                    var status = new DataSourceStatus
                    {
                        Name = name,
                        RealtimeConnected     = realtime.ContainsKey(name) ? realtime[name] : (bool?)null,
                        HistoricalConnected   = historical.ContainsKey(name) ? historical[name] : (bool?)null,
                        EconReleasesConnected = econReleases.ContainsKey(name) ? econReleases[name] : (bool?)null,
                    };
                    statuses.Add(status);
                }

                return(statuses);
            };

            Get["/activestreams"] = _ => rtb.ActiveStreams;
        }