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()); } }
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); }