public tb_prodbco BuscarProdutoBancarioPorCodigo(int cod_empresa, int cod_prodbco, IDaoTransacao transacao = null)
        {
            _log.TraceMethodStart();

            var        dao     = _factory.GetDaoCorporativo <tb_prodbco>();
            tb_prodbco retorno = null;

            if (cod_empresa == null || cod_empresa <= 0)
            {
                throw new ApplicationException("Código da empresa inválido");
            }

            if (cod_prodbco == null || cod_prodbco <= 0)
            {
                throw new ApplicationException("Código de produto inválido");
            }

            string where = $" cod_empresa = {cod_empresa} and cod_prodbco = {cod_prodbco} ";

            var listaEntity = dao.Obter(where);

            if (listaEntity != null && listaEntity.Any())
            {
                retorno = listaEntity.FirstOrDefault();
            }

            _log.TraceMethodEnd();
            return(retorno);
        }
        public void EditarProdutoBancario(tb_prodbco entity, IDaoTransacao transacao = null)
        {
            _log.TraceMethodStart();

            var dao = _factory.GetDaoCorporativo <tb_prodbco>();

            if (entity.cod_empresa == null || entity.cod_empresa.Value <= 0)
            {
                throw new ApplicationException("Código da empresa inválido");
            }

            if (entity.cod_grproduto == null || entity.cod_grproduto.Value <= 0)
            {
                throw new ApplicationException("Código do grupo do produto inválido");
            }

            if (entity.cod_prodbco == null || entity.cod_prodbco.Value <= 0)
            {
                throw new ApplicationException("Código do produto inválido");
            }

            tb_empresa empresa = _empresaService.BuscarEmpresaPorCodigo(entity.cod_empresa.Value, transacao);

            if (empresa == null)
            {
                throw new ApplicationException("Empresa informada não cadastrada");
            }

            tb_grproduto grproduto = _grprodutoService.BuscarGrupoProdutoPorCodigo(entity.cod_empresa.Value, entity.cod_grproduto.Value, transacao);

            if (grproduto == null)
            {
                throw new ApplicationException("Grupo do produto informado não cadastrado");
            }

            string where = $" cod_empresa = {entity.cod_empresa} and cod_prodbco = {entity.cod_prodbco} ";

            var listaEntityBanco = dao.Obter(where);

            if (listaEntityBanco == null || !listaEntityBanco.Any())
            {
                throw new ApplicationException($"Dados informados não foram cadastrados - empresa: {entity.cod_empresa} e produto bancário: {entity.cod_prodbco} ");
            }

            var entityBanco = listaEntityBanco.First();

            entityBanco.abv_prodbco   = entity.abv_prodbco;
            entityBanco.des_prodbco   = entity.des_prodbco;
            entityBanco.cod_grproduto = entity.cod_grproduto;
            entityBanco.idc_replica   = entity.idc_replica;
            entityBanco.tip_produto   = entity.tip_produto;

            dao.Atualizar(entityBanco, where);

            _log.TraceMethodEnd();
        }
        public tb_prodbco GravarProdutoBancario(tb_prodbco entity, IDaoTransacao transacao = null)
        {
            _log.TraceMethodStart();

            var dao = _factory.GetDaoCorporativo <tb_prodbco>();

            if (entity.cod_empresa == null || entity.cod_empresa.Value <= 0)
            {
                throw new ApplicationException("Código da empresa inválido");
            }

            if (entity.cod_grproduto == null || entity.cod_grproduto.Value <= 0)
            {
                throw new ApplicationException("Código do grupo do produto inválido");
            }

            if (entity.cod_prodbco == null || entity.cod_prodbco.Value <= 0)
            {
                throw new ApplicationException("Código do produto inválido");
            }

            tb_empresa empresa = _empresaService.BuscarEmpresaPorCodigo(entity.cod_empresa.Value, transacao);

            if (empresa == null)
            {
                throw new ApplicationException("Empresa informada não cadastrada");
            }

            tb_grproduto grproduto = _grprodutoService.BuscarGrupoProdutoPorCodigo(entity.cod_empresa.Value, entity.cod_grproduto.Value, transacao);

            if (grproduto == null)
            {
                throw new ApplicationException("Grupo do produto informado não cadastrado");
            }

            string where = $" cod_empresa = {entity.cod_empresa} and cod_prodbco = {entity.cod_prodbco} ";

            var entityBanco = dao.Obter(where);

            if (entityBanco != null && entityBanco.Any())
            {
                throw new ApplicationException($"Dados informados já foram cadastrados - empresa: {entity.cod_empresa} e produto bancário: {entity.cod_prodbco} ");
            }

            entity = dao.Inserir(entity);

            _log.TraceMethodEnd();
            return(entity);
        }
Exemplo n.º 4
0
        public MsgRegistroProdutoBancario tb_prodbcoToMsgProdutoBancario(tb_prodbco tb_prodbco)
        {
            _log.TraceMethodStart();

            MsgRegistroProdutoBancario msg = new MsgRegistroProdutoBancario();

            if (tb_prodbco.cod_empresa != null && tb_prodbco.cod_empresa.Value > 0)
            {
                msg.codigoEmpresa = tb_prodbco.cod_empresa;
            }

            if (tb_prodbco.cod_prodbco != null && tb_prodbco.cod_prodbco.Value > 0)
            {
                msg.codigoProduto = tb_prodbco.cod_prodbco;
            }

            if (!string.IsNullOrWhiteSpace(tb_prodbco.abv_prodbco))
            {
                msg.nomeAbreviado = tb_prodbco.abv_prodbco.TrimEnd();
            }

            if (!string.IsNullOrWhiteSpace(tb_prodbco.des_prodbco))
            {
                msg.nomeCompleto = tb_prodbco.des_prodbco.TrimEnd();
            }

            if (tb_prodbco.cod_grproduto != null && tb_prodbco.cod_grproduto.Value > 0)
            {
                msg.codigoGrupo = tb_prodbco.cod_grproduto;
            }

            if (!string.IsNullOrWhiteSpace(tb_prodbco.idc_replica))
            {
                msg.indicadorReplica = tb_prodbco.idc_replica;
            }

            if (!string.IsNullOrWhiteSpace(tb_prodbco.tip_produto))
            {
                msg.tipoProduto = tb_prodbco.tip_produto;
            }

            _log.TraceMethodEnd();

            return(msg);
        }
Exemplo n.º 5
0
        public tb_prodbco AdaptarMsgProdutoBancarioToModeltb_prodbco(MsgRegistroProdutoBancario msg, string modo)
        {
            _log.TraceMethodStart();

            tb_prodbco tb_prodbco = new tb_prodbco();

            if (msg.codigoEmpresa != null && msg.codigoEmpresa.Value > 0)
            {
                tb_prodbco.cod_empresa = msg.codigoEmpresa;
            }

            if (msg.codigoProduto != null && msg.codigoProduto.Value > 0)
            {
                tb_prodbco.cod_prodbco = msg.codigoProduto;
            }

            if (!string.IsNullOrWhiteSpace(msg.nomeAbreviado))
            {
                tb_prodbco.abv_prodbco = msg.nomeAbreviado;
            }

            if (!string.IsNullOrWhiteSpace(msg.nomeCompleto))
            {
                tb_prodbco.des_prodbco = msg.nomeCompleto;
            }

            if (msg.codigoGrupo != null && msg.codigoGrupo.Value > 0)
            {
                tb_prodbco.cod_grproduto = msg.codigoGrupo;
            }

            if (!string.IsNullOrWhiteSpace(msg.indicadorReplica))
            {
                tb_prodbco.idc_replica = msg.indicadorReplica;
            }

            if (!string.IsNullOrWhiteSpace(msg.tipoProduto))
            {
                tb_prodbco.tip_produto = msg.tipoProduto;
            }

            _log.TraceMethodEnd();

            return(tb_prodbco);
        }
        public ActionResult postProdutoBancario([FromBody] MsgProdutoBancario 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 (msg.body.RegistroProdutoBancario == null)
                {
                    throw new ApplicationException("Mensagem inválida - corpo da mensagem não informado");
                }

                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);

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

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

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

                tb_prodbco tb_prodbco = _adaptador.AdaptarMsgProdutoBancarioToModeltb_prodbco(msg.body.RegistroProdutoBancario, ConstantesIntegracao.ModoIntegracao.ModoInclusao);

                _ServiceProdutoBancario.GravarProdutoBancario(tb_prodbco);

                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));
            }
        }