Example #1
0
        public ManageScheduleWindow(MainWindow parent, WorkMode workMode, Schedule schedule = null)
        {
            _parent   = parent;
            _workMode = workMode;

            if (_workMode == WorkMode.Add)
            {
                Schedule = new Schedule(true);
            }
            else
            {
                _originalSchedule = schedule;

                var serialized = JsonConvert.SerializeObject(schedule); //Deep copy the schedule when editing
                Schedule = JsonConvert.DeserializeObject <Schedule>(serialized);
            }

            DataContext = Schedule;

            InitializeComponent();

            _dayUserControls = new List <DayUserControl>();
            _dayUserControls.Add(MondayUserControl);
            _dayUserControls.Add(TuesdayUserControl);
            _dayUserControls.Add(WednesdayUserControl);
            _dayUserControls.Add(ThursdayUserControl);
            _dayUserControls.Add(FridayUserControl);
            _dayUserControls.Add(SaturdayUserControl);
            _dayUserControls.Add(SundayUserControl);

            SetupDayUserControls();

            EventUserControl.EventTriggers = Schedule.EventTriggers;
            EventUserControl.BuildTriggerList();
        }
        public ManageScheduleWindow(MainWindow parent, WorkMode workMode, Schedule schedule = null)
        {
            _parent   = parent;
            _workMode = workMode;

            if (_workMode == WorkMode.Add)
            {
                Schedule = new Schedule(true);
            }
            else
            {
                _originalSchedule = schedule;

                var serialized = JsonConvert.SerializeObject(schedule); //Deep copy the schedule when editing
                Schedule = JsonConvert.DeserializeObject <Schedule>(serialized);
            }

            DataContext = Schedule;

            InitializeComponent();

            _dayUserControls = new List <DayUserControl>();
            _dayUserControls.Add(MondayUserControl);
            _dayUserControls.Add(TuesdayUserControl);
            _dayUserControls.Add(WednesdayUserControl);
            _dayUserControls.Add(ThursdayUserControl);
            _dayUserControls.Add(FridayUserControl);
            _dayUserControls.Add(SaturdayUserControl);
            _dayUserControls.Add(SundayUserControl);

            SetupDayUserControls();

            EventUserControl.EventTriggers = Schedule.EventTriggers;
            EventUserControl.BuildTriggerList();

            //Set the device dropdown values
            DevicesDropdown.ItemsSource   = UserSettings.Settings.Devices.Select(device => device.Name);
            DevicesDropdown.SelectedValue = Schedule.AppliedDeviceNames;
        }