Ejemplo n.º 1
0
        /// <summary>
        /// Realiza el proceso de convertir una entidad de tipo taxonomia en su forma de dto
        /// </summary>
        /// <param name="taxonomias">Listado de entidades de la taxonomia</param>
        /// <returns>Listado de taxonomias dto</returns>
        public static IList <TaxonomiaXbrlDto> ConvertirTaxonomiaXbrl(IList <TaxonomiaXbrl> taxonomias)
        {
            IList <TaxonomiaXbrlDto> taxonomiasDto = new List <TaxonomiaXbrlDto>();

            foreach (var taxonomia in taxonomias)
            {
                TaxonomiaXbrlDto dto = new TaxonomiaXbrlDto();
                dto.IdTaxonomiaXbrl         = taxonomia.IdTaxonomiaXbrl;
                dto.Nombre                  = taxonomia.Nombre;
                dto.EspacioNombresPrincipal = taxonomia.EspacioNombresPrincipal;
                dto.Descripcion             = taxonomia.Descripcion;
                dto.Anio = taxonomia.Anio;

                foreach (var archivo in taxonomia.ArchivoTaxonomiaXbrl)
                {
                    ArchivoTaxonomiaXbrlDto archivoDto = new ArchivoTaxonomiaXbrlDto();
                    archivoDto.Href = archivo.Href;
                    archivoDto.IdArchivoTaxonomiaXbrl = archivo.IdArchivoTaxonomiaXbrl;
                    archivoDto.IdTaxonomiaXbrl        = archivo.IdTaxonomiaXbrl;
                    archivoDto.Rol            = archivo.Rol;
                    archivoDto.RolUri         = archivo.RolUri;
                    archivoDto.TipoReferencia = archivo.TipoReferencia;
                    dto.ArchivoTaxonomiaXbrl.Add(archivoDto);
                }


                taxonomiasDto.Add(dto);
            }

            return(taxonomiasDto);
        }
        /// <summary>
        /// Crea un objeto con la informacion obtenida de la consulta.
        /// </summary>
        /// <param name="reader">Informacion del registro de la bd</param>
        /// <param name="rowNum">Numero de registro que se esta consultando</param>
        /// <returns>Objeto con la informacion del documento instancia</returns>
        private TaxonomiaXbrlDto CrearDetalleTaxonomiaXbrl(IDataReader reader, int rowNum)
        {
            var dto = new TaxonomiaXbrlDto();

            if (DbUtil.FieldExists(reader, "IdTaxonomiaXbrl"))
            {
                dto.IdTaxonomiaXbrl = reader.GetInt64(reader.GetOrdinal("IdTaxonomiaXbrl"));
            }

            if (DbUtil.FieldExists(reader, "Nombre"))
            {
                dto.Nombre = reader.GetString(reader.GetOrdinal("Nombre"));
            }

            if (DbUtil.FieldExists(reader, "EspacioNombresPrincipal"))
            {
                dto.EspacioNombresPrincipal = reader.GetString(reader.GetOrdinal("EspacioNombresPrincipal"));
            }

            if (DbUtil.FieldExists(reader, "IdPeriodicidadReporte"))
            {
                dto.IdPeriodicidadReporte = reader.GetInt32(reader.GetOrdinal("IdPeriodicidadReporte"));
            }
            return(dto);
        }
Ejemplo n.º 3
0
        public ResultadoOperacionDto GuardarTaxonomiaXbrl(TaxonomiaXbrlDto taxonomiaXbrl, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    taxonomiaXbrl.Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, taxonomiaXbrl.IdTaxonomiaXbrl == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar, ConstantsModulo.TaxonomiaXbrl, taxonomiaXbrl.IdTaxonomiaXbrl == 0 ? MensajesServicios.InsertarTaxonomiaXbrl : MensajesServicios.ActualizarTaxonomiaXbrl, param);
                var taxonomia            = TaxonomiaXbrlRepository.GetById(taxonomiaXbrl.IdTaxonomiaXbrl);

                if (taxonomia == null)
                {
                    taxonomia = new TaxonomiaXbrl
                    {
                        Nombre                  = taxonomiaXbrl.Nombre,
                        Descripcion             = taxonomiaXbrl.Descripcion,
                        Anio                    = taxonomiaXbrl.Anio,
                        Activa                  = taxonomiaXbrl.Activa,
                        EspacioNombresPrincipal = taxonomiaXbrl.EspacioNombresPrincipal
                    };
                }
                else
                {
                    taxonomia.Nombre                  = taxonomiaXbrl.Nombre;
                    taxonomia.Descripcion             = taxonomiaXbrl.Descripcion;
                    taxonomia.Anio                    = taxonomiaXbrl.Anio;
                    taxonomia.Activa                  = taxonomiaXbrl.Activa;
                    taxonomia.EspacioNombresPrincipal = taxonomiaXbrl.EspacioNombresPrincipal;
                }
                resultado = TaxonomiaXbrlRepository.Guardar(taxonomia);
                resultado.InformacionAuditoria = informacionAuditoria;

                if (resultado.Resultado)
                {
                    var id = Convert.ToInt64(resultado.InformacionExtra);

                    ArchivoTaxonomiaXbrlRepository.Borrar(id);

                    var archivo = new ArchivoTaxonomiaXbrl
                    {
                        IdTaxonomiaXbrl = id,
                        Href            = taxonomiaXbrl.PuntoEntrada
                    };

                    ArchivoTaxonomiaXbrlRepository.Guardar(archivo);
                }
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        public IHttpActionResult SaveTaxonomiaXbrl()
        {
            var param         = getFormKeyValue("json");
            var taxonomiaXbrl = new TaxonomiaXbrlDto();

            JsonConvert.PopulateObject(param, taxonomiaXbrl);
            var resultado = EmpresaService.GuardarTaxonomiaXbrl(taxonomiaXbrl, IdUsuarioExec);

            return(Ok(resultado));
        }