public ResultadoOperacionDto BorrarTaxonomiaXbrl(long idTaxonomiaXbrl, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    TaxonomiaXbrlRepository.Obtener(idTaxonomiaXbrl).Nombre
                };
                resultado.InformacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Borrar, ConstantsModulo.TaxonomiaXbrl, MensajesServicios.BorrarTaxonomiaXbrl, param);
                TaxonomiaXbrlRepository.DbContext.Database.ExecuteSqlCommand(string.Format("delete from TipoEmpresaTaxonomiaXbrl where IdTaxonomiaXbrl = {0};", idTaxonomiaXbrl));
                ArchivoTaxonomiaXbrlRepository.Borrar(idTaxonomiaXbrl);
                TaxonomiaXbrlRepository.Borrar(idTaxonomiaXbrl);
                resultado.Resultado        = true;
                resultado.InformacionExtra = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado            = false;
                resultado.Mensaje              = exception.Message;
                resultado.InformacionExtra     = exception;
                resultado.InformacionAuditoria = null;
            }
            return(resultado);
        }
        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);
        }