Exemple #1
0
        public static ReferenciaModel Map(ReferenciaDto entidadDto)
        {
            var model = new ReferenciaModel();

            model.ImageName   = entidadDto.Nombre;
            model.ImagePath   = entidadDto.Imagen;
            model.ImageDesc   = entidadDto.Nombre;
            model.ImageWidth  = entidadDto.Ancho;
            model.ImageHeight = entidadDto.Alto;
            return(model);
        }
        public static List <ReferenciaModel> GetListReferencias(this TramoDto dto, IEnumerable <ReferenciaDto> referencias)
        {
            var result = new List <ReferenciaModel>();

            var detalleFull = $"{dto.Detalle} {dto.Observaciones}";

            detalleFull = NormalizerKey.Normalize(detalleFull);

            foreach (var itemReferencia in referencias)
            {
                if (string.IsNullOrEmpty(itemReferencia.PalabrasClaves))
                {
                    continue;
                }

                var keys = itemReferencia.PalabrasClaves.Split('|');
                foreach (var itemKey in keys)
                {
                    if (!detalleFull.Contains(itemKey))
                    {
                        continue;
                    }

                    var referenciaExists = result.FirstOrDefault(x => x.ImageName == itemReferencia.Imagen);
                    if (referenciaExists == null)
                    {
                        var imageName = itemReferencia.Imagen;
                        if (imageName.EndsWith(".png"))
                        {
                            imageName = imageName.Split('.')[0];
                            imageName = $"{imageName}_transparent.png";
                        }
                        var imagePath = $"images/referencias/{itemReferencia.Tipo.ToLower()}/{imageName}";

                        var referenciaToAdd = new ReferenciaModel();
                        referenciaToAdd.ImageName   = itemReferencia.Imagen;
                        referenciaToAdd.ImagePath   = imagePath;
                        referenciaToAdd.ImageDesc   = itemReferencia.Nombre;
                        referenciaToAdd.ImageWidth  = itemReferencia.Ancho;
                        referenciaToAdd.ImageHeight = itemReferencia.Alto;
                        result.Add(referenciaToAdd);
                    }
                    else if (!referenciaExists.ImageDesc.Contains(itemReferencia.Nombre))
                    {
                        referenciaExists.ImageDesc = $"{referenciaExists.ImageDesc} - {itemReferencia.Nombre}";
                    }
                }
            }

            return(result);
        }