Example #1
0
        private void calendarView_ItemDatesChanged(object sender, CalendarItemEventArgs e)
        {
            object o = e.Item.Tag;

            if (((o is BacnetDate) && (((BacnetDate)o).IsPeriodic)) || (o is BacnetweekNDay))
            {
                // Cannot do that with perodic element : what has to be changed : day n°, wday, month ????
                modifyToolStripMenuItem_Click(null, null);
            }
            else
            //(o is BacnetDate) || (o is BacnetDateRange)
            {
                calendarEntries.Entries.Remove(o);
                int Idx = listEntries.Items.IndexOf(o);

                listEntries.Items.Remove(o);

                if ((e.Item.StartDate.Year == e.Item.EndDate.Year) && (e.Item.StartDate.Month == e.Item.EndDate.Month) && (e.Item.StartDate.Day == e.Item.EndDate.Day))
                {
                    BacnetDate newbd = new BacnetDate((byte)(e.Item.StartDate.Year - 1900), (byte)e.Item.StartDate.Month, (byte)e.Item.StartDate.Day);
                    listEntries.Items.Insert(Idx, newbd);
                    calendarEntries.Entries.Add(newbd);
                }
                else
                {
                    BacnetDateRange newbdr = new BacnetDateRange();
                    newbdr.startDate = new BacnetDate((byte)(e.Item.StartDate.Year - 1900), (byte)e.Item.StartDate.Month, (byte)e.Item.StartDate.Day);
                    newbdr.endDate   = new BacnetDate((byte)(e.Item.EndDate.Year - 1900), (byte)e.Item.EndDate.Month, (byte)e.Item.EndDate.Day);
                    listEntries.Items.Insert(Idx, newbdr);
                    calendarEntries.Entries.Add(newbdr);
                }
            }

            SetCalendarDisplayDate(CalendarStartRequested);
        }
Example #2
0
        private void listEntries_SelectedIndexChanged(object sender, EventArgs e)
        {
            if ((InternalListeEntriesSelect) || (listEntries.SelectedIndex == -1))
            {
                InternalListeEntriesSelect = false;
                return;
            }

            object o = listEntries.Items[listEntries.SelectedIndex];

            if (o is BacnetDateRange)
            {
                BacnetDateRange bdr = (BacnetDateRange)o;

                if (bdr.startDate.year != 255)
                {
                    SetCalendarDisplayDate(bdr.startDate.toDateTime());
                }
                else if (bdr.endDate.year != 255)
                {
                    SetCalendarDisplayDate(bdr.endDate.toDateTime().AddDays(-10));
                }
            }
            else if (o is BacnetDate)
            {
                BacnetDate bd = (BacnetDate)o;
                if (!bd.IsPeriodic)
                {
                    SetCalendarDisplayDate(bd.toDateTime());
                }
            }
        }
        // Two simple methods to add .NET date and range
        public void AddDate(DateTime date)
        {
            BacnetDate bd = new BacnetDate((byte)(date.Year - 1900), (byte)date.Month, (byte)date.Day);

            CalenarEntry.Entries.Add(bd);

            DayChanged(tmrId);
        }
        public void AddRange(DateTime start, DateTime end)
        {
            BacnetDate st = new BacnetDate((byte)(start.Year - 1900), (byte)start.Month, (byte)start.Day);
            BacnetDate en = new BacnetDate((byte)(end.Year - 1900), (byte)end.Month, (byte)end.Day);

            BacnetDateRange bdr = new BacnetDateRange(st, en);

            CalenarEntry.Entries.Add(bdr);

            DayChanged(tmrId);
        }
Example #5
0
 private void calendarView_ItemCreated(object sender, CalendarItemCancelEventArgs e)
 {
     if ((e.Item.StartDate.Year == e.Item.EndDate.Year) && (e.Item.StartDate.Month == e.Item.EndDate.Month) && (e.Item.StartDate.Day == e.Item.EndDate.Day))
     {
         BacnetDate newbd = new BacnetDate((byte)(e.Item.StartDate.Year - 1900), (byte)e.Item.StartDate.Month, (byte)e.Item.StartDate.Day);
         listEntries.Items.Add(newbd);
         calendarEntries.Entries.Add(newbd);
     }
     else
     {
         BacnetDateRange newbdr = new BacnetDateRange();
         newbdr.startDate = new BacnetDate((byte)(e.Item.StartDate.Year - 1900), (byte)e.Item.StartDate.Month, (byte)e.Item.StartDate.Day);
         newbdr.endDate   = new BacnetDate((byte)(e.Item.EndDate.Year - 1900), (byte)e.Item.EndDate.Month, (byte)e.Item.EndDate.Day);
         listEntries.Items.Add(newbdr);
         calendarEntries.Entries.Add(newbdr);
     }
     SetCalendarDisplayDate(CalendarStartRequested);
 }
 public void AddEntry(BacnetDate bd)
 {
     CalenarEntry.Entries.Add(bd);
 }
Example #7
0
        public object GetBackEntry()
        {
            if (Entry is BacnetDate)
            {
                BacnetDate bd = new BacnetDate();

                if (wday.SelectedIndex == 7)
                {
                    bd.wday = 255;
                }
                else
                {
                    bd.wday = (byte)(wday.SelectedIndex + 1);
                }

                if (day.SelectedIndex == 32)
                {
                    bd.day = 255;
                }
                else
                {
                    bd.day = (byte)(day.SelectedIndex + 1);
                }

                if (month.SelectedIndex == 14)
                {
                    bd.month = 255;
                }
                else
                {
                    bd.month = (byte)(month.SelectedIndex + 1);
                }

                int valyear = 255;
                try
                {
                    valyear = Convert.ToInt32(year.Text) - 1900;
                }
                catch { }

                bd.year = (byte)valyear;

                return(bd);
            }

            if (Entry is BacnetDateRange)
            {
                BacnetDateRange bdr = new BacnetDateRange();

                if (startDate.Value == DateTimePicker.MinimumDateTime)
                {
                    bdr.startDate = new BacnetDate(255, 255, 255);
                }
                else
                {
                    bdr.startDate = new BacnetDate((byte)(startDate.Value.Year - 1900), (byte)startDate.Value.Month, (byte)startDate.Value.Day);
                }

                if (endDate.Value == DateTimePicker.MaximumDateTime)
                {
                    bdr.startDate = new BacnetDate(255, 255, 255);
                }
                else
                {
                    bdr.endDate = new BacnetDate((byte)(endDate.Value.Year - 1900), (byte)endDate.Value.Month, (byte)endDate.Value.Day);
                }

                return(bdr);
            }
            if (Entry is BacnetweekNDay)
            {
                BacnetweekNDay bwd = (BacnetweekNDay)Entry;

                if (wday.SelectedIndex == 7)
                {
                    bwd.wday = 255;
                }
                else
                {
                    bwd.wday = (byte)(wday.SelectedIndex + 1);
                }

                if (month.SelectedIndex == 14)
                {
                    bwd.month = 255;
                }
                else
                {
                    bwd.month = (byte)(month.SelectedIndex + 1);
                }

                return(bwd);
            }
            return(null);
        }
Example #8
0
        public CalendarEntryEdit(object entry)
        {
            InitCalendarEntryEdit();

            this.Entry = entry;

            if (entry is BacnetDate)
            {
                dateRangeGrp.Visible = false;
                DateGrp.Visible      = true;
                DateGrp.Location     = dateRangeGrp.Location;

                BacnetDate bd = (BacnetDate)entry;

                if (bd.wday != 255)
                {
                    wday.SelectedIndex = bd.wday - 1;
                }
                else
                {
                    wday.SelectedIndex = 7;
                }

                if (bd.day != 255)
                {
                    day.SelectedIndex = bd.day - 1;
                }
                else
                {
                    day.SelectedIndex = 32;
                }

                if (bd.month != 255)
                {
                    month.SelectedIndex = bd.month - 1;
                }
                else
                {
                    month.SelectedIndex = 14;
                }

                if (bd.year != 255)
                {
                    year.Text = (bd.year + 1900).ToString();
                }
                else
                {
                    year.Text = "****";
                }
            }

            if (entry is BacnetDateRange)
            {
                dateRangeGrp.Visible = true;
                DateGrp.Visible      = false;
                BacnetDateRange bdr = (BacnetDateRange)entry;

                if (bdr.startDate.year != 255)
                {
                    startDate.Value = bdr.startDate.toDateTime();
                }
                else
                {
                    startDate.Value = DateTimePicker.MinimumDateTime;
                }

                if (bdr.endDate.year != 255)
                {
                    endDate.Value = bdr.endDate.toDateTime();
                }
                else
                {
                    endDate.Value = DateTimePicker.MaximumDateTime;
                }
            }

            if (entry is BacnetweekNDay)
            {
                dateRangeGrp.Visible = false;
                DateGrp.Visible      = true;
                DateGrp.Location     = dateRangeGrp.Location;
                year.Visible         = false;
                day.Visible          = false;
                wday.Location        = new Point(wday.Location.X + 50, wday.Location.Y);

                BacnetweekNDay bwd = (BacnetweekNDay)entry;

                if (bwd.wday != 255)
                {
                    wday.SelectedIndex = bwd.wday - 1;
                }
                else
                {
                    wday.SelectedIndex = 7;
                }

                if (bwd.month != 255)
                {
                    month.SelectedIndex = bwd.month - 1;
                }
                else
                {
                    month.SelectedIndex = 14;
                }
            }
        }
Example #9
0
        private void PlaceItemsInCalendarView()
        {
            foreach (object e in calendarEntries.Entries)
            {
                if (e is BacnetDate)
                {
                    BacnetDate bd = (BacnetDate)e;
                    if (bd.IsPeriodic)
                    {
                        foreach (CalendarDay dt in calendarView.Days)
                        {
                            if (bd.IsAFittingDate(dt.Date))
                            {
                                AddCalendarEntry(dt.Date, dt.Date, Color.Blue, "Periodic", bd);
                            }
                        }
                    }
                    else
                    {
                        AddCalendarEntry(bd.toDateTime(), bd.toDateTime(), Color.Green, "", bd);
                    }
                }
                else if (e is BacnetDateRange)
                {
                    BacnetDateRange bdr = (BacnetDateRange)e;
                    DateTime        start, end;

                    if (bdr.startDate.year != 255)
                    {
                        start = new DateTime(bdr.startDate.year + 1900, bdr.startDate.month, bdr.startDate.day, 0, 0, 0);
                    }
                    else
                    {
                        start = DateTime.MinValue;
                    }
                    if (bdr.endDate.year != 255)
                    {
                        end = new DateTime(bdr.endDate.year + 1900, bdr.endDate.month, bdr.endDate.day, 23, 59, 59);
                    }
                    else
                    {
                        end = DateTime.MaxValue;
                    }
                    CalendarItem ci = new CalendarItem(calendarView, start, end, "");
                    ci.ApplyColor(Color.Yellow);
                    ci.Tag = bdr;

                    if (start <= calendarView.Days[calendarView.Days.Length - 1].Date && calendarView.Days[0].Date <= end)
                    {
                        calendarView.Items.Add(ci);
                    }
                }
                else
                {
                    BacnetweekNDay bwnd = (BacnetweekNDay)e;
                    foreach (CalendarDay dt in calendarView.Days)
                    {
                        if (bwnd.IsAFittingDate(dt.Date))
                        {
                            AddCalendarEntry(dt.Date, dt.Date, Color.Red, "Periodic", bwnd);
                        }
                    }
                }
            }
        }