Exemplo n.º 1
0
        public VM_PCMFichasBase(FichasBase fichasBase)
        {
            Codigo          = fichasBase.IdInterno;
            Pais            = fichasBase.IdPais;
            LineaDeNegocio  = fichasBase.IdLineaNegocio;
            TituloLargo     = FormatText(fichasBase.Titulo);
            TituloCorto     = FormatText(fichasBase.TituloDistribuidora);
            Subtitulo       = FormatText(fichasBase.Subtitulo);
            Coeditorial     = fichasBase.Coeditorial;
            LenguaPrincipal = fichasBase.Idioma;

            // LenguasSecundarias
            foreach (var item in fichasBase.FichasBaseIdiomasSecundarios.OrderBy(x => x.Orden))
            {
                LenguasSecundarias += $"{item.IdIdioma},";
            }
            if (!string.IsNullOrEmpty(LenguasSecundarias))
            {
                LenguasSecundarias = LenguasSecundarias.Substring(0, LenguasSecundarias.Length - 1);
            }

            // Rol
            foreach (var item in fichasBase.RelFichasPersonas.OrderBy(x => x.Orden))
            {
                Rol += $"{item.IdRol},";
            }
            if (!string.IsNullOrEmpty(Rol))
            {
                Rol = Rol.Substring(0, Rol.Length - 1);
            }

            // Persona
            // Autor
            foreach (var item in fichasBase.RelFichasPersonas.OrderBy(x => x.Orden))
            {
                if (item.IdRol == "AUT")
                {
                    Persona += $"{item.IdPersona},";
                }
                //Autor += $"{item.IdPersona},";
                else
                {
                    Persona += $"{item.IdPersona},";
                }
            }
            if (!string.IsNullOrEmpty(Persona))
            {
                Persona = Persona.Substring(0, Persona.Length - 1);
            }
            if (!string.IsNullOrEmpty(Autor))
            {
                Autor = Autor.Substring(0, Autor.Length - 1);
            }

            Edad                  = fichasBase.EdadMinima;
            ZonaGeografica        = fichasBase.IdZonaGeografica;
            Comercializaciones    = fichasBase.IdInternoOrigen;
            TipoMaterialEducativo = fichasBase.IdTipoMaterialEducativo;
            Coleccion             = fichasBase.IdColeccion;
            Serie                 = fichasBase.IdSerie;
            N_Coleccion           = fichasBase.NumeroColeccion;
            N_Serie               = fichasBase.NumeroSerie;
            Genero                = fichasBase.IdGenero;
            DRM                = fichasBase.IdDrm;
            Accesibilidad      = fichasBase.IdAccesibilidad;
            ISBN               = fichasBase.Isbn;
            EAN13              = fichasBase.Ean13;
            Encuadernacion     = fichasBase.TipoEncuadernacion;
            Estado             = fichasBase.IdEstadoSap;
            EjemplaresPorCaja  = fichasBase.NEjemplaresCaja;
            NumeroDePaginas    = fichasBase.NumeroPaginas;
            Alto               = fichasBase.Alto;
            Ancho              = fichasBase.Ancho;
            Grosor             = fichasBase.Grosor;
            Peso               = fichasBase.Peso;
            PrecioSinImpuestos = fichasBase.PrecioSinIvae;
            PrecioConImpuestos = fichasBase.PrecioConIvae;
            Impuestos          = fichasBase.IvaPorCiento;

            // Edicion
            foreach (var item in fichasBase.E2Tiradasedicion.OrderBy(x => x.NumeroEdicion))
            {
                Edicion += $"{item.NumeroEdicion},";
            }
            if (!string.IsNullOrEmpty(Edicion))
            {
                Edicion = Edicion.Substring(0, Edicion.Length - 1);
            }

            // Fecha
            foreach (var item in fichasBase.E2Tiradasedicion.OrderBy(x => x.NumeroEdicion))
            {
                if (item.Fecha.HasValue)
                {
                    Edicion += $"{item.Fecha.Value:ddMMyyyy},";
                }
            }
            if (!string.IsNullOrEmpty(Fecha))
            {
                Fecha = Fecha.Substring(0, Fecha.Length - 1);
            }

            // Tirada
            foreach (var item in fichasBase.E2Tiradasedicion.OrderBy(x => x.NumeroEdicion))
            {
                Tirada += $"{item.Tirada},";
            }
            if (!string.IsNullOrEmpty(Tirada))
            {
                Tirada = Tirada.Substring(0, Tirada.Length - 1);
            }

            // DepositoLegal
            foreach (var item in fichasBase.E2Tiradasedicion.OrderBy(x => x.NumeroEdicion))
            {
                DepositoLegal += $"{item.DepositoLegal},";
            }
            if (!string.IsNullOrEmpty(Tirada))
            {
                DepositoLegal = DepositoLegal.Substring(0, DepositoLegal.Length - 1);
            }

            LineaDeProducto = fichasBase.CodLineaP;

            // Soporte
            foreach (var item in fichasBase.FichasBaseSoportes.OrderBy(x => x.Orden))
            {
                Soporte += $"{item.IdSoporte},";
            }
            if (!string.IsNullOrEmpty(Soporte))
            {
                Soporte = Soporte.Substring(0, Soporte.Length - 1);
            }

            TipoMaterialSAP   = fichasBase.IdTipoMaterialSap;
            GrupoArticulo     = fichasBase.E2GruposArticulo.CodigoGrupo;
            UsoComercial      = fichasBase.IdUsoComercial;
            Campana           = fichasBase.IdCampaña;
            Proyecto          = fichasBase.IdProyecto;
            ProyectoDeGestion = fichasBase.IdProyectoGestion;

            // JerarquiaTotal
            foreach (var item in fichasBase.E2RamasclasifFicha)
            {
                JerarquiaTotal += $"{item.IdClasificacion},";
            }
            if (!string.IsNullOrEmpty(JerarquiaTotal))
            {
                JerarquiaTotal = JerarquiaTotal.Substring(0, JerarquiaTotal.Length - 1);
            }

            // Sinopsis
            foreach (var item in fichasBase.FichasAplicacions)
            {
                Sinopsis += $"{FormatText(item.Sinopsis)},";
            }
            if (!string.IsNullOrEmpty(Sinopsis))
            {
                Sinopsis = Sinopsis.Substring(0, Sinopsis.Length - 1);
            }

            // Resumen
            foreach (var item in fichasBase.FichasAplicacions)
            {
                Resumen += $"{FormatText(item.Resumen)},";
            }
            if (!string.IsNullOrEmpty(Resumen))
            {
                Resumen = Resumen.Substring(0, Resumen.Length - 1);
            }

            // Indice
            foreach (var item in fichasBase.FichasAplicacions)
            {
                Indice += $"{FormatText(item.Indice)},";
            }
            if (!string.IsNullOrEmpty(Indice))
            {
                Indice = Indice.Substring(0, Indice.Length - 1);
            }

            // FraseDescriptivaEspecial_Ninos
            foreach (var item in fichasBase.RelFrasesDescriptivas)
            {
                if (item.IdPublicoObjetivo == 0)
                {
                    FraseDescriptivaEspecial_Ninos += $"{FormatText(item.FraseDescriptiva)},";
                }
            }
            if (!string.IsNullOrEmpty(FraseDescriptivaEspecial_Ninos))
            {
                FraseDescriptivaEspecial_Ninos = FraseDescriptivaEspecial_Ninos.Substring(0, FraseDescriptivaEspecial_Ninos.Length - 1);
            }

            // FraseDescriptivaGeneral
            foreach (var item in fichasBase.RelFrasesDescriptivas)
            {
                if (item.IdPublicoObjetivo == 1)
                {
                    FraseDescriptivaGeneral += $"{FormatText(item.FraseDescriptiva)},";
                }
            }
            if (!string.IsNullOrEmpty(FraseDescriptivaGeneral))
            {
                FraseDescriptivaGeneral = FraseDescriptivaGeneral.Substring(0, FraseDescriptivaGeneral.Length - 1);
            }

            // FraseDescriptivaEspecial_Chavales
            foreach (var item in fichasBase.RelFrasesDescriptivas)
            {
                if (item.IdPublicoObjetivo == 3)
                {
                    FraseDescriptivaEspecial_Chavales += $"{FormatText(item.FraseDescriptiva)},";
                }
            }
            if (!string.IsNullOrEmpty(FraseDescriptivaEspecial_Chavales))
            {
                FraseDescriptivaEspecial_Chavales = FraseDescriptivaEspecial_Chavales.Substring(0, FraseDescriptivaEspecial_Chavales.Length - 1);
            }

            // Premio
            foreach (var item in fichasBase.E2FichasBasePremio.OrderBy(x => x.Anyo))
            {
                Premio += $"{item.IdPremio},";
            }
            if (!string.IsNullOrEmpty(Premio))
            {
                Premio = Premio.Substring(0, Premio.Length - 1);
            }

            // PremioAno
            foreach (var item in fichasBase.E2FichasBasePremio.OrderBy(x => x.Anyo))
            {
                PremioAno += $"{item.Anyo},";
            }
            if (!string.IsNullOrEmpty(PremioAno))
            {
                PremioAno = PremioAno.Substring(0, PremioAno.Length - 1);
            }

            // PremioComentarios
            foreach (var item in fichasBase.E2FichasBasePremio.OrderBy(x => x.Anyo))
            {
                PremioComentarios += $"{FormatText(item.Comentarios)},";
            }
            if (!string.IsNullOrEmpty(PremioComentarios))
            {
                PremioComentarios = PremioComentarios.Substring(0, PremioComentarios.Length - 1);
            }

            // PalabraClave
            foreach (var item in fichasBase.FichasBaseTesauroes)
            {
                if (item.IdTipo == 1)
                {
                    PalabraClave += $"{item.IdArbol},";
                }
            }
            if (!string.IsNullOrEmpty(PalabraClave))
            {
                PalabraClave = PalabraClave.Substring(0, PalabraClave.Length - 1);
            }

            // Valores (Tesauro)
            foreach (var item in fichasBase.FichasBaseTesauroes)
            {
                if (item.IdTipo == 3)
                {
                    Valores += $"{item.IdArbol},";
                }
            }
            if (!string.IsNullOrEmpty(Valores))
            {
                Valores = Valores.Substring(0, Valores.Length - 1);
            }

            // ClasificacionCDU
            foreach (var item in fichasBase.FichasBaseCodigoCdus)
            {
                ClasificacionCDU += $"{item.IdCodigoCdu},";
            }
            if (!string.IsNullOrEmpty(ClasificacionCDU))
            {
                ClasificacionCDU = ClasificacionCDU.Substring(0, ClasificacionCDU.Length - 1);
            }

            // ClasificacionBIC
            foreach (var item in fichasBase.FichasBaseClasificacionEcis)
            {
                ClasificacionBIC += $"{item.IdcLasificacionEci},";
            }
            if (!string.IsNullOrEmpty(ClasificacionBIC))
            {
                ClasificacionBIC = ClasificacionBIC.Substring(0, ClasificacionBIC.Length - 1);
            }

            FechaAltaEnElSistema             = fichasBase.FechaCreacion;
            FechaNecesidadDeInformacion      = fichasBase.FechaNecesidadInformacion;
            FechaCreacionProyectoPS          = fichasBase.FechaCreacionProyectoPs;
            FechaRecepcionDePrototipos       = fichasBase.FechaRecepcionPrototipos;
            FechaPuestaEnMarchaDeFabricacion = fichasBase.FechaPuestaEnMarchaFabricacion;
            FechaFinProcesoInteriores        = fichasBase.FechaFinProcesadoInteriores;
            FechaAltaEnLogistica             = fichasBase.FechaAltaLogistica;
            FechaComercializacion            = fichasBase.FechaDisponibilidadComercial;
            FechaDeCreacion             = fichasBase.FechaCreacion;
            UsuarioDeCreacion           = fichasBase.UsuarioCreacion;
            FechaDeModificacion         = fichasBase.FechaActualizacion;
            UsuarioDeModificacion       = fichasBase.UsuarioActualizacion;
            FechaDePublicacion          = fichasBase.FechaPublicacion;
            UsuarioDePublicacion        = fichasBase.UsuarioPublicacion;
            FechaDeDespublicacion       = fichasBase.FechaRetirada;
            UsuarioDeDespublicacion     = fichasBase.UsuarioRetirada;
            FechaLibroDisponibleEnWeb   = fichasBase.FechaPublicacion;
            FechaLibroDisponibleEnDILVE = fichasBase.FechaCreacionDilve;
            TituloOriginal    = fichasBase.TituloOriginal;
            EditorialOriginal = fichasBase.EditorialOriginal;
            IdiomaOriginal    = fichasBase.IdiomaOriginal;

            // TitulosAfines
            foreach (var item in fichasBase.TitulosAfines.OrderBy(x => x.Orden))
            {
                TitulosAfines += $"{item.IdObraAfin},";
            }
            if (!string.IsNullOrEmpty(TitulosAfines))
            {
                TitulosAfines = TitulosAfines.Substring(0, TitulosAfines.Length - 1);
            }

            // MaterialesAnejos
            foreach (var item in fichasBase.TitulosAnejoes.OrderBy(x => x.Orden))
            {
                MaterialesAnejos += $"{item.IdObraAneja},";
            }
            if (!string.IsNullOrEmpty(MaterialesAnejos))
            {
                MaterialesAnejos = MaterialesAnejos.Substring(0, MaterialesAnejos.Length - 1);
            }

            // MaterialesReferencia
            foreach (var item in fichasBase.TFichasBaseMaterialesReferencias_IdInternoReferencia)
            {
                MaterialesReferencia += $"{item.IdInternoReferencia},";
            }
            if (!string.IsNullOrEmpty(MaterialesReferencia))
            {
                MaterialesReferencia = MaterialesReferencia.Substring(0, MaterialesReferencia.Length - 1);
            }

            // MaterialesAuxiliares
            // MaterialesAuxiliaresTipoDeDocumento
            foreach (var item in fichasBase.Documentoes)
            {
                MaterialesAuxiliares += $"{item.IdDocumento},";
                MaterialesAuxiliaresTipoDeDocumento += $"{item.Tipo},";

                if (item.TipoLink == false)
                {
                    PathMaterialesAuxiliares += $"\\\\sesficazu02.gesm.net\\ecatprepro$\\Documentos_Materiales{item.Path},";
                }
                else
                {
                    PathMaterialesAuxiliares += $"{item.Path},";
                }
            }
            if (!string.IsNullOrEmpty(MaterialesAuxiliares))
            {
                MaterialesAuxiliares = MaterialesAuxiliares.Substring(0, MaterialesAuxiliares.Length - 1);
            }
            if (!string.IsNullOrEmpty(MaterialesAuxiliaresTipoDeDocumento))
            {
                MaterialesAuxiliaresTipoDeDocumento = MaterialesAuxiliaresTipoDeDocumento.Substring(0, MaterialesAuxiliaresTipoDeDocumento.Length - 1);
            }
            if (!string.IsNullOrEmpty(PathMaterialesAuxiliares))
            {
                PathMaterialesAuxiliares = PathMaterialesAuxiliares.Substring(0, PathMaterialesAuxiliares.Length - 1);
            }

            // FechaContrato
            // EstadoContrato
            // DisponibleVentaDerechos
            // Restrictivo
            // MasInformacion
            foreach (var item in fichasBase.TFichasBaseAmbitosCesions)
            {
                FechaContrato           += $"{item.Fecha:ddMMyyyy},";
                EstadoContrato          += $"{item.IdEstado},";
                DisponibleVentaDerechos += $"{Convert.ToInt16(item.DisponibleVentaDerechos)},";
                Restrictivo             += $"{Convert.ToInt16(item.EsRestrictivo)},";
                ComentariosInternos     += $"{item.ComentariosInternos},";
                MasInformacion          += $"{item.MasInformacion},";

                //TerritoriosVenta
                //TerritoriosExcluidos
                foreach (var valor in item.TFichasBaseAmbitosCesionValores)
                {
                    if (!valor.Exclusivo)
                    {
                        TerritoriosVenta += $"{valor.IdAmbitoCesion},";
                    }
                    else
                    {
                        TerritoriosExcluidos += $"{valor.IdAmbitoCesion},";
                    }
                }

                //RestriccionesVenta
                foreach (var valor in item.TFichasBaseAmbitosCesionRestricciones)
                {
                    RestriccionesVenta += $"{valor.IdAmbitoCesionRestriccion},";
                }
            }
            if (!string.IsNullOrEmpty(FechaContrato))
            {
                FechaContrato = FechaContrato.Substring(0, FechaContrato.Length - 1);
            }
            if (!string.IsNullOrEmpty(DisponibleVentaDerechos))
            {
                DisponibleVentaDerechos = DisponibleVentaDerechos.Substring(0, DisponibleVentaDerechos.Length - 1);
            }
            if (!string.IsNullOrEmpty(Restrictivo))
            {
                Restrictivo = Restrictivo.Substring(0, Restrictivo.Length - 1);
            }
            if (!string.IsNullOrEmpty(ComentariosInternos))
            {
                ComentariosInternos = ComentariosInternos.Substring(0, ComentariosInternos.Length - 1);
            }
            if (!string.IsNullOrEmpty(MasInformacion))
            {
                MasInformacion = MasInformacion.Substring(0, MasInformacion.Length - 1);
            }
            if (!string.IsNullOrEmpty(TerritoriosVenta))
            {
                TerritoriosVenta = TerritoriosVenta.Substring(0, TerritoriosVenta.Length - 1);
            }
            if (!string.IsNullOrEmpty(TerritoriosExcluidos))
            {
                TerritoriosExcluidos = TerritoriosExcluidos.Substring(0, TerritoriosExcluidos.Length - 1);
            }
            if (!string.IsNullOrEmpty(RestriccionesVenta))
            {
                RestriccionesVenta = RestriccionesVenta.Substring(0, RestriccionesVenta.Length - 1);
            }
            if (!string.IsNullOrEmpty(EstadoContrato))
            {
                EstadoContrato = EstadoContrato.Substring(0, EstadoContrato.Length - 1);
            }

            // MarcaPublicado
            MarcaPublicado = fichasBase.PublicableWeb;

            // Imagenes
            foreach (var item in fichasBase.TbFichasBaseImagenes)
            {
                // PortadasBajaResolucion
                if (item.IdTipoImagen == 1)
                {
                    PortadasBajaResolucion += $"{item.Fichero},";
                }
                // AltaResolucion
                if (item.IdTipoImagen == 2)
                {
                    AltaResolucion += $"{item.Fichero},";
                }
                // Interiores
                if (item.IdTipoImagen == 3)
                {
                    Interiores += $"{item.Fichero},";
                }
                // Bodegones
                if (item.IdTipoImagen == 5)
                {
                    Bodegones += $"{item.Fichero},";
                }
            }
            if (!string.IsNullOrEmpty(PortadasBajaResolucion))
            {
                PortadasBajaResolucion = PortadasBajaResolucion.Substring(0, PortadasBajaResolucion.Length - 1);
            }
            if (!string.IsNullOrEmpty(AltaResolucion))
            {
                AltaResolucion = AltaResolucion.Substring(0, AltaResolucion.Length - 1);
            }
            if (!string.IsNullOrEmpty(Interiores))
            {
                Interiores = Interiores.Substring(0, Interiores.Length - 1);
            }
            if (!string.IsNullOrEmpty(Bodegones))
            {
                Bodegones = Bodegones.Substring(0, Bodegones.Length - 1);
            }
        }