CommonLibrary.Product.CatalogInfo getCatalogInfo2(Catalog catalog) { CommonLibrary.Product.CatalogInfo catalogInfo = new CommonLibrary.Product.CatalogInfo(); catalogInfo.CatalogId = catalog.CatalogId; catalogInfo.CatalogName = catalog.CatalogName; catalogInfo.LinkType = catalog.LinkType; catalogInfo.LinkURL = catalog.LinkURL; catalogInfo.ParentCatalogId = catalog.ParentCatalogId; return catalogInfo; }
List<CommonLibrary.Catalog.ProductData> getListProductData(Catalog catalog, List<Parameter> listParameter) { var listProductData = new List<CommonLibrary.Catalog.ProductData>(); try { foreach (var catalogMapping in catalog.CatalogMapping) { var productData = new CommonLibrary.Catalog.ProductData(); productData.ProductId = catalogMapping.Product.ProductId; productData.ProductName = catalogMapping.Product.ProductName; productData.Price = (int)catalogMapping.Product.ProductSku.Min(r => r.Price); productData.SalesPrice = (int)catalogMapping.Product.ProductSku.Min(r => r.SalesPrice); productData.ImageURL = Properties.Resources.WebPath + catalogMapping.Product.ImageURL; productData.CreateTime = catalogMapping.Product.CreateTime; foreach (var color in catalogMapping.Product.ProductSku.Select(r => new { r.ColorId, r.ImgURL }).Distinct()) { var colorData = new CommonLibrary.Catalog.ColorData(); colorData.ColorId = (int)color.ColorId; colorData.ColorName = listParameter.First(r => r.ParameterId == color.ColorId).TypeName; colorData.ImgURL = Properties.Resources.WebPath + color.ImgURL; productData.listColorData.Add(colorData); } foreach (var sizeId in catalogMapping.Product.ProductSku.Select(r => r.SizeId).Distinct()) { var sizeData = new CommonLibrary.Catalog.SizeData(); sizeData.SizeId = (int)sizeId; sizeData.SizeName = listParameter.First(r => r.ParameterId == sizeId).TypeName; productData.listSizeData.Add(sizeData); } productData.listSizeData = productData.listSizeData.OrderBy(r => r.SizeName, new CommonLibrary.Code.SizeComparer()).ToList(); listProductData.Add(productData); } } catch (Exception ex) { throw ex; } return listProductData; }