private void AddJob(string selectedJob) { IJobSettings job = null; //create the jobdetails and add if (selectedJob == "Data Update") { job = new DataUpdateJobSettings { Name = GetJobName("DataUpdateJob"), UseTag = true, Frequency = BarSize.OneDay, Time = new TimeSpan(8, 0, 0), WeekDaysOnly = true }; } else if (selectedJob == "Economic Release Update") { job = new EconomicReleaseUpdateJobSettings { Name = GetJobName("EconomicReleaseUpdateJob"), BusinessDaysBack = 1, BusinessDaysAhead = 7, DataSource = "FXStreet" }; } else if (selectedJob == "Dividend Update") { job = new DividendUpdateJobSettings { Name = GetJobName("DividendUpdateJob"), BusinessDaysBack = 0, BusinessDaysAhead = 3, DataSource = "Nasdaq" }; } else if (selectedJob == "Earnings Update") { job = new EarningsUpdateJobSettings { Name = GetJobName("EarningsUpdateJob"), BusinessDaysBack = 0, BusinessDaysAhead = 3, DataSource = "Nasdaq" }; } var jobVm = GetJobViewModel(job); Jobs.Add(jobVm); SelectedJob = jobVm; }
private EarningsAnnouncementRequest GenerateRequests(EarningsUpdateJobSettings settings) { var startDate = DateTime.Now.Date.AddBusinessDays(-settings.BusinessDaysBack); var endDate = DateTime.Now.Date.AddBusinessDays(settings.BusinessDaysAhead); if (!settings.UseTag) { //grab all symbols return(new EarningsAnnouncementRequest( startDate, endDate, dataLocation: DataLocation.ExternalOnly, dataSource: settings.DataSource)); } else { //get the symbols using the tag filter var symbols = _instrumentManager .FindInstruments(x => x.Tags.Any(y => y.ID == settings.TagID)) .Result .Select(x => x.Symbol) .Distinct() .ToList(); return(new EarningsAnnouncementRequest( startDate, endDate, symbols.ToList(), dataLocation: DataLocation.ExternalOnly, dataSource: settings.DataSource)); } }