public MsgRegistroOperadorDependencia tb_depopeToMsgOperadorDependencia(tb_depope tb_depope)
        {
            _log.TraceMethodStart();

            MsgRegistroOperadorDependencia msg = new MsgRegistroOperadorDependencia();

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

            if (tb_depope.depend_cod != null && tb_depope.depend_cod.Value > 0)
            {
                msg.codigoDependencia = tb_depope.depend_cod;
            }

            if (tb_depope.oper_cod != null && tb_depope.oper_cod.Value > 0)
            {
                msg.codigoOperador = tb_depope.oper_cod;
            }

            _log.TraceMethodEnd();

            return(msg);
        }
        public tb_depope AdaptarMsgOperadorDependenciaToModeltb_depope(MsgRegistroOperadorDependencia msg, string modo)
        {
            _log.TraceMethodStart();

            tb_depope tb_depope = new tb_depope();

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

            if (msg.codigoDependencia != null && msg.codigoDependencia.Value > 0)
            {
                tb_depope.depend_cod = msg.codigoDependencia;
            }

            if (msg.codigoOperador != null && msg.codigoOperador.Value > 0)
            {
                tb_depope.oper_cod = msg.codigoOperador;
            }

            _log.TraceMethodEnd();

            return(tb_depope);
        }
        public tb_depope GravarOperadorDependencia(tb_depope entity, IDaoTransacao transacao = null)
        {
            _log.TraceMethodStart();

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

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

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

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

            string where = $" emp_cod = {entity.emp_cod} and oper_cod = {entity.oper_cod} and depend_cod = {entity.depend_cod}";

            var entityBanco = dao.Obter(where);

            if (entityBanco != null && entityBanco.Any())
            {
                throw new ApplicationException($"Dados informados já foram cadastrados - empresa: {entity.emp_cod}, operador: {entity.oper_cod} e dependencia: {entity.depend_cod} ");
            }

            entity = dao.Inserir(entity);

            _log.TraceMethodEnd();
            return(entity);
        }
        public void EditarOperadorDependencia(tb_depope entity, IDaoTransacao transacao = null)
        {
            _log.TraceMethodStart();

            var dao = transacao == null?_factory.GetDaoCorporativo <tb_depope>() : _factory.GetDaoCorporativo <tb_depope>(transacao);

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

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

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

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

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

            tb_dependencia dependencia = _dependenciaService.BuscarDependenciaPorCodigo(entity.emp_cod.Value, entity.depend_cod.Value, transacao);

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

            tb_operador operador = _operadorService.BuscarOperadorPorCodigo(entity.emp_cod.Value, entity.oper_cod.Value, transacao);

            if (dependencia == null)
            {
                throw new ApplicationException("Operador informado não cadastrado");
            }

            string where = $" emp_cod = {entity.emp_cod} and oper_cod = {entity.oper_cod} ";

            var entityBanco = dao.Obter(where);

            if (entityBanco == null || !entityBanco.Any())
            {
                throw new ApplicationException($"Dados informados não foram cadastrados - empresa: {entity.emp_cod} e operador dependencia: {entity.oper_cod} ");
            }

            dao.Atualizar(entity, where);

            _log.TraceMethodEnd();
        }
Beispiel #5
0
        public ActionResult postOperadorDependencia([FromBody] MsgOperadorDependencia 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.RegistroOperadorDependencia == 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_depope tb_depope = _adaptador.AdaptarMsgOperadorDependenciaToModeltb_depope(msg.body.RegistroOperadorDependencia, ConstantesIntegracao.ModoIntegracao.ModoInclusao);

                _ServiceOperadorDependencia.GravarOperadorDependencia(tb_depope);

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