Example #1
0
        private static ITrigger CreateTrigger(DataUpdateJobDetails jobDetails)
        {
            ITrigger trigger = TriggerBuilder
                               .Create()
                               .WithSchedule(GetScheduleBuilder(jobDetails))
                               .WithIdentity(jobDetails.Name + "Trigger")
                               .Build();

            return(trigger);
        }
Example #2
0
        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());
        }
Example #3
0
        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();
            }
        }
        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();
            }
        }
Example #5
0
 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));
     }
 }