private void lstSeasonalMetrics_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (lstSeasonalMetrics.Items.Count == 0)
                {
                    return;
                }
                if (!isRefrest)
                {
                    return;
                }
                if (_seasonalMetric != null)
                {
                    for (int i = 0; i < _lstSMetrics.Count; i++)
                    {
                        if (_lstSMetrics[i].SeasonalMetricID == _seasonalMetric.SeasonalMetricID)
                        {
                            _lstSMetrics[i] = updateSeasonalMetric(_seasonalMetric);
                            break;
                        }
                    }
                }
                ListItem lt = (lstSeasonalMetrics.SelectedIndex < 0 ? lstSeasonalMetrics.Items[lstSeasonalMetrics.Items.Count - 1] : lstSeasonalMetrics.Items[lstSeasonalMetrics.SelectedIndex]) as ListItem;
                _seasonalMetric          = (from p in _lstSMetrics where p.SeasonalMetricID.ToString() == lt.ID select p).ToList()[0];
                txtSeasonMetricName.Text = _seasonalMetric.SeasonalMetricName;
                _lstSMSeasons            = _seasonalMetric.Seasons;
                lstSeasonalMetricSeasons.Items.Clear();
                if (_seasonalMetric.Seasons != null)
                {
                    _seasonalMetric.Seasons.Sort((x, y) => x.StartDay < y.StartDay ? -1 : 0);
                    for (int i = 1; i <= _seasonalMetric.Seasons.Count; i++)
                    {
                        lstSeasonalMetricSeasons.Items.Add(new ListItem(_seasonalMetric.Seasons[i - 1].SeasonalMetricSeasonID.ToString(), "Season " + i));
                    }

                    if (lstSeasonalMetricSeasons.Items.Count > 0)
                    {
                        lstSeasonalMetricSeasons.SelectedIndex = lstSeasonalMetricSeasons.Items.Count - 1;
                    }
                }
                if (lstSeasonalMetricSeasons.Items.Count <= 0)
                {
                    dtpStartTime.Value   = new DateTime(2011, 1, 1);
                    dtpEndTime.Value     = new DateTime(2011, 12, 31);
                    dtpStartTime.Enabled = false;
                    dtpEndTime.Enabled   = false;
                    btnDeleteSeasonalMetricSeason.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
            }
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (lstSeasonalMetrics.SelectedItem == null)
            {
                return;
            }
            FireBirdHelperBase fb          = new ESILFireBirdHelper();
            string             commandText = string.Empty;

            try
            {
                if (lstSeasonalMetrics.Items.Count == 0)
                {
                    MessageBox.Show("There is no seasonal metric to delete."); return;
                }
                commandText = "select MonitorID from MonitorEntries where SeasonalMetricID=" + _seasonalMetric.SeasonalMetricID + "";
                object obj = fb.ExecuteScalar(CommonClass.Connection, CommandType.Text, commandText);
                if (obj != null)
                {
                    MessageBox.Show("This seasonal metric is used in 'Monitor Datasets'. Please delete monitor datasets that use this seasonal metric first.");
                    return;
                }
                DialogResult rtn = MessageBox.Show("All Seasons associated with this seasonal metric will be deleted. Are you sure you want to delete this seasonal metric?", "", MessageBoxButtons.OKCancel);
                if (rtn == DialogResult.OK)
                {
                    for (int i = 0; i < _lstSMetrics.Count; i++)
                    {
                        if (_lstSMetrics[i].SeasonalMetricID == _seasonalMetric.SeasonalMetricID)
                        {
                            _lstSMetrics.RemoveAt(i);
                        }
                    }
                    commandText = "delete from SeasonalMetrics where SeasonalMetricID=" + _seasonalMetric.SeasonalMetricID + "";
                    fb.ExecuteNonQuery(CommonClass.Connection, CommandType.Text, commandText);
                    commandText = "delete from SeasonalMetricSeasons where SeasonalMetricID=" + _seasonalMetric.SeasonalMetricID + "";
                    fb.ExecuteNonQuery(CommonClass.Connection, CommandType.Text, commandText);
                    _seasonalMetric = null;
                    lstSeasonalMetrics.Items.RemoveAt(lstSeasonalMetrics.SelectedIndex);
                    if (lstSeasonalMetrics.Items.Count == 0)
                    {
                        lstSeasonalMetricSeasons.Items.Clear();
                        txtSeasonMetricName.Text    = "";
                        txtSeasonMetricName.Enabled = false;
                    }
                    else
                    {
                        lstSeasonalMetrics.SelectedIndex = lstSeasonalMetrics.Items.Count - 1;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex.Message);
            }
        }
 private void btnAdd_Click(object sender, EventArgs e)
 {
     try
     {
         if (lstSeasonalMetrics.SelectedItem != null)
         {
             _seasonalMetric = updateSeasonalMetric(_seasonalMetric);
         }
         ManageSetupSeasonalMetric addSMetric = new ManageSetupSeasonalMetric();
         FireBirdHelperBase        fb         = new ESILFireBirdHelper();
         string commandText = "select max(SeasonalMetricID) from SeasonalMetrics";
         seasonalmetricidadd++;
         addSMetric.SeasonalMetricID = Convert.ToInt32(fb.ExecuteScalar(CommonClass.Connection, CommandType.Text, commandText)) + seasonalmetricidadd;
         if (_lstSMetrics.Count == 0)
         {
             addSMetric.Metric = _metric; txtSeasonMetricName.Enabled = true;
         }
         else
         {
             addSMetric.Metric = _lstSMetrics[0].Metric;
         }
         bool checkExist = true;
         if (lstSeasonalMetrics.Items.Count > 0)
         {
             while (checkExist)
             {
                 foreach (ListItem it in lstSeasonalMetrics.Items)
                 {
                     if (it.ToString() == "SeasonalMetric " + _iSeasonalMetric.ToString() + "")
                     {
                         _iSeasonalMetric++;
                         checkExist = true;
                         break;
                     }
                     else
                     {
                         checkExist = false;
                     }
                 }
             }
         }
         addSMetric.SeasonalMetricName = "SeasonalMetric " + _iSeasonalMetric;
         txtSeasonMetricName.Text      = "SeasonalMetric " + _iSeasonalMetric;
         _lstSMetrics.Add(addSMetric);
         lstSeasonalMetrics.Items.Add(new ListItem(addSMetric.SeasonalMetricID.ToString(), addSMetric.SeasonalMetricName));
         _seasonalMetric = null;
         lstSeasonalMetrics.SelectedIndex = lstSeasonalMetrics.Items.Count - 1;
         _iSeasonalMetric++;
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.Message);
     }
 }
 private ManageSetupSeasonalMetric updateSeasonalMetric(ManageSetupSeasonalMetric sMetric)
 {
     try
     {
         ManageSetupSeasonalMetric sMetric1 = sMetric;
         sMetric1.SeasonalMetricName = sMetric.SeasonalMetricName;
         sMetric1.Seasons            = _lstSMSeasons;
         return(sMetric1);
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.Message);
         return(null);
     }
 }