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(); }