Esempio n. 1
0
        private void btImport_Click(object sender, EventArgs e)
        {
            //Validacoes de campos
            if (String.IsNullOrEmpty(txtHost.Text))
            {
                MessageBox.Show("The field Server Host must not be empty...");
                txtHost.Focus();
                return;
            }
            if (String.IsNullOrEmpty(txtPort.Text))
            {
                MessageBox.Show("The field Port must not be empty...");
                txtPort.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtUsername.Text))
            {
                MessageBox.Show("The field User Name must not be empty...");
                txtUsername.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtPassword.Text))
            {
                MessageBox.Show("The field Password must not be empty...");
                txtPassword.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtDataSource.Text))
            {
                MessageBox.Show("The field Data Source must not be empty...");
                txtDataSource.Focus();
                return;
            }

            lblSMS.Text = "Preparando dados iniciais...";
            lblSMS.Refresh();

            String dataInicialMySQL = dataInicial.Value.Year + "/" + dataInicial.Value.Month + "/" + dataInicial.Value.Day;
            String dataFinalMySQL = dataFinal.Value.Year + "/" + dataFinal.Value.Month + "/" + dataFinal.Value.Day;

            //Utils para conexao MySQL - OpenMRS
            OpenMRSUtils mysqlUtil = new OpenMRSUtils(txtHost.Text, txtUsername.Text, txtPassword.Text);

            //Utils para conexao MS Access - Sistema HDD
            AccessUtils accessUtil = new AccessUtils(txtDataSource.Text);

            //Tem algumas funcoes auxiliares de insercao de dados
            InsertUtils insertUtils = new InsertUtils();

            //Inserir na tabela t_hdd com base no distrito seleccionado
            insertUtils.insertHDD(accessUtil.getConexao, cboDistrito);

               // //Levar o codigo da unidade sanitaria seleccionada
            //String codHDD = insertUtils.getHDDID(accessUtil.getConexao);

               // //Levar o codigo do distrito como primeiros 4 digitos do codigo da unidade sanitaria
               // String codDistrito = codHDD.Substring(0, 4);
            //Levar o codigo do distrito como primeiros 4 digitos do codigo da unidade sanitaria
            //String codDistrito = codHDD.Substring(0, 4);

            //Zerar a tabela t_paciente garantir que e nova insercao
            insertUtils.emptyTPaciente(accessUtil.getConexao);

            barraProgresso.Value = 5;

            lblSMS.Text = "A executar a chamada do Stored Procedure no OpenMRS...";
            lblSMS.Refresh();

            //Chamar a procedure MySQL para encher a tabela t_paciente no OpenMRS
            String codUS = cboDistrito.Text.Substring(0, 6);
            insertUtils.callFillTPacienteTable(mysqlUtil.getConexao, dataFinalMySQL, codUS, codUS.Substring(0,4));

            barraProgresso.Value = 10;

            lblSMS.Text = "Enchendo a tabela t_paciente no ACCESS...";
            lblSMS.Refresh();

            //Encher a tabela de t_bairro
            insertUtils.insertBairro(accessUtil.getConexao, mysqlUtil.getConexao);

            //Encher a tabela de t_funcionario
            insertUtils.insertFuncionario(accessUtil.getConexao, mysqlUtil.getConexao);

            // //Encher a tabela t_paciente MS Access
            ExportTPaciente.ExportData(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 15;
            barraProgresso.Refresh();

            //Export t_adulto
            lblSMS.Text = "Enchendo a tabela t_adulto...";
            lblSMS.Refresh();

            ExportTAdulto eAdulto = new ExportTAdulto();
            eAdulto.exportDataAdulto(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 20;
            barraProgresso.Refresh();

            lblSMS.Text = "Enchendo a tabela t_pai, t_mae e t_crianca...";
            lblSMS.Refresh();

            ExportCrianca ec = new ExportCrianca();

            ExportTMae em = new ExportTMae();

            ExportTPai ep = new ExportTPai();

            em.exportDataTMae(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);
            ep.exportDataTPai(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);
            ec.exportDataCrianca(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 25;
            barraProgresso.Refresh();

            lblSMS.Text = "Export a tabela t_seguimento (Leva muito tempo) ...";
            lblSMS.Refresh();

            ExportTSeguimento eSeguimento = new ExportTSeguimento();

            eSeguimento.exportDataTSeguimento(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date, mysqlUtil.getOtherConnection);

            barraProgresso.Value = 55;
            barraProgresso.Refresh();

            lblSMS.Text = "Export a tabela t_tarv,t_histestadopaciente ...";
            lblSMS.Refresh();

            ExportTTarv etarv = new ExportTTarv();

            etarv.exportData(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            etarv.exportDataHistEstadoPaciente(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 70;
            barraProgresso.Refresh();

            lblSMS.Text = "Export da tabela t_resultadoLaboratorio ...";
            lblSMS.Refresh();

            ExportTResultadoLab lab = new ExportTResultadoLab();
            lab.exportDataTResultadoLaboratorio(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 75;
            barraProgresso.Refresh();

            lblSMS.Text = "Export da tabela t_aconselhamento ...";
            lblSMS.Refresh();

            ExportTAconselhamento eAconselhamento = new ExportTAconselhamento();

            eAconselhamento.exportAconselhamento(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date, mysqlUtil.getOtherConnection);

            eAconselhamento.exportAconselhamentoSeguimento(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date, mysqlUtil.getOtherConnection);

            barraProgresso.Value = 80;
            barraProgresso.Refresh();

            lblSMS.Text = "Export da tabela t_antecedentesClinicos, t_observacaopaciente,t_contacto ...";
            lblSMS.Refresh();

            ExportAntecedentesClinicosPaciente eAntecedente = new ExportAntecedentesClinicosPaciente();
            ExportTObservacaoPaciente eObs = new ExportTObservacaoPaciente();

            ExportTContacto contacto = new ExportTContacto();

            eAntecedente.exportAntecedentesClinicosPaciente(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            eObs.exportDataTObservacaoPaciente(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            contacto.exportContacto(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 85;
            barraProgresso.Refresh();

            lblSMS.Text = "Export da tabela t_exposicaotarvmae, t_exposicaotarvnascenca ...";
            lblSMS.Refresh();

            ExportExposicaoTarv expTarv = new ExportExposicaoTarv();
            expTarv.exportDataExposicaoTARV(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 90;
            barraProgresso.Refresh();

            lblSMS.Text = "Export da tabela t_tratamentoTB, t_QuestionarioTB ...";
            lblSMS.Refresh();

            ExportTTratamentoTB eTB = new ExportTTratamentoTB();
            eTB.exportDataTB(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            barraProgresso.Value = 95;
            barraProgresso.Refresh();

            lblSMS.Text = "Export da tabela t_Busaca ...";
            lblSMS.Refresh();

            ExportBuscaActiva eBusca = new ExportBuscaActiva();
            eBusca.exportDataBuscaActiva(mysqlUtil.getConexao, accessUtil.getConexao, dataInicial.Value.Date, dataFinal.Value.Date);

            if (chkTemGaac.Checked)
            {
                lblSMS.Text = "Export da tabela t_Gaac ...";
                lblSMS.Refresh();
                ExportTGaac eGaac = new ExportTGaac();
                eGaac.exportTGAAC(mysqlUtil.getConexao, accessUtil.getConexao, mysqlUtil.getOtherConnection);
            }

            barraProgresso.Value = 100;
            barraProgresso.Refresh();

               lblSMS.Text = "Exportacao Terminada ...";
               lblSMS.Refresh();
        }
Esempio n. 2
0
        private void btnDeidentify_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtDataSource.Text))
            {
                MessageBox.Show("The field Data Source must not be empty...");
                txtDataSource.Focus();
                return;
            }
            AccessUtils accessUtil = new AccessUtils(txtDataSource.Text);

            InsertUtils insertUtils = new InsertUtils();

               System.Data.DataTable   dt = insertUtils.deidenfyDataBase(accessUtil.getConexao,accessUtil.getOtherConexao);

               Excel.Application oXL;
               Excel.Workbook oWB;
               Excel.Worksheet oSheet;
               Excel.Range oRange;

               // Start Excel and get Application object.
               oXL = new Excel.ApplicationClass();

               // Set some properties
               oXL.Visible = true;
               oXL.UserControl = true;

            System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

               oXL.DisplayAlerts = false;

               // Get a new workbook.

               oWB = oXL.Workbooks.Add(Missing.Value);

               //System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;

               // Get the active sheet
               oSheet = (Excel.Worksheet)oWB.ActiveSheet;
               oSheet.Name = "NIDS";

               // Process the DataTable
               // BE SURE TO CHANGE THIS LINE TO USE *YOUR* DATATABLE
               //DataTable dt = Customers.RetrieveAsDataTable();

               int rowCount = 1;

               foreach (DataRow dr in dt.Rows)
               {
               rowCount += 1;
               for (int i = 1; i < dt.Columns.Count + 1; i++)
               {
                   // Add the header the first time through
                   if (rowCount == 2)
                   {
                       oSheet.Cells[1, i] = dt.Columns[i - 1].ColumnName;
                   }
                   oSheet.Cells[rowCount, i] = dr[i - 1].ToString();
               }
               }

               // Resize the columns
               oRange = oSheet.get_Range(oSheet.Cells[1, 1],
                         oSheet.Cells[rowCount, dt.Columns.Count]);
               oRange.EntireColumn.AutoFit();

               // Save the sheet and close
               oSheet = null;
               oRange = null;
               oWB.SaveAs("Deidentify_"+cboDistrito.Text+".xls", Excel.XlFileFormat.xlWorkbookNormal,
               Missing.Value, Missing.Value, Missing.Value, Missing.Value,
               Excel.XlSaveAsAccessMode.xlExclusive,
               Missing.Value, Missing.Value, Missing.Value,
               Missing.Value, Missing.Value);
               oWB.Close(Missing.Value, Missing.Value, Missing.Value);
               oWB = null;
               oXL.Quit();

               // Clean up
               // NOTE: When in release mode, this does the trick
               GC.WaitForPendingFinalizers();
               GC.Collect();
               GC.WaitForPendingFinalizers();
               GC.Collect();
               System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;
            MessageBox.Show("Completed");
        }