Example #1
0
 public SchedulerView GetSchedulerView()
 {
     _schedulerView = new SchedulerView();
     _schedulerView.AddAppointmentEventRaised    += new EventHandler(OnAddApointmentEventRaised);
     _schedulerView.DeleteAppointmentEventRaised += new EventHandler(OnDeleteAppointmentEventRaised);
     _schedulerView.ChangeAppointmentEventRaised += new EventHandler(OnChangeAppointmentEventRaised);
     return(_schedulerView);
 }
Example #2
0
 private void SchedulerView_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
 {
     // end of edition on each click on column of checkbox
     if (e.RowIndex == -1)
     {
         return;
     }
     switch (e.ColumnIndex)
     {
     case SCHEDULE_COL_ACTIVE:
     case SCHEDULE_COL_SUCCESS:
     case SCHEDULE_COL_ERROR:
         SchedulerView.EndEdit();
         break;
     }
 }
Example #3
0
        public static SchedulerView GetSchedulerInfo()
        {
            SchedulerView scheduler = new SchedulerView();

            scheduler.InstanceId = QuartzProvider.GetSchedulerInstanceId();
            scheduler.Name       = QuartzProvider.GetSchedulerName();
            scheduler.State      = QuartzProvider.GetSchedulerState();

            var groups = QuartzProvider.GetGroups();

            foreach (var group in groups)
            {
                //group
                GroupView gv = new GroupView();
                gv.Name = group;

                //
                var jobs = QuartzProvider.GetJobs(group);
                foreach (var job in jobs)
                {
                    JobView jv = new JobView();
                    jv.Key  = job;
                    jv.Name = job.Name;
                    var triggers = QuartzProvider.GetTriggers(jv.Key);
                    foreach (var trigger in triggers)
                    {
                        TriggerView tv = new TriggerView();
                        tv.Key              = trigger.Key;
                        tv.Name             = trigger.Key.Name;
                        tv.State            = QuartzProvider.GetTriggerState(trigger.Key);
                        tv.PreviousFireTime = trigger.GetPreviousFireTimeUtc().HasValue ? trigger.GetPreviousFireTimeUtc().Value.LocalDateTime : DateTime.MinValue;
                        tv.NextFireTime     = trigger.GetNextFireTimeUtc().HasValue ? trigger.GetNextFireTimeUtc().Value.LocalDateTime : DateTime.MaxValue;
                        tv.StartTime        = trigger.StartTimeUtc.LocalDateTime;
                        tv.EndTime          = trigger.EndTimeUtc.HasValue ? trigger.EndTimeUtc.Value.LocalDateTime : DateTime.MaxValue;

                        jv.Triggers.Add(tv);
                    }

                    gv.Jobs.Add(jv);
                }

                scheduler.Groups.Add(gv);
            }

            return(scheduler);
        }
Example #4
0
        private void SchedulerView_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == -1 || e.RowIndex == -1)
            {
                return;
            }

            SchedulerView.CurrentCell = SchedulerView[e.ColumnIndex, e.RowIndex];

            switch (e.ColumnIndex)
            {
            case SCHEDULE_COL_ACTIVE:
                break;

            case SCHEDULE_COL_FILE:
                // select file
                OpenFileDialog dialog   = new OpenFileDialog();
                string         fullName = (string)SchedulerView[e.ColumnIndex, e.RowIndex].Tag;
                if (!string.IsNullOrWhiteSpace(fullName))
                {
                    dialog.InitialDirectory = Path.GetDirectoryName(fullName);
                    dialog.FileName         = Path.GetFileName(fullName);
                }

                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    SchedulerView[e.ColumnIndex, e.RowIndex].Tag   = dialog.FileName;
                    SchedulerView[e.ColumnIndex, e.RowIndex].Value = Path.GetFileName(dialog.FileName);
                }
                break;

            case SCHEDULE_COL_DATE:
            case SCHEDULE_COL_TIME:
            case SCHEDULE_COL_DEST:
                SchedulerView.BeginEdit(true);
                //((TextBox)dataGridView1.EditingControl).SelectionStart = dataGridView1.CurrentCell.Value.ToString().Length;
                break;
            }
        }
        private DayCell BuildCell(IEnumerable <SchedulerEvent> events, DateTime startUtc, SchedulerView view)
        {
            var cell = new DayCell {
                Ticks = startUtc.Ticks
            };
            var startClient = UtcToClient(startUtc);

            if (view == SchedulerView.Month)
            {
                cell.Day  = startClient.Day == 1 ? startClient.ToString("d MMM") : startClient.Day.ToString(CultureInfo.InvariantCulture);
                cell.Date = startClient.Date.ToString(Dformat.ShortDatePattern);
            }

            var values = new List <EventDisplay>();

            foreach (var ev in events)
            {
                var ed = new EventDisplay {
                    Id = ev.Id, Title = ev.Title, Color = ev.Color
                };

                var clientStart = UtcToClient(ev.Start);
                var clientEnd   = UtcToClient(ev.End);

                if (ev.AllDay)
                {
                    ed.Time = "";
                }
                else if (clientStart.Date == clientEnd.Date || clientEnd.Date == clientStart.Date.AddDays(1))
                {
                    ed.Time = clientStart.ToString(Dformat.ShortTimePattern) + "-"
                              + clientEnd.ToString(Dformat.ShortTimePattern);
                }
                else
                {
                    if (startClient.Date == ev.Start.Date)
                    {
                        ed.Time = clientStart.ToString(Dformat.ShortTimePattern) + " - ...";
                    }
                    else
                    {
                        ed.Time = "... - " + clientStart.ToString(Dformat.ShortTimePattern);
                    }
                }

                values.Add(ed);
            }

            cell.Events = values.ToArray();

            return(cell);
        }