public Boolean dbInserirProcesso(INFOProcesso pObjProcesso, MySqlTransaction pTrans) { StringBuilder strSQL = null; bool vRetorno = false; try { strSQL = new StringBuilder(); strSQL.AppendLine(" INSERT INTO PROCESSO ( NR_REFERENCIA, ID_CLIENTE, ID_PROCESSO_SIGPA )"); strSQL.AppendLine(" VALUES ( '" + pObjProcesso.NumeroReferencia + "', "); strSQL.AppendLine(+pObjProcesso.ObjCliente.IdCliente + ", "); strSQL.AppendLine(+pObjProcesso.IdProcessoSigpa + ")"); if (dbExecutarQuery(strSQL.ToString(), pTrans) > 0) { vRetorno = true; } return(vRetorno); } catch (Exception ex) { throw ex; } finally { strSQL = null; } }
public INFOProcesso dbObterProcesso(string pStrReferencia) { StringBuilder strSQL = null; MySqlConnection objConn = null; MySqlCommand objCmd = null; MySqlDataReader objDr = null; INFOProcesso objProcesso = null; DAOCliente objDaoCliente = null; try { strSQL = new StringBuilder(); strSQL.AppendLine("SELECT ID_PROCESSO, NR_REFERENCIA, ID_CLIENTE, ID_PROCESSO_SIGPA "); strSQL.AppendLine(" FROM processo "); strSQL.AppendLine(" WHERE NR_REFERENCIA = '" + pStrReferencia + "'"); objConn = new MySqlConnection(gConnectionString); objConn.Open(); objCmd = new MySqlCommand(strSQL.ToString(), objConn); objDr = objCmd.ExecuteReader(); if (objDr != null) { if (objDr.Read()) { objProcesso = new INFOProcesso(); if (objDr["ID_PROCESSO"] != DBNull.Value) { objProcesso.IdProcesso = (double)objDr["ID_PROCESSO"]; } if (objDr["NR_REFERENCIA"] != DBNull.Value) { objProcesso.NumeroReferencia = (string)objDr["NR_REFERENCIA"]; } else { objProcesso.NumeroReferencia = null; } if (objDr["ID_CLIENTE"] != DBNull.Value) { objDaoCliente = new DAOCliente(); objProcesso.ObjCliente = objDaoCliente.dbObterCliente((double)objDr["ID_CLIENTE"]); } else { objProcesso.ObjCliente = null; } if (objDr["ID_PROCESSO_SIGPA"] != DBNull.Value) { objProcesso.IdProcessoSigpa = (double)objDr["ID_PROCESSO_SIGPA"]; } } } return(objProcesso); } catch (Exception ex) { throw ex; } finally { if (objCmd != null) { objCmd.Dispose(); objCmd = null; } if (objDr != null) { if (objDr.IsClosed == false) { objDr.Close(); } objDr = null; } if (objConn.State == System.Data.ConnectionState.Open) { objConn.Close(); objConn.Dispose(); objConn = null; } strSQL = null; } }
/// <summary> /// Sincroniza o processo entre o SIGPA e o Sistema de Digitalização /// </summary> /// <param name="pStrNref"></param> /// <returns></returns> public INFOCliente boSincronizarBaseSIGPA(string pStrNref) { DAOProcesso objDaoProcesso = null; DAOCliente objDaoCliente = null; INFOCliente objCliente = null; INFOCliente objClienteSigpa = null; INFOProcesso objProcesso = null; wsINFOCliente objWsCliente = null; try { objDaoProcesso = new DAOProcesso(); //Sincroniza os dados entre o SIGPA e o SIGPA_DIGITAL //Pesquiso o processo na base local //Processo Existe na base local objProcesso = objDaoProcesso.dbObterProcesso(pStrNref); if (objProcesso != null) { //Achei o Processo então ele existe no SIGPA_DIGITAL //Mostro os dados na tela objCliente = objProcesso.ObjCliente; objCliente.ObjProcesso = new List <INFOProcesso>(); objCliente.ObjProcesso.Add(objProcesso); return(objCliente); } else { //Processo não existe na base Local //vou buscar o processo no web service WsConsultarProcesso objWs = new WsConsultarProcesso(); objWs.Url = System.Configuration.ConfigurationManager.AppSettings["URLWSSIGPA"].ToString(); if (Service.Ultil.verifyWebService() == false) { throw new Exception("Talvez o WEBSERVICE de Integração com o SIGPA esteja off line, por favor contate o adminstrador do sistema"); } objWsCliente = objWs.wsConsultarProcesso(pStrNref); if (objWsCliente != null) { objCliente = new INFOCliente(); objProcesso = new INFOProcesso(); objCliente.IdClienteSigpa = objWsCliente.IdCliente; objCliente.NomeCliente = objWsCliente.NomeCliente; objCliente.NomeClienteMapa = objWsCliente.NomeMapa; objCliente.NumeroCnpj = objWsCliente.NumeroCNPJ; objCliente.NumeroCpf = objWsCliente.NumeroCPF; objProcesso.IdProcessoSigpa = objWsCliente.IdProcessoSigpa; objProcesso.NumeroReferencia = pStrNref; //Gravo o id_cliente, nome do cliente, nome mapa, e cnpj/cpf além do processo na base do SIGPA_DIGITAL objDaoCliente = new DAOCliente(); //Abro a transação com o banco de dados boAbrirTrasacao(); //Tenho que verificar se o cliente ja está cadastro para não cadastra-lo novamente objClienteSigpa = objDaoCliente.dbObterClientePorIDSigpa(objCliente.IdClienteSigpa); if (objClienteSigpa == null) { if (objDaoCliente.dbInserirCliente(objCliente, pTrans)) { //Insiro também o processo //objCliente.IdCliente = objDaoCliente.dbObterCliente(); objProcesso.ObjCliente = new INFOCliente(); objProcesso.ObjCliente.IdCliente = objDaoCliente.dbObterUltimoID(pTrans); if (objDaoProcesso.dbInserirProcesso(objProcesso, pTrans)) { boCommit(); } } } else { //Insiro somente o processo objProcesso.ObjCliente = new INFOCliente(); objProcesso.ObjCliente.IdCliente = objClienteSigpa.IdCliente; if (objDaoProcesso.dbInserirProcesso(objProcesso, pTrans)) { boCommit(); } } } //Não existe processo //Envio mensagem para o usuário informando que o processo não está cadastrado no SIGPA return(objCliente); } //Fim da sincronização } catch (Exception ex) { boRollBack(); throw ex; } }