Ejemplo n.º 1
0
 public AdvancedOptions(string Method, MonitorAdvance mAdvance)
 {
     InitializeComponent();
     _method = Method;
     if (mAdvance != null)
     {
         _myMonitorAdvance = mAdvance;
     }
 }
Ejemplo n.º 2
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     updataMonitorAdvance();
     if (!settingcorrect)
     {
         return;
     }
     _MonitorAdvanceFilter = MonitorAdvanceFilterTemp;
     this.DialogResult     = DialogResult.OK;
 }
Ejemplo n.º 3
0
        private void btnCustomMonitor_Click(object sender, EventArgs e)
        {
            FilterMonitors frm = new FilterMonitors();

            frm.MonitorAdvanceFilter = MyMonitorAdvance;
            frm.bcg       = bcg;
            frm.mDataLine = mDataLine;
            DialogResult rtn = frm.ShowDialog();

            if (rtn == DialogResult.OK)
            {
                MyMonitorAdvance = frm.MonitorAdvanceFilter;
            }
        }
Ejemplo n.º 4
0
        private void btnAdvanced_Click(object sender, EventArgs e)
        {
            string msg = string.Empty;

            try
            {
                if (!((cboMonitorDataSet.Text != string.Empty && cboMonitorLibraryYear.Text != string.Empty) || txtMonitorDataFile.Text != string.Empty))
                {
                    msg = "Please select monitor dataset.";
                    MessageBox.Show(msg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                string method = string.Empty;
                foreach (var c in grpInterpolationMethod.Controls)
                {
                    RadioButton r = c as RadioButton;
                    if (r == null)
                    {
                        continue;
                    }
                    if (r.Checked)
                    {
                        method = r.Tag.ToString(); break;
                    }
                }
                if (_monitorAdvance == null)
                {
                    _monitorAdvance = new MonitorAdvance();
                }
                switch (cboMonitorType.SelectedIndex)
                {
                case 0:
                    _mDataLine.MonitorDirectType = 0;
                    if (cboMonitorDataSet.Text != string.Empty && cboMonitorLibraryYear.Text != string.Empty)
                    {
                        DataRowView drv  = cboMonitorDataSet.SelectedItem as DataRowView;
                        int         dsID = int.Parse(drv["MonitorDataSetID"].ToString());
                        _mDataLine.MonitorDataSetID = dsID;
                        drv = cboMonitorLibraryYear.SelectedItem as DataRowView;
                        _mDataLine.MonitorLibraryYear = int.Parse(drv["Yyear"].ToString());
                    }
                    else
                    {
                        msg = string.Format("Settings are not complete."); return;
                    }
                    _strPath = "Monitor data: library";
                    break;

                case 1:
                    _mDataLine.MonitorDirectType = 1;
                    if (txtMonitorDataFile.Text != string.Empty)
                    {
                        _mDataLine.MonitorDataFilePath = txtMonitorDataFile.Text;
                    }
                    else
                    {
                        msg = string.Format("Settings are not complete."); return;
                    }
                    _strPath = "Monitor data: " + txtMonitorDataFile.Text;
                    break;
                }
                AdvancedOptions frm = new AdvancedOptions(method, _monitorAdvance);
                frm.bcg       = _bgcMonitor;
                frm.mDataLine = _mDataLine;
                DialogResult rtn = frm.ShowDialog();
                if (rtn == DialogResult.OK)
                {
                    _monitorAdvance = frm.MyMonitorAdvance;
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex);
            }
        }
Ejemplo n.º 5
0
        private void updataMonitorAdvance()
        {
            try
            {
                settingcorrect           = true;
                MonitorAdvanceFilterTemp = new MonitorAdvance();
                if (!string.IsNullOrEmpty(txtIncludeID.Text))
                {
                    string[] sArray = txtIncludeID.Text.Split(',');
                    if (MonitorAdvanceFilterTemp.FilterIncludeIDs == null)
                    {
                        MonitorAdvanceFilterTemp.FilterIncludeIDs = new List <string>();
                    }
                    foreach (string s in sArray)
                    {
                        if (!string.IsNullOrEmpty(s))
                        {
                            try
                            {
                                MonitorAdvanceFilterTemp.FilterIncludeIDs.Add(s);
                            }
                            catch
                            {
                                MessageBox.Show("Please input valid value for monitor ID to be included.", "Error", MessageBoxButtons.OK);
                                settingcorrect = false;
                            }
                        }
                    }
                }

                if (!string.IsNullOrEmpty(txtExcludeID.Text))
                {
                    string[] sArray = txtExcludeID.Text.Split(',');
                    if (MonitorAdvanceFilterTemp.FilterExcludeIDs == null)
                    {
                        MonitorAdvanceFilterTemp.FilterExcludeIDs = new List <string>();
                    }
                    foreach (string s in sArray)
                    {
                        if (!string.IsNullOrEmpty(s))
                        {
                            try
                            {
                                MonitorAdvanceFilterTemp.FilterExcludeIDs.Add(s);
                            }
                            catch
                            {
                                settingcorrect = false;
                            }
                        }
                    }
                }

                if (!string.IsNullOrEmpty(txtStates.Text))
                {
                    string[] sArray = txtStates.Text.Split(',');
                    foreach (string s in sArray)
                    {
                        if (!string.IsNullOrEmpty(s))
                        {
                        }
                    }
                }

                try
                {
                    Convert.ToDouble(txtMinimumLongitude.Text);
                    if (Convert.ToDouble(txtMinimumLongitude.Text) > 180 || Convert.ToDouble(txtMinimumLongitude.Text) < -180)
                    {
                        MessageBox.Show("Please input a valid value for minimum longitude.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                }
                catch
                {
                    MessageBox.Show("Please input a valid value for minimum longitude.", "Error", MessageBoxButtons.OK);
                    settingcorrect = false;
                    return;
                }

                try
                {
                    Convert.ToDouble(txtMaximumLongitude.Text);
                    if (Convert.ToDouble(txtMaximumLongitude.Text) > 180 || Convert.ToDouble(txtMaximumLongitude.Text) < -180)
                    {
                        MessageBox.Show("Please input a valid value for maximum longitude.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                }
                catch
                {
                    MessageBox.Show("Please input a valid value for maximum longitude.", "Error", MessageBoxButtons.OK);
                    settingcorrect = false;
                    return;
                }

                try
                {
                    Convert.ToDouble(txtMinimumLatitude.Text);
                    if (Convert.ToDouble(txtMinimumLatitude.Text) > 180 || Convert.ToDouble(txtMinimumLatitude.Text) < -180)
                    {
                        MessageBox.Show("Please input a valid value for minimum latitude.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                }
                catch
                {
                    MessageBox.Show("Please input a valid value for minimum latitude.", "Error", MessageBoxButtons.OK);
                    settingcorrect = false;
                    return;
                }

                try
                {
                    Convert.ToDouble(txtMaximumLatitude.Text);
                    if (Convert.ToDouble(txtMaximumLatitude.Text) > 180 || Convert.ToDouble(txtMaximumLatitude.Text) < -180)
                    {
                        MessageBox.Show("Please input a valid value for maximum latitude.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                }
                catch
                {
                    MessageBox.Show("Please input a valid value for maximum latitude.", "Error", MessageBoxButtons.OK);
                    settingcorrect = false;
                    return;
                }

                if (Convert.ToDouble(txtMinimumLatitude.Text) > Convert.ToDouble(txtMaximumLatitude.Text))
                {
                    MessageBox.Show("The minimum latitude must be smaller than the maximum latitude.", "Error", MessageBoxButtons.OK);
                    settingcorrect = false;
                    return;
                }
                if (Convert.ToDouble(txtMinimumLongitude.Text) > Convert.ToDouble(txtMaximumLongitude.Text))
                {
                    MessageBox.Show("The minimum longitude must be smaller than the maximum longitude.", "Error", MessageBoxButtons.OK);
                    settingcorrect = false;
                    return;
                }
                MonitorAdvanceFilterTemp.FilterMinLongitude = Convert.ToDouble(txtMinimumLongitude.Text);
                MonitorAdvanceFilterTemp.FilterMaxLongitude = Convert.ToDouble(txtMaximumLongitude.Text);
                MonitorAdvanceFilterTemp.FilterMinLatitude  = Convert.ToDouble(txtMinimumLatitude.Text);
                MonitorAdvanceFilterTemp.FilterMaxLatitude  = Convert.ToDouble(txtMaximumLatitude.Text);

                MonitorAdvanceFilterTemp.FilterMaximumPOC = Convert.ToInt16(nudownMaximumPOC.Value);
                string[] sPOC = txtPOCPreferenceOrder.Text.Split(',');
                foreach (string poc in sPOC)
                {
                    try
                    {
                        if (!string.IsNullOrEmpty(poc))
                        {
                            Convert.ToInt16(poc);
                        }
                    }
                    catch
                    {
                        MessageBox.Show("Please input valid values for POC preference order.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                }
                MonitorAdvanceFilterTemp.POCPreferenceOrder = txtPOCPreferenceOrder.Text;

                MonitorAdvanceFilterTemp.IncludeMethods = new List <string>();
                foreach (string m in chkSelectMethods.CheckedItems)
                {
                    MonitorAdvanceFilterTemp.IncludeMethods.Add(m);
                }

                switch (bcg.Pollutant.PollutantName)
                {
                case "PM2.5":
                case "PM10":
                    MonitorAdvanceFilterTemp.NumberOfPerQuarter = Convert.ToInt16(ucPM.nudownNumberOfValidObservations.Value);
                    if (ucPM.rbtnLocal.Checked)
                    {
                        MonitorAdvanceFilterTemp.DataTypesToUse = MonitorAdvanceDataTypeEnum.Local;
                    }
                    if (ucPM.rbtnStandard.Checked)
                    {
                        MonitorAdvanceFilterTemp.DataTypesToUse = MonitorAdvanceDataTypeEnum.Standard;
                    }
                    if (ucPM.rbtnBoth.Checked)
                    {
                        MonitorAdvanceFilterTemp.DataTypesToUse = MonitorAdvanceDataTypeEnum.Both;
                    }

                    if (ucPM.rbtnPreferredLocal.Checked)
                    {
                        MonitorAdvanceFilterTemp.PreferredType = MonitorAdvanceDataTypeEnum.Local;
                    }
                    if (ucPM.rbtnStandardPreferred.Checked)
                    {
                        MonitorAdvanceFilterTemp.PreferredType = MonitorAdvanceDataTypeEnum.Standard;
                    }

                    if (ucPM.rbtnOutputLocal.Checked)
                    {
                        MonitorAdvanceFilterTemp.OutputType = MonitorAdvanceDataTypeEnum.Local;
                    }
                    if (ucPM.rbtnOutputStandard.Checked)
                    {
                        MonitorAdvanceFilterTemp.OutputType = MonitorAdvanceDataTypeEnum.Standard;
                    }
                    break;

                case "Ozone":
                    if (ucOzone.numDownStartHour.Value >= ucOzone.numDownEndHour.Value)
                    {
                        MessageBox.Show("Start hour must be smaller than the end hour.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                    if (ucOzone.dtpStartTime.Value.DayOfYear >= ucOzone.dtpEndTime.Value.DayOfYear)
                    {
                        MessageBox.Show("Start day must be less than the end day.", "Error", MessageBoxButtons.OK);
                        settingcorrect = false;
                        return;
                    }
                    MonitorAdvanceFilterTemp.StartHour          = Convert.ToInt16(ucOzone.numDownStartHour.Value);
                    MonitorAdvanceFilterTemp.EndHour            = Convert.ToInt16(ucOzone.numDownEndHour.Value);
                    MonitorAdvanceFilterTemp.NumberOfValidHour  = Convert.ToInt16(ucOzone.nudownNumberOfValidHours.Value);
                    MonitorAdvanceFilterTemp.StartDate          = ucOzone.dtpStartTime.Value.DayOfYear;
                    MonitorAdvanceFilterTemp.EndDate            = ucOzone.dtpEndTime.Value.DayOfYear;
                    MonitorAdvanceFilterTemp.PercentOfValidDays = Convert.ToInt16(ucOzone.nudownNumberOfValidDays.Value);
                    break;
                }
            }
            catch
            {
                settingcorrect = false;
            }
        }
Ejemplo n.º 6
0
        private void btnAdvanced_Click(object sender, EventArgs e)
        {
            if (cboRollbackGridType.SelectedIndex == -1)
            {
                MessageBox.Show("Please select rollback grid type first.");
                return;
            }
            if (tabControl1.SelectedIndex == 0)
            {
                if (cboMonitorDataSet.SelectedIndex == -1 || cboMonitorLibraryYear.SelectedIndex == -1)
                {
                    MessageBox.Show("Please select monitor library year."); return;
                }
                _monitorRollbackLine.MonitorDirectType  = 0;
                _monitorRollbackLine.MonitorDataSetID   = Convert.ToInt32((cboMonitorDataSet.SelectedItem as DataRowView)["MonitorDataSetID"]);
                _monitorRollbackLine.MonitorLibraryYear = Convert.ToInt32((cboMonitorLibraryYear.SelectedItem as DataRowView)["Yyear"]);
                _strPath = "Monitor Rollback: libary";
            }
            else if (tabControl1.SelectedIndex == 1)
            {
                if (txtMonitorDataFile.Text == "")
                {
                    MessageBox.Show("Please select monitor data file."); return;
                }
                _monitorRollbackLine.MonitorDirectType   = 1;
                _monitorRollbackLine.MonitorDataFilePath = txtMonitorDataFile.Text;
                _strPath = "Monitor Rollback: " + txtMonitorDataFile.Text;
            }
            _monitorRollbackLine.RollbackGrid = _monitorRollbackGrid;
            _monitorRollbackLine.GridType     = CommonClass.GBenMAPGrid;
            _monitorRollbackLine.Pollutant    = _bgc.Pollutant;
            MonitorAdvance MyMonitorAdvance = new MonitorAdvance()
            {
            };

            if (_monitorRollbackLine.MonitorAdvance != null)
            {
                MyMonitorAdvance = new MonitorAdvance()
                {
                    DataTypesToUse              = _monitorRollbackLine.MonitorAdvance.DataTypesToUse,
                    EndDate                     = _monitorRollbackLine.MonitorAdvance.EndDate,
                    EndHour                     = _monitorRollbackLine.MonitorAdvance.EndHour,
                    FilterExcludeIDs            = _monitorRollbackLine.MonitorAdvance.FilterExcludeIDs,
                    FilterIncludeIDs            = _monitorRollbackLine.MonitorAdvance.FilterIncludeIDs,
                    FilterMaximumPOC            = _monitorRollbackLine.MonitorAdvance.FilterMaximumPOC,
                    FilterMaxLatitude           = _monitorRollbackLine.MonitorAdvance.FilterMaxLatitude,
                    FilterMaxLongitude          = _monitorRollbackLine.MonitorAdvance.FilterMaxLongitude,
                    FilterMinLatitude           = _monitorRollbackLine.MonitorAdvance.FilterMinLatitude,
                    FilterMinLongitude          = _monitorRollbackLine.MonitorAdvance.FilterMinLongitude,
                    FilterStates                = _monitorRollbackLine.MonitorAdvance.FilterStates,
                    GetClosedIfNoneWithinRadius = _monitorRollbackLine.MonitorAdvance.GetClosedIfNoneWithinRadius,
                    IncludeMethods              = _monitorRollbackLine.MonitorAdvance.IncludeMethods,
                    MaxinumNeighborDistance     = _monitorRollbackLine.MonitorAdvance.MaxinumNeighborDistance,
                    NumberOfPerQuarter          = _monitorRollbackLine.MonitorAdvance.NumberOfPerQuarter,
                    NumberOfValidHour           = _monitorRollbackLine.MonitorAdvance.NumberOfValidHour,
                    OutputType                  = _monitorRollbackLine.MonitorAdvance.OutputType,
                    PercentOfValidDays          = _monitorRollbackLine.MonitorAdvance.PercentOfValidDays,
                    POCPreferenceOrder          = _monitorRollbackLine.MonitorAdvance.POCPreferenceOrder,
                    PreferredType               = _monitorRollbackLine.MonitorAdvance.PreferredType,
                    RelativeNeighborDistance    = _monitorRollbackLine.MonitorAdvance.RelativeNeighborDistance,
                    StartDate                   = _monitorRollbackLine.MonitorAdvance.StartDate,
                    StartHour                   = _monitorRollbackLine.MonitorAdvance.StartHour,
                    WeightingApproach           = _monitorRollbackLine.MonitorAdvance.WeightingApproach
                };
            }
            FilterMonitors frm = new FilterMonitors();

            frm.MonitorAdvanceFilter = MyMonitorAdvance;
            frm.bcg       = this._bgc;
            frm.mDataLine = _monitorRollbackLine;
            DialogResult rtn = frm.ShowDialog();

            if (rtn == DialogResult.OK)
            {
                MyMonitorAdvance = frm.MonitorAdvanceFilter;
                _monitorRollbackLine.MonitorAdvance = MyMonitorAdvance;
            }
        }