コード例 #1
0
        private static void getClassifChildren(ProductDetailAggregate pd, VidalClassification parent,TreeNode node)
        {
            IEnumerable<VidalClassification> children = pd.vidalClassifications.Where<VidalClassification>(l => ((l.parentLink != null ? l.parentLink.ToString() : null) == parent.id));

            foreach (VidalClassification child in children)
            {
                TreeNode childNode = new TreeNode();

                childNode.Name = child.id;
                childNode.Text = child.name;
                node.Nodes.Add(childNode);
                getClassifChildren(pd, child, childNode);
            }
        }
コード例 #2
0
    private static ProductDetailAggregate getProductDetailByFeedItem(SyndicationFeed productFeed)
    {
        Product product = getProductByFeedItem(productFeed.Items.SingleOrDefault(l => (l.Categories[0].Name == "PRODUCT")));
        IEnumerable<SyndicationItem> molecules = productFeed.Items.Where(l => (l.Categories[0].Name == "MOLECULE"));
        List<Molecule> moleculeList = new List<Molecule>();
        foreach (SyndicationItem item in molecules)
        {
            String moleculeName = item.Title.Text;
            int id = item.ElementExtensions.ReadElementExtensions<int>("id", vidalNameSpace).FirstOrDefault();

            Molecule molec = new Molecule(id,moleculeName);
            moleculeList.Add(molec);
        }

        IEnumerable<SyndicationItem> recos = productFeed.Items.Where(l => (l.Categories[0].Name == "RECO"));
        List<Reco> recoList = getRecosBySyndicationFeed(recos);

        IEnumerable<SyndicationItem> vidalClassifs = productFeed.Items.Where(l => (l.Categories[0].Name == "VIDAL_CLASSIFICATION"));
        List<VidalClassification> vidalList = new List<VidalClassification>();
        foreach (SyndicationItem item in vidalClassifs)
        {
            String classifName = item.Title.Text;
            String id = item.Id;
            SyndicationLink parentLink = (item.Links.FirstOrDefault(l => (l.RelationshipType == "inline")));
            Uri parentLinkUri = null;
            if (parentLink != null)
            {
                parentLinkUri = parentLink.Uri;
            }

            VidalClassification vidalClass = new VidalClassification(id, classifName, parentLinkUri, parentLinkUri);
            vidalList.Add(vidalClass);
        }

        IEnumerable<SyndicationItem> packages = productFeed.Items.Where(l => (l.Categories[0].Name == "PACKAGE"));
        List<Package> packList = getPackagesBySyndicationFeed(packages);

        IEnumerable<SyndicationItem> genGroups = productFeed.Items.Where(l => (l.Categories[0].Name == "GENERIC_GROUP"));
        List<GenericGroup> groups = new List<GenericGroup>();
        foreach (SyndicationItem group in genGroups)
        {
            int id =group.ElementExtensions.ReadElementExtensions<int>("id", vidalNameSpace).FirstOrDefault();
            String name =group.Title.Text ;
            String type = group.ElementExtensions.ReadElementExtensions<String>("genericType", vidalNameSpace).FirstOrDefault();
            SyndicationLink productSyndicationLink = group.Links.FirstOrDefault(l => (l.Title == "GENERIC_GROUP"));
            Uri productLink = null;
            if (productSyndicationLink != null)
            {
                productLink = productSyndicationLink.Uri;
            }
            groups.Add(new GenericGroup(id, name, type, productLink));
        }

        ProductDetailAggregate fullProduct = new ProductDetailAggregate();
        fullProduct.product = product;
        fullProduct.recos = recoList;
        fullProduct.vidalClassifications = vidalList;
        fullProduct.packages = packList;
        fullProduct.molecules = moleculeList;
        fullProduct.GenericGroups = groups;

        return fullProduct;
    }
コード例 #3
0
    public static List<VidalClassification> getVidalBySyndicationFeed(IEnumerable<SyndicationItem> vidals)
    {
        List<VidalClassification> vidalList = new List<VidalClassification>();
        foreach (SyndicationItem item in vidals)
        {
            string ractName = item.Title.Text;
            int id = item.ElementExtensions.ReadElementExtensions<int>("id", vidalNameSpace).FirstOrDefault();
            string feedid = item.Id;
            Uri altLink = null;
            SyndicationLink altSyndicationLink = item.Links.FirstOrDefault(l => (l.RelationshipType == "inline"));
            if (altSyndicationLink != null)
            {
                altLink = altSyndicationLink.Uri;
            }

            SyndicationLink productsLinkFeed = (item.Links.FirstOrDefault(l => (l.Title == "PRODUCTS")));
            Uri productsLink = null;
            if (productsLinkFeed != null)
            {
                productsLink = productsLinkFeed.Uri;
            }

            VidalClassification vidal = new VidalClassification(feedid, ractName, altLink, productsLink);
            vidalList.Add(vidal);
        }
        return vidalList;
    }