コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        /// <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;
            }
        }