/*
         * Refresh do painel de apresentacao das metricas de espaco + pieChart
         */
        private void Display_MetrosLineares()
        {
            AutoEliminacaoRule.Info_UFs_Larguras ufs = new AutoEliminacaoRule.Info_UFs_Larguras();

            // Metros lineares totais:
            double Metros_lineares_totais = 0.0;

            this.globalConfigRow = (GISADataset.GlobalConfigRow)(GisaDataSetHelper.GetInstance().GlobalConfig.Rows[0]);
            if (this.globalConfigRow.IsMetrosLinearesTotaisNull())
            {
                this.txt_metrosLinearesTotais.Text = "";
            }
            else
            {
                Metros_lineares_totais             = (double)this.globalConfigRow.MetrosLinearesTotais;
                this.txt_metrosLinearesTotais.Text = Metros_lineares_totais.ToString();
            }

            // Metros lineares ocupados:
            double Metros_lineares_ocupados = 0.0;

            GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
            try {
                // UFS totais:
                ufs = AutoEliminacaoRule.Current.Get_Info_UFs_Larguras(ho.Connection);

                Metros_lineares_ocupados             = AutoEliminacaoRule.Current.GetMetrosLinearesOcupados(ho.Connection);
                this.txt_metrosLinearesOcupados.Text = Metros_lineares_ocupados.ToString();
            }
            catch (Exception e) {
                Debug.WriteLine(e);
                throw;
            }
            finally { ho.Dispose(); }

            // Metros lineares livres:
            double Metros_lineares_livres = Metros_lineares_totais - Metros_lineares_ocupados;

            this.txt_metrosLinearesLivres.Text = Metros_lineares_livres.ToString();
            this.lblLivres.ForeColor           = (Metros_lineares_livres <= 0.0 ? Color.Red : Color.Black);

            // Estimativa de ocupacao para ufs sem largura:
            double Metros_ocupados_estimados = ufs.Media_largura * ufs.TotalUFs_semLargura;

            if (Metros_lineares_livres > 0 && Metros_lineares_ocupados > 0)
            {
                CreateChart(this.zedGraphPieChartControl, Metros_lineares_livres, Metros_lineares_ocupados, Metros_ocupados_estimados);
            }
            else
            {
                CreateEmptyChart(this.zedGraphPieChartControl);
            }

            // UFs totais:
            this.txt_UFsTotais.Text     = ufs.TotalUFs.ToString();
            this.txt_UFsSemLargura.Text = ufs.TotalUFs_semLargura.ToString();
        }
        /*
         * Refresh do painel de apresentacao das metricas de espaco + pieChart
         */
        private void Display_MetrosLineares() {
            AutoEliminacaoRule.Info_UFs_Larguras ufs = new AutoEliminacaoRule.Info_UFs_Larguras();

            // Metros lineares totais:
            double Metros_lineares_totais = 0.0;
            this.globalConfigRow = (GISADataset.GlobalConfigRow)(GisaDataSetHelper.GetInstance().GlobalConfig.Rows[0]);
            if (this.globalConfigRow.IsMetrosLinearesTotaisNull())
                this.txt_metrosLinearesTotais.Text = "";
            else {
                Metros_lineares_totais = (double)this.globalConfigRow.MetrosLinearesTotais;
                this.txt_metrosLinearesTotais.Text = Metros_lineares_totais.ToString();
            }

            // Metros lineares ocupados:
            double Metros_lineares_ocupados = 0.0;
            GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
            try {
                // UFS totais:
                ufs = AutoEliminacaoRule.Current.Get_Info_UFs_Larguras(ho.Connection);

                Metros_lineares_ocupados = AutoEliminacaoRule.Current.GetMetrosLinearesOcupados(ho.Connection);
                this.txt_metrosLinearesOcupados.Text = Metros_lineares_ocupados.ToString();
            }
            catch (Exception e) {
                Debug.WriteLine(e);
                throw;
            }
            finally { ho.Dispose(); }

            // Metros lineares livres:
            double Metros_lineares_livres = Metros_lineares_totais - Metros_lineares_ocupados;
            this.txt_metrosLinearesLivres.Text = Metros_lineares_livres.ToString();
            this.lblLivres.ForeColor = (Metros_lineares_livres <= 0.0 ? Color.Red : Color.Black);

            // Estimativa de ocupacao para ufs sem largura:
            double Metros_ocupados_estimados = ufs.Media_largura * ufs.TotalUFs_semLargura;
            if (Metros_lineares_livres > 0 && Metros_lineares_ocupados > 0)
                CreateChart(this.zedGraphPieChartControl, Metros_lineares_livres, Metros_lineares_ocupados, Metros_ocupados_estimados);
            else
                CreateEmptyChart(this.zedGraphPieChartControl);

            // UFs totais:
            this.txt_UFsTotais.Text = ufs.TotalUFs.ToString();
            this.txt_UFsSemLargura.Text = ufs.TotalUFs_semLargura.ToString();
        }
		public override void LoadData()
		{
			GlobalConfigRow = (GISADataset.GlobalConfigRow)(GisaDataSetHelper.GetInstance().GlobalConfig.Rows[0]);
			GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
			try
			{
				NivelRule.Current.LoadModelosAvaliacao(GisaDataSetHelper.GetInstance(), ho.Connection);
			}
			catch (Exception ex)
			{
				Trace.WriteLine(ex);
				throw;
			}
			finally
			{
				ho.Dispose();
			}
		}