public IHttpActionResult PersistirConsultaRepositorio()
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var param    = getFormKeyValue("editando");
                var editando = Boolean.Parse(param);
                var dto      = new ConsultaRepositorioCnbvDto();
                param = getFormKeyValue("json");
                JsonConvert.PopulateObject(param, dto);
                if (editando)
                {
                    resultado.InformacionExtra = ConsultaRepositorioService.ActualizarConsultaRepositorio(dto, IdUsuarioExec, IdEmpresa);
                }
                else
                {
                    resultado.InformacionExtra = ConsultaRepositorioService.GuardaConsultaRepositorio(dto, IdUsuarioExec, IdEmpresa);
                }
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado        = false;
                resultado.InformacionExtra = ex;
            }

            return(Ok(resultado));
        }
        /// <summary>
        /// Agrega un nuevo elemento al catalogo de ConsultaRepositorio..
        /// </summary>
        /// <param name="dto">Dto con la información de la entidad.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que realiza esta acción.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto ActualizarConsultaRepositorio(ConsultaRepositorioCnbvDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = ConsultaRepositorioRepository.GetById(dto.IdConsultaRepositorio);
                if (entidad == null)
                {
                    return(GuardaConsultaRepositorio(dto, idUsuarioExec, idEmpresaExc));
                }

                entidad.Nombre      = dto.Nombre;
                entidad.Descripcion = dto.Descripcion;
                entidad.Publica     = dto.Publica;
                entidad.Consulta    = dto.Consulta;

                ConsultaRepositorioRepository.Update(entidad);

                resultado.InformacionExtra = entidad;

                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdConsultaRepositorio
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Actualizar, ConstantsModulo.ConsultasEspecializadas, MensajesServicios.ActualizaConsultaRepositorio, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
        /// <summary>
        /// Agrega una nueva consulta al catalogo de consultas al repositorio.
        /// </summary>
        /// <param name="dto">Dto con la información a persitir.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que realiza esta acción.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto GuardaConsultaRepositorio(ConsultaRepositorioCnbvDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var entidad = new ConsultaRepositorio()
                {
                    Nombre        = dto.Nombre,
                    Descripcion   = dto.Descripcion,
                    Consulta      = dto.Consulta,
                    FechaCreacion = DateTime.Today,
                    IdUsuario     = idUsuarioExec,
                    Publica       = dto.Publica
                };

                ConsultaRepositorioRepository.Add(entidad);


                var param = new List <object>()
                {
                    entidad.Nombre, entidad.IdConsultaRepositorio
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Insertar, ConstantsModulo.ConsultasEspecializadas, MensajesServicios.InsertarConsultaRepositorio, param, idEmpresaExc);
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }