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