private static ITrigger CreateTrigger(DataUpdateJobDetails jobDetails) { ITrigger trigger = TriggerBuilder .Create() .WithSchedule(GetScheduleBuilder(jobDetails)) .WithIdentity(jobDetails.Name + "Trigger") .Build(); return trigger; }
public DataUpdateJobDetailsViewModel(DataUpdateJobDetails job) { Job = job; Save = ReactiveCommand.Create(this.WhenAny(x => x.ValidationError, x => string.IsNullOrEmpty(x.Value))); Save.Subscribe(x => ExecuteSave()); this.WhenAnyValue(x => x.UseTag, x => x.Instrument, x => x.Tag) .Subscribe(x => ValidateSettings()); }
private void AddBtn_Click(object sender, RoutedEventArgs e) { var job = new DataUpdateJobDetails { Name = "NewJob", UseTag = true, Frequency = BarSize.OneDay, Time = new TimeSpan(8, 0, 0), WeekDaysOnly = true }; Jobs.Add(job); JobsGrid.SelectedItem = job; using (var context = new MyDBContext()) { context.DataUpdateJobs.Add(job); context.SaveChanges(); } }
private static DailyTimeIntervalScheduleBuilder GetScheduleBuilder(DataUpdateJobDetails jobDetails) { if(jobDetails.WeekDaysOnly) { return DailyTimeIntervalScheduleBuilder .Create() .OnMondayThroughFriday() .StartingDailyAt(new TimeOfDay(jobDetails.Time.Hours, jobDetails.Time.Minutes)) .EndingDailyAfterCount(1); } else { return DailyTimeIntervalScheduleBuilder .Create() .OnEveryDay() .StartingDailyAt(new TimeOfDay(jobDetails.Time.Hours, jobDetails.Time.Minutes)) .EndingDailyAfterCount(1); } }
private void ExecuteAdd() { var job = new DataUpdateJobDetails { Name = "NewJob", UseTag = true, Frequency = BarSize.OneDay, Time = new TimeSpan(8, 0, 0), WeekDaysOnly = true }; Jobs.Add(new DataUpdateJobDetailsViewModel(job)); using (var context = new MyDBContext()) { context.DataUpdateJobs.Add(job); context.SaveChanges(); } }