コード例 #1
0
        private RetornoIntegracaoNegocios AtualizarNegocios(ParametroIntegracaoPessoa param, string xml)
        {
            _log.TraceMethodStart();

            CucCluParametro parametrosLogin = GerarParametroCUC(param);

            ConfiguracaoURICUC configuracaoURICUC          = ConfiguracaoCUCService.BuscarURI(ConstantesInegracao.URLConfiguracao.CadastroNegocios, _configuracaoCUC);
            EndpointAddress    address                     = new EndpointAddress(configuracaoURICUC.URI);
            CucClwCadastroNegocioOutrosBancosClient client = new CucClwCadastroNegocioOutrosBancosClient(CucClwCadastroNegocioOutrosBancosClient.EndpointConfiguration.BasicHttpBinding_ICucClwCadastroNegocioOutrosBancos, address);

            try
            {
                _log.Trace($"Chamando o método CUC: {configuracaoURICUC.URI}");

                var ret = client.Atualizar(parametrosLogin, xml);

                _log.Trace($"Finalização da chamada do método CUC: {configuracaoURICUC.URI} ");

                RetornoIntegracaoNegocios retorno = GerarRetornoIntegracaoNegocios(ret);

                _log.TraceMethodEnd();

                return(retorno);
            }
            catch (TimeoutException timeoutEx)
            {
                client.Abort();
                throw new Exception("Tempo de conexão expirado", timeoutEx);
            }
            catch (EndpointNotFoundException endPointEx)
            {
                throw new Exception("Caminho do serviço não disponível ou inválido", endPointEx);
            }
        }
        public RetornoIntegracaoPessoa ExcluirPessoa(ParametroIntegracaoPessoa param, string cod_pessoa, string cod_filial = null)
        {
            _log.TraceMethodStart();

            CucCluParametro parametrosLogin = GerarParametroCUC(param);

            ConfiguracaoURICUC         configuracaoURICUC = ConfiguracaoCUCService.BuscarURI(ConstantesInegracao.URLConfiguracao.CadastroPessoa, _configuracaoCUC);
            EndpointAddress            address            = new EndpointAddress(configuracaoURICUC.URI);
            CucCliCadastroPessoaClient client             = new CucCliCadastroPessoaClient(CucCliCadastroPessoaClient.EndpointConfiguration.BasicHttpBinding_ICucCliCadastroPessoa, address);

            try
            {
                var ret = client.Excluir(parametrosLogin, cod_pessoa, cod_filial);
                RetornoIntegracaoPessoa retorno = GerarRetornoIntegracaoPessoa(ret);

                _log.TraceMethodEnd();

                return(retorno);
            }
            catch (TimeoutException timeoutEx)
            {
                client.Abort();
                throw new Exception("Tempo de conexão expirado", timeoutEx);
            }
            catch (EndpointNotFoundException endPointEx)
            {
                throw new Exception("Caminho do serviço não disponível ou inválido", endPointEx);
            }
        }
        public DataSetPessoa SelecionarCabecalho(ParametroIntegracaoPessoa param, string cod_pessoa, string cod_filial = null)
        {
            _log.TraceMethodStart();

            CucCluParametro parametrosLogin = GerarParametroCUC(param);

            ConfiguracaoURICUC         configuracaoURICUC = ConfiguracaoCUCService.BuscarURI(ConstantesInegracao.URLConfiguracao.CadastroPessoa, _configuracaoCUC);
            EndpointAddress            address            = new EndpointAddress(configuracaoURICUC.URI);
            CucCliCadastroPessoaClient client             = new CucCliCadastroPessoaClient(CucCliCadastroPessoaClient.EndpointConfiguration.BasicHttpBinding_ICucCliCadastroPessoa, address);

            try
            {
                var ret = client.SelecionarCabecalho(parametrosLogin, cod_pessoa, cod_filial);

                RetornoIntegracaoPessoa retorno = GerarRetornoIntegracaoPessoa(ret);

                if (retorno.Excecao != null)
                {
                    throw new ApplicationException($"Retorno serviço CUC - {ret.Excecao.Mensagem}");
                }

                if (string.IsNullOrWhiteSpace(retorno.Xml))
                {
                    throw new ApplicationException("Dados não encontrados para a pessoa informada");
                }

                XmlSerializer xmlSerialize = new XmlSerializer(typeof(DataSetPessoa));

                var valor_serealizado = new StringReader(retorno.Xml);

                DataSetPessoa dataSetPessoa = (DataSetPessoa)xmlSerialize.Deserialize(valor_serealizado);

                if (dataSetPessoa.RegistroPessoa[0].cod_pessoa == null)
                {
                    throw new ApplicationException($"Retorno serviço CUC - Codigo da pessoa não encontrado");
                }

                _log.TraceMethodEnd();

                return(dataSetPessoa);
            }
            catch (TimeoutException timeoutEx)
            {
                client.Abort();
                throw new Exception("Tempo de conexão expirado", timeoutEx);
            }
            catch (EndpointNotFoundException endPointEx)
            {
                throw new Exception("Caminho do serviço não disponível ou inválido", endPointEx);
            }
        }
コード例 #4
0
        public ParametroIntegracaoPessoa CarregarParametrosCUCNegocios(int empresa, int dependencia, string login, string sigla, string token)
        {
            _log.TraceMethodStart();

            ParametroIntegracaoPessoa param = new ParametroIntegracaoPessoa();

            param.empresa     = empresa;
            param.login       = login;
            param.sigla       = sigla;
            param.dependencia = dependencia;
            param.token       = token;

            _log.TraceMethodEnd();

            return(param);
        }
コード例 #5
0
        private CucCluParametro GerarParametroCUC(ParametroIntegracaoPessoa param)
        {
            _log.TraceMethodStart();

            CucCluParametro parametrosLogin = new CucCluParametro();

            parametrosLogin.Empresa        = param.empresa;
            parametrosLogin.Dependencia    = param.dependencia;
            parametrosLogin.Login          = param.login;
            parametrosLogin.SiglaAplicacao = param.sigla;
            parametrosLogin.Token          = param.token;

            _log.TraceMethodEnd();

            return(parametrosLogin);
        }
        public RetornoIntegracaoPessoa AtualizarPessoa(ParametroIntegracaoPessoa param, DataSetPessoa dataSetPessoa)
        {
            _log.TraceMethodStart();

            string        stringXML = string.Empty;
            XmlSerializer x         = new XmlSerializer(typeof(DataSetPessoa));

            using (StringWriter textWriter = new StringWriter())
            {
                x.Serialize(textWriter, dataSetPessoa);
                stringXML = textWriter.ToString();
            }

            _log.TraceMethodEnd();

            _log.Trace("XML Gerado: " + stringXML);

            return(AtualizarPessoa(param, stringXML));
        }
コード例 #7
0
        public RetornoIntegracaoNegocios AtualizarNegocios(ParametroIntegracaoPessoa param, DataSetNegocioOutrosBancos dataSetNegocios)
        {
            _log.TraceMethodStart();

            string stringXML           = string.Empty;
            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

            ns.Add("", "");
            XmlSerializer x = new XmlSerializer(typeof(DataSetNegocioOutrosBancos));

            using (StringWriter textWriter = new StringWriter())
            {
                x.Serialize(textWriter, dataSetNegocios, ns);
                stringXML = textWriter.ToString();
            }

            _log.Trace("XML Gerado: " + stringXML);
            _log.TraceMethodEnd();

            return(AtualizarNegocios(param, stringXML));
        }
コード例 #8
0
        public ActionResult postBalanco([FromRoute] string codPessoa, [FromBody] MsgBalanco msg)
        {
            List <string> listaErros = new List <string>();
            MsgRetorno    retorno;

            try
            {
                _log.TraceMethodStart();

                if (msg == null)
                {
                    throw new ApplicationException("Mensagem inválida");
                }
                if (msg.header == null)
                {
                    throw new ApplicationException("Mensagem inválida - chave header não informada");
                }
                if (msg.body == null)
                {
                    throw new ApplicationException("Mensagem inválida - chave body não informada");
                }

                if (string.IsNullOrWhiteSpace(msg.header.identificadorEnvio))
                {
                    msg.header.identificadorEnvio = Util.GerarIdentificadorUnico();
                }

                _log.Information($"Iniciando o processamento da mensagem [post] com o identificador {msg.header.identificadorEnvio}");
                _log.SetIdentificador(msg.header.identificadorEnvio);

                listaErros = Util.ValidarModel(ModelState);
                if (listaErros.Any())
                {
                    retorno = _adaptador.AdaptarMsgRetorno(msg, listaErros);

                    _log.TraceMethodEnd();
                    return(StatusCode((int)HttpStatusCode.BadRequest, retorno));
                }

                if (!Util.ValidarApiKey(Request, _configuracaoBaseAPI))
                {
                    return(StatusCode((int)HttpStatusCode.Unauthorized));
                }

                ConfiguracaoAcessoCUC acessoCUC = _configuracaoCUC.Value.AcessoCUC;
                if (acessoCUC == null)
                {
                    throw new Exception("Configuração de acesso não parametrizado no arquivo de configuração - AcessoCUC");
                }
                string token = _ServiceAutenticacao.GetToken(acessoCUC);

                ParametroIntegracaoPessoa parm          = _clientPessoa.CarregarParametrosCUCPessoa(msg.header.empresa.Value, msg.header.dependencia.Value, acessoCUC.userServico, _configuracaoCUC.Value.SiglaSistema, token);
                DataSetPessoa             dataSetPessoa = _clientPessoa.SelecionarCabecalho(parm, codPessoa);

                List <DataSetPessoaRegistroBalanco> registros = new List <DataSetPessoaRegistroBalanco>();
                registros.Add(_adaptador.AdaptarMsgRegistroBalancoToDataSetPessoaRegistroBalanco(msg.body.RegistroBalanco, ConstantesInegracao.StatusLinhaCUC.Insercao, listaErros));
                dataSetPessoa.RegistroBalanco = registros.ToArray();

                var retPessoa = _clientPessoa.AtualizarPessoa(parm, dataSetPessoa);

                if (retPessoa.Excecao != null)
                {
                    throw new ApplicationException($"Retorno serviço CUC - {retPessoa.Excecao.Mensagem}");
                }

                retorno = _adaptador.AdaptarMsgRetorno(msg, listaErros);

                _log.TraceMethodEnd();

                return(StatusCode((int)HttpStatusCode.OK, retorno));
            }
            catch (LogErrorException LogEx)
            {
                listaErros.Add(LogEx.Message);
                retorno = _adaptador.AdaptarMsgRetorno(msg, listaErros);
                return(StatusCode((int)HttpStatusCode.InternalServerError, retorno));
            }
            catch (ApplicationException appEx)
            {
                listaErros.Add(appEx.Message);
                retorno = _adaptador.AdaptarMsgRetorno(msg, listaErros);

                _log.Error(appEx);
                _log.TraceMethodEnd();
                return(StatusCode((int)HttpStatusCode.BadRequest, retorno));
            }
            catch (Exception ex)
            {
                listaErros.Add(ex.Message);
                retorno = _adaptador.AdaptarMsgRetorno(msg, listaErros);

                _log.Error(ex);
                _log.TraceMethodEnd();
                return(StatusCode((int)HttpStatusCode.InternalServerError, retorno));
            }
        }
コード例 #9
0
        public ActionResult deleteBalanco([FromRoute] string codPessoa, [FromRoute] int seqBalanco, [FromQuery] ParametroBalancoQuery parametrosBase)
        {
            List <string> listaErros = new List <string>();
            MsgRetorno    retorno;
            string        identificador = string.Empty;

            try
            {
                _log.TraceMethodStart();

                identificador = Util.GerarIdentificadorUnico();
                _log.Information($"Iniciando processamento [delete] com o identificador {identificador}");
                _log.SetIdentificador(identificador);

                if (!Util.ValidarApiKey(Request, _configuracaoBaseAPI))
                {
                    return(StatusCode((int)HttpStatusCode.Unauthorized));
                }

                ConfiguracaoAcessoCUC acessoCUC = _configuracaoCUC.Value.AcessoCUC;
                if (acessoCUC == null)
                {
                    throw new Exception("Configuração de acesso não parametrizado no arquivo de configuração - AcessoCUC");
                }
                string token = _ServiceAutenticacao.GetToken(acessoCUC);

                ParametroIntegracaoPessoa parm          = _clientPessoa.CarregarParametrosCUCPessoa(parametrosBase.empresa.Value, parametrosBase.dependencia.Value, acessoCUC.userServico, _configuracaoCUC.Value.SiglaSistema, token);
                DataSetPessoa             dataSetPessoa = _clientPessoa.SelecionarCabecalho(parm, codPessoa);

                dataSetPessoa.RegistroBalanco = _adaptador.AdaptarMsgRegistroBalancoToDataSetPessoaRegistroBalancoExclusao(codPessoa, seqBalanco, listaErros, parametrosBase);

                var retPessoa = _clientPessoa.AtualizarPessoa(parm, dataSetPessoa);
                if (retPessoa.Excecao != null)
                {
                    throw new ApplicationException($"Retorno serviço CUC - {retPessoa.Excecao.Mensagem}");
                }

                retorno = _adaptador.AdaptarMsgRetorno(listaErros, identificador);

                _log.TraceMethodEnd();

                return(StatusCode((int)HttpStatusCode.OK, retorno));
            }
            catch (LogErrorException LogEx)
            {
                listaErros.Add(LogEx.Message);
                retorno = _adaptador.AdaptarMsgRetorno(listaErros, identificador);

                return(StatusCode((int)HttpStatusCode.InternalServerError, retorno));
            }
            catch (ApplicationException appEx)
            {
                listaErros.Add(appEx.Message);
                retorno = _adaptador.AdaptarMsgRetorno(listaErros, identificador);
                return(StatusCode((int)HttpStatusCode.BadRequest, retorno));
            }
            catch (Exception ex)
            {
                listaErros.Add(ex.Message);
                retorno = _adaptador.AdaptarMsgRetorno(listaErros, identificador);
                return(StatusCode((int)HttpStatusCode.InternalServerError, retorno));
            }
        }
コード例 #10
0
        public ActionResult getPessoa([FromRoute] string codPessoa, [FromQuery] ParametroBaseQuery parametrosBase)
        {
            List <string> listaErros = new List <string>();
            MsgRetornoGet retorno;
            string        identificador        = string.Empty;
            MsgRegistroPessoaCompletoBody body = new MsgRegistroPessoaCompletoBody();

            try
            {
                _log.TraceMethodStart();

                identificador = Util.GerarIdentificadorUnico();
                _log.Information($"Iniciando processamento [get] com o identificador {identificador}");
                _log.SetIdentificador(identificador);

                if (string.IsNullOrWhiteSpace(codPessoa))
                {
                    throw new ApplicationException("Parâmetro codPessoa obrigatório");
                }

                if (parametrosBase.empresa == null || parametrosBase.empresa.Value.Equals(0))
                {
                    throw new ApplicationException("Parâmetro empresa obrigatório");
                }

                if (parametrosBase.dependencia == null || parametrosBase.dependencia.Value.Equals(0))
                {
                    throw new ApplicationException("Parâmetro dependencia obrigatório");
                }

                if (!Util.ValidarApiKey(Request, _configuracaoBaseAPI))
                {
                    return(StatusCode((int)HttpStatusCode.Unauthorized));
                }

                ConfiguracaoAcessoCUC acessoCUC = _configuracaoCUC.Value.AcessoCUC;
                if (acessoCUC == null)
                {
                    throw new Exception("Configuração de acesso não parametrizado no arquivo de configuração - AcessoCUC");
                }
                string token = _ServiceAutenticacao.GetToken(acessoCUC);

                ParametroIntegracaoPessoa parm = _clientPessoa.CarregarParametrosCUCPessoa(parametrosBase.empresa.Value, parametrosBase.dependencia.Value, _configuracaoCUC.Value.AcessoCUC.userServico, _configuracaoCUC.Value.SiglaSistema, token);

                DataSetPessoa dataSetPessoa = _clientPessoa.SelecionarPessoa(parm, codPessoa);

                body.RegistroPessoa = _adaptador.AdaptaDataSetPessoaToMsgPessoaCompleto(dataSetPessoa, listaErros);

                retorno = _adaptador.AdaptarMsgRetornoGet(body, listaErros, identificador);

                _log.TraceMethodEnd();
                return(StatusCode((int)HttpStatusCode.OK, retorno));
            }
            catch (LogErrorException LogEx)
            {
                listaErros.Add(LogEx.Message);
                retorno = _adaptador.AdaptarMsgRetornoGet(listaErros, identificador);
                return(StatusCode((int)HttpStatusCode.InternalServerError, retorno));
            }
            catch (ApplicationException appEx)
            {
                listaErros.Add(appEx.Message);
                retorno = _adaptador.AdaptarMsgRetornoGet(listaErros, identificador);

                _log.Error(appEx);
                _log.TraceMethodEnd();
                return(StatusCode((int)HttpStatusCode.BadRequest, retorno));
            }
            catch (Exception ex)
            {
                listaErros.Add(ex.Message);
                retorno = _adaptador.AdaptarMsgRetornoGet(listaErros, identificador);

                _log.Error(ex);
                _log.TraceMethodEnd();
                return(StatusCode((int)HttpStatusCode.InternalServerError, retorno));
            }
        }