private void ok_Click(object sender, EventArgs e)
        {
            string errors = discreteChoiceModelOptions.ValidateInput() + featureBasedDcmOptions.ValidateInput() + timeSliceDcmOptions.ValidateInput();

            if (errors != "")
            {
                MessageBox.Show(errors);
                return;
            }

            _resultingModel = timeSliceDcmOptions.TimeSliceDCM;
            if (_resultingModel == null)
            {
                _resultingModel = new TimeSliceDCM();
            }

            discreteChoiceModelOptions.CommitValues(_resultingModel);
            featureBasedDcmOptions.CommitValues(_resultingModel);
            timeSliceDcmOptions.CommitValues(_resultingModel);

            DialogResult = System.Windows.Forms.DialogResult.OK;
            Close();
        }
 internal void CommitValues(TimeSliceDCM model)
 {
     model.TimeSliceHours   = TimeSliceHours;
     model.PeriodTimeSlices = TimeSlicesPerPeriod;
 }
 public TimeSliceDcmForm(TimeSliceDCM current)
     : this()
 {
     discreteChoiceModelOptions.DiscreteChoiceModel = featureBasedDcmOptions.FeatureBasedDCM = timeSliceDcmOptions.TimeSliceDCM = current;
 }
        public TimeSliceDcmForm()
        {
            InitializeComponent();

            discreteChoiceModelOptions.trainingAreas.SelectedValueChanged += (o, e) =>
            {
                featureBasedDcmOptions.TrainingArea = discreteChoiceModelOptions.TrainingArea;
            };

            featureBasedDcmOptions.GetFeatures = new Func <Area, List <Feature> >(a => TimeSliceDCM.GetAvailableFeatures(a).ToList());

            discreteChoiceModelOptions.RefreshAreas();
        }