Exemplo n.º 1
0
 public RootCategory GetRootCategoryWithSubs(int id)
 {
     using (PyramidFinalContext dbContext = new PyramidFinalContext())
     {
         var efCat = dbContext.Categories.FirstOrDefault(i => i.Id == id);
         if (efCat != null)
         {
             var rootCategory = new RootCategory()
             {
                 Category = new Pyramid.Entity.Category()
                 {
                     Id        = efCat.Id,
                     Thumbnail = efCat.CategoryImages.FirstOrDefault(f => f.CategoryId == efCat.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail) != null?
                                 ConvertImageToEntity.Convert(efCat.CategoryImages.FirstOrDefault(f => f.CategoryId == efCat.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail).Images) : null,
                                     Title = efCat.Title,
                                     //Products = efCat.Products
                 },
                 SubCategories = dbContext.Categories.Where(i => i.ParentId == efCat.Id).Select(s => new Pyramid.Entity.Category()
                 {
                     Id        = s.Id,
                     Thumbnail = s.CategoryImages.FirstOrDefault(f => f.CategoryId == s.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail) != null ?
                                 ConvertImageToEntity.Convert(s.CategoryImages.FirstOrDefault(f => f.CategoryId == s.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail).Images) : null,
                     Title = s.Title,
                     // Products = s.Products
                 })
             };
             return(rootCategory);
         }
         return(new RootCategory());
     }
 }
Exemplo n.º 2
0
        public override Category ConvertDbObjectToEntity(PyramidFinalContext context, Categories dbObject)
        {
            var seo      = new SeoRepository(context).Get(dbObject.SeoId.HasValue ? dbObject.SeoId.Value : 0);
            var products = new ProductRepository(context).Get(new SearchParamsProduct()
            {
                CategoryId = dbObject.Id, IsSearchOnlyPublicProduct = true
            });
            var friendlyUrl = new RouteItemRepository(context).GetFriendlyUrl(dbObject.Id, Common.TypeEntityFromRouteEnum.CategoryType);
            var cat         = new Category();

            cat.FriendlyUrl = friendlyUrl;
            cat.Filters     = dbObject.Filters.Select(s => new Pyramid.Entity.Filter()
            {
                Id         = s.Id,
                Title      = s.Title,
                EnumValues = s.EnumValues.Select(e => new Pyramid.Entity.EnumValue()
                {
                    Id        = e.Id,
                    Key       = e.Key,
                    TypeValue = (Common.TypeFromEnumValue)e.TypeValue
                }).ToList(),
            }).ToList();


            cat.Products = products.Objects.ToList();

            cat.Id    = dbObject.Id;
            cat.Title = dbObject.Title;


            cat.Thumbnail = new ImageRepository(context).GetFromCategory(dbObject.Id, (int)Common.TypeImage.Thumbnail);

            cat.OneCId             = dbObject.OneCId;
            cat.ParentId           = dbObject.ParentId;
            cat.Content            = dbObject.Content;
            cat.ShowCategoryOnSite = dbObject.ShowCategoryOnSite;
            if (dbObject.Seo != null)
            {
                cat.Seo = new Entity.Seo()
                {
                    Alias           = dbObject.Seo.Alias,
                    Id              = dbObject.Seo.Id,
                    MetaDescription = dbObject.Seo.MetaDescription,
                    MetaKeywords    = dbObject.Seo.MetaKeywords,
                    MetaTitle       = dbObject.Seo.MetaTitle
                };
            }

            if (dbObject.Recommendations != null)
            {
                cat.Recommendations = dbObject.Recommendations.Select(s => new Recommendation()
                {
                    ShortContent = s.ShortContent,
                    Title        = s.Title,
                    Id           = s.Id,
                    Image        = ConvertImageToEntity.Convert(s.Images.FirstOrDefault()),
                    FriendlyUrl  = new RouteItemRepository(context).GetFriendlyUrl(s.Id, Common.TypeEntityFromRouteEnum.RecommendationType)
                }).ToList();
            }
            return(cat);
        }
        public override Pyramid.Entity.HomeEntity ConvertDbObjectToEntity(PyramidFinalContext context, HomeEntity dbObject)
        {
            var hEntity = new Pyramid.Entity.HomeEntity();

            if (dbObject.BannerWithPoints != null)
            {
                hEntity.BannerWithPoints = new Pyramid.Entity.BannerWithPoints()
                {
                    BannerId = dbObject.BannerWithPoints.BannerId,
                    Images   = dbObject.BannerWithPoints.Images != null ? new Image()
                    {
                        Id               = dbObject.BannerWithPoints.Images.Id,
                        ImgAlt           = dbObject.BannerWithPoints.Images.ImgAlt,
                        PathInFileSystem = dbObject.BannerWithPoints.Images.PathInFileSystem,
                        ServerPathImg    = dbObject.BannerWithPoints.Images.ServerPathImg,
                        Title            = dbObject.BannerWithPoints.Images.Title
                    } : new Image(),
                    PointOnImgs = dbObject.BannerWithPoints.PointOnImgs.Select(p => new Pyramid.Entity.PointOnImg()
                    {
                        CoordX   = p.CoordX,
                        CoordY   = p.CoordY,
                        Id       = p.Id,
                        Products = new Product()
                        {
                            ThumbnailImg = p.Products.ProductImages.FirstOrDefault(f => f.ProductId == p.Products.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail) != null ?
                                           ConvertImageToEntity.Convert(p.Products.ProductImages.FirstOrDefault(f => f.ProductId == p.Products.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail).Images) : new Pyramid.Entity.Image(),
                            Id          = p.Products.Id,
                            Title       = p.Products.Title,
                            Price       = p.Products.Price,
                            TypePrice   = (Common.TypeProductPrice)p.Products.TypePrice,
                            FriendlyUrl = new RouteItemRepository(context).GetFriendlyUrl(p.Products.Id, Common.TypeEntityFromRouteEnum.ProductType)
                        }
                    }).ToList()
                };
            }
            hEntity.CallToAction    = dbObject.CallToAction;
            hEntity.Content         = dbObject.Content;
            hEntity.Id              = dbObject.Id;
            hEntity.LinkYouTobe     = dbObject.LinkYouTobe;
            hEntity.Title           = dbObject.Title;
            hEntity.TitleVideoGuide = dbObject.TitleVideoGuide;

            hEntity.Categories = dbObject.Categories.Select(s => new Pyramid.Entity.Category()
            {
                Id          = s.Id,
                Title       = s.Title,
                FriendlyUrl = new RouteItemRepository(context).GetFriendlyUrl(s.Id, Common.TypeEntityFromRouteEnum.CategoryType)
            }).ToList();

            hEntity.Images = ConvertImageToEntity.Convert(dbObject.Images);

            hEntity.Products = dbObject.Products.Select(p => new Pyramid.Entity.Product()
            {
                ThumbnailImg = p.ProductImages.FirstOrDefault(f => f.ProductId == p.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail) != null ?
                               ConvertImageToEntity.Convert(p.ProductImages.FirstOrDefault(f => f.ProductId == p.Id && f.TypeImage == (int)Common.TypeImage.Thumbnail).Images) : new Pyramid.Entity.Image(),
                Id                = p.Id,
                Title             = p.Title,
                Price             = p.Price,
                TypePrice         = (Common.TypeProductPrice)p.TypePrice,
                TypeStatusProduct = (Common.TypeStatusProduct)p.TypeStatusProduct,
                FriendlyUrl       = new RouteItemRepository(context).GetFriendlyUrl(p.Id, Common.TypeEntityFromRouteEnum.ProductType)
            }).ToList();

            if (dbObject.Faq != null)
            {
                var faq = new FaqRepository(context).Get(dbObject.Faq.Id);
                hEntity.Faq = faq;
                // new FAQ()
                //{
                //    Id = dbObject.Faq.Id,
                //    Title = dbObject.Faq.Title,
                //    FriendlyUrl
                //    QuestionAnswer = dbObject.Faq.QuestionAnswer.Select(s => new Pyramid.Entity.QuestionAnswer()
                //    {
                //        Id = s.Id,
                //        Answer = s.Answer,
                //        Question = s.Question

                //    }).ToList()
                //};
            }



            return(hEntity);
        }