private string FiltroToString(ComboBox thing)
 {
     EstatisticasRule.TotalTipo tt = (EstatisticasRule.TotalTipo)thing.SelectedItem;
     if (tt.ID > 0)
     {
         return("\nFiltro:\t" + tt.Designacao);
     }
     return("");
 }
 private void Build_comboBox(ComboBox cb, List <EstatisticasRule.TotalTipo> source)
 {
     EstatisticasRule.TotalTipo empty = new EstatisticasRule.TotalTipo();
     empty.ID         = ID_EMPTY_FILTRO;
     empty.Designacao = " <Sem filtro> ";
     empty.Contador   = 0;
     cb.Items.Add(empty);
     foreach (EstatisticasRule.TotalTipo ua in source)
     {
         if (ua.ID != -1)
         {
             cb.Items.Add(ua);
         }
     }
     cb.SelectedItem = empty;
 }
        private void GetData_Periodo(DateTime dataInicio, DateTime dataFim, bool excludeImport, bool sobrePesquisa)
        {
            // TODO: aplicar o filtro das importações
            EstatisticasRule.TotalTipo regAut = (EstatisticasRule.TotalTipo) this.comboBox_Noticia_Autoridade.SelectedItem;
            EstatisticasRule.TotalTipo undArq = (EstatisticasRule.TotalTipo) this.comboBox_UnidadesInformacionais.SelectedItem;

            GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
            try {
                this.contPeriodoUFsPorOper    = EstatisticasRule.Current.GetTotalCriacoesUFPorOper(dataInicio, dataFim, excludeImport, sobrePesquisa, ho.Connection);
                this.contPeriodoRegAutPorOper = EstatisticasRule.Current.GetTotalCriacoesRegAutPorOper(regAut.ID, dataInicio, dataFim, ho.Connection);
                this.contPeriodoUAsPorOper    = EstatisticasRule.Current.GetTotalCriacoesUAPorOper(undArq.ID, dataInicio, dataFim, excludeImport, sobrePesquisa, ho.Connection);
            }
            catch (Exception ex) {
                Trace.WriteLine(ex);
                throw;
            }
            finally { ho.Dispose(); }
        }
        /**
         * Contruir uma lista com um contador de Unidades Fisicas
         */
        private List <EstatisticasRule.TotalTipo> Build_Total_UFs(IDbConnection conn)
        {
            List <EstatisticasRule.TotalTipo> Total_UFs = new List <EstatisticasRule.TotalTipo>();

            // 1. Unidades Fisicas
            EstatisticasRule.TotalTipo tipo_uf1 = new EstatisticasRule.TotalTipo();
            tipo_uf1.ID         = 1;
            tipo_uf1.Designacao = "Unidades Fisicas em depósito:";
            tipo_uf1.Contador   = EstatisticasRule.Current.GetTotalUF(false, conn);
            Total_UFs.Add(tipo_uf1);

            EstatisticasRule.TotalTipo tipo_uf6 = new EstatisticasRule.TotalTipo();
            tipo_uf6.ID         = 6;
            tipo_uf6.Designacao = "    - sem unidades informacionais";
            tipo_uf6.Contador   = EstatisticasRule.Current.GetTotalUFSemUIs(false, conn);
            Total_UFs.Add(tipo_uf6);

            EstatisticasRule.TotalTipo tipo_uf5 = new EstatisticasRule.TotalTipo();
            tipo_uf5.ID         = 5;
            tipo_uf5.Designacao = "    - com unidades informacionais";
            tipo_uf5.Contador   = tipo_uf1.Contador - tipo_uf6.Contador;
            Total_UFs.Add(tipo_uf5);

            // 2. objetos Digitais:
            EstatisticasRule.TotalTipo tipo_uf2 = new EstatisticasRule.TotalTipo();
            tipo_uf2.ID         = 2;
            tipo_uf2.Designacao = "Objetos Digitais Fedora Simples";
            tipo_uf2.Contador   = EstatisticasRule.Current.GetTotalObjsDigitaisFedSimples(conn);;
            Total_UFs.Add(tipo_uf2);

            EstatisticasRule.TotalTipo tipo_uf3 = new EstatisticasRule.TotalTipo();
            tipo_uf3.ID         = 3;
            tipo_uf3.Designacao = "Objetos Digitais Fedora Compostos";
            tipo_uf3.Contador   = EstatisticasRule.Current.GetTotalObjsDigitaisFedCompostos(conn);;
            Total_UFs.Add(tipo_uf3);

            EstatisticasRule.TotalTipo tipo_uf4 = new EstatisticasRule.TotalTipo();
            tipo_uf4.ID         = 4;
            tipo_uf4.Designacao = "Outros Objetos Digitais";
            tipo_uf4.Contador   = EstatisticasRule.Current.GetTotalObjsDigitaisOutros(conn);;
            Total_UFs.Add(tipo_uf4);

            return(Total_UFs);
        }
 /**
  * Aplicar o filtro de Registo de Autoridade (datas opcionais):
  */
 private void comboBox_Noticia_Autoridade_SelectedIndexChanged(object sender, EventArgs e)
 {
     EstatisticasRule.TotalTipo regAut = (EstatisticasRule.TotalTipo) this.comboBox_Noticia_Autoridade.SelectedItem;
     if (this.filtro_comboBox_Noticia_Autoridade != regAut.ID)
     {
         this.filtro_comboBox_Noticia_Autoridade = regAut.ID;
         var from = Build_dataInicio();
         var to   = Build_dataFim();
         GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
         try {
             this.contPeriodoRegAutPorOper = EstatisticasRule.Current.GetTotalCriacoesRegAutPorOper(regAut.ID, from, to, ho.Connection);
             this.Add_ListView_RegistosAutPeriodo();
         }
         catch (Exception ex) {
             Trace.WriteLine(ex);
             throw;
         }
         finally { ho.Dispose(); }
     }
 }
 /**
  * Aplicar o filtro de Unidades Informacionais (datas opcionais):
  */
 private void comboBox_UnidadesInformacionais_SelectedIndexChanged(object sender, EventArgs e)
 {
     EstatisticasRule.TotalTipo undArq = (EstatisticasRule.TotalTipo) this.comboBox_UnidadesInformacionais.SelectedItem;
     if (this.filtro_comboBox_UnidadesInformacionais != undArq.ID)
     {
         this.filtro_comboBox_UnidadesInformacionais = undArq.ID;
         var from                      = Build_dataInicio();
         var to                        = Build_dataFim();
         var excludeImport             = chkExclImport.Checked;
         GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection());
         try {
             this.contPeriodoUAsPorOper = EstatisticasRule.Current.GetTotalCriacoesUAPorOper(undArq.ID, from, to, excludeImport, false, ho.Connection);
             this.Add_ListView_UnidadesInformacionaisPeriodo();
         }
         catch (Exception ex) {
             Trace.WriteLine(ex);
             throw;
         }
         finally { ho.Dispose(); }
     }
 }