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;
            }
        }
Exemple #3
0
        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;
            }
        }