public wsINFOCliente dbObterCliente(string pNumeroProcesso) { StringBuilder strSQL = null; OleDbConnection objConn = null; OleDbCommand objCmd = null; OleDbDataReader objDr = null; wsINFOCliente objCliente = null; try { strSQL = new StringBuilder(); strSQL.AppendLine(" SELECT c.id_cliente, c.cliente, c.nome, c.cnpj, p.id_processo "); strSQL.AppendLine(" FROM clientes c, processos p WHERE c.id_cliente = p.id_cliente "); strSQL.AppendLine(" AND p.nref = '" + pNumeroProcesso + "'"); objConn = new OleDbConnection(strConnection); objConn.Open(); objCmd = new OleDbCommand(strSQL.ToString(), objConn); objDr = objCmd.ExecuteReader(); if (objDr != null) { if (objDr.Read()) { objCliente = new wsINFOCliente(); if (objDr["id_cliente"] != DBNull.Value) { objCliente.IdCliente = (int)objDr["id_cliente"]; } if (objDr["cliente"] != DBNull.Value) { objCliente.NomeCliente = objDr["cliente"].ToString(); } else { objCliente.NomeCliente = null; } if (objDr["nome"] != DBNull.Value) { objCliente.NomeMapa = objDr["nome"].ToString(); } else { objCliente.NomeMapa = null; } if (objDr["cnpj"] != DBNull.Value) { objCliente.NumeroCNPJ = objDr["cnpj"].ToString(); } else { objCliente.NumeroCNPJ = null; } if (objDr["id_processo"] != DBNull.Value) { objCliente.IdProcessoSigpa =(int) objDr["id_processo"]; } } } return objCliente; } 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; } }
public wsINFOCliente dbObterCliente(string pNumeroProcesso) { StringBuilder strSQL = null; OleDbConnection objConn = null; OleDbCommand objCmd = null; OleDbDataReader objDr = null; wsINFOCliente objCliente = null; try { strSQL = new StringBuilder(); strSQL.AppendLine(" SELECT c.id_cliente, c.cliente, c.nome, c.cnpj, p.id_processo "); strSQL.AppendLine(" FROM clientes c, processos p WHERE c.id_cliente = p.id_cliente "); strSQL.AppendLine(" AND p.nref = '" + pNumeroProcesso + "'"); objConn = new OleDbConnection(strConnection); objConn.Open(); objCmd = new OleDbCommand(strSQL.ToString(), objConn); objDr = objCmd.ExecuteReader(); if (objDr != null) { if (objDr.Read()) { objCliente = new wsINFOCliente(); if (objDr["id_cliente"] != DBNull.Value) { objCliente.IdCliente = (int)objDr["id_cliente"]; } if (objDr["cliente"] != DBNull.Value) { objCliente.NomeCliente = objDr["cliente"].ToString(); } else { objCliente.NomeCliente = null; } if (objDr["nome"] != DBNull.Value) { objCliente.NomeMapa = objDr["nome"].ToString(); } else { objCliente.NomeMapa = null; } if (objDr["cnpj"] != DBNull.Value) { objCliente.NumeroCNPJ = objDr["cnpj"].ToString(); } else { objCliente.NumeroCNPJ = null; } if (objDr["id_processo"] != DBNull.Value) { objCliente.IdProcessoSigpa = (int)objDr["id_processo"]; } } } return(objCliente); } 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; } }