Ejemplo n.º 1
0
        private static void DownloadTBCategories()
        {
            TBProductUploadServiceImpl impl = new TBProductUploadServiceImpl();
            List<ItemCat> catList = impl.GetItemCats();

            foreach (var cat in catList)
            {
                using (TaoBaoDataContext tbCon = new TaoBaoDataContext())
                {
                    TB_ItemCat obj = new TB_ItemCat();
                    obj.ID = Guid.NewGuid();
                    obj.Cid = cat.Cid;
                    obj.Name = cat.Name;
                    obj.IsParent = cat.IsParent;

                    if (!string.IsNullOrEmpty(cat.ModifiedTime))
                    {
                        obj.ModifiedTime = DateTime.Parse(cat.ModifiedTime);
                    }
                    obj.ModifiedType = cat.ModifiedType;
                    obj.ParentCid = cat.ParentCid;
                    obj.SortOrder = (int)cat.SortOrder;
                    obj.Status = cat.Status;

                    tbCon.TB_ItemCats.InsertOnSubmit(obj);
                    tbCon.SubmitChanges();
                }

            }
        }
Ejemplo n.º 2
0
        private static void DownloadTBProps()
        {
            using (TaoBaoDataContext tbCon = new TaoBaoDataContext())
            {
                //先清空TB_ItemProp表
                var allItemProp = tbCon.TB_ItemProps.ToList<TB_ItemProp>();
                List<ItemProp> itemproplist = new List<ItemProp>();
                var itemcatlist = tbCon.TB_ItemCats.ToList<TB_ItemCat>();
                List<ItemProp> itempropinsert = new List<ItemProp>();
                //获取ItemProp中所有字段
                string fieldsitemprop = @"child_template,cid,is_allow_alias,is_color_prop,is_enum_prop,is_input_prop,is_item_prop,is_key_prop,
            is_sale_prop,modified_time,modified_type,multi,must,name,parent_pid,parent_vid,pid,required,sort_order,status,type";
                foreach (var item in itemcatlist)
                {
                    if (item.IsParent == false)
                    {
                        //如果是叶子类目 调用API获取属性列表
                        List<ItemProp> tempitemprop = ProductService.GetItemprops(item.Cid, fieldsitemprop, null, null, null, null, null, null, null, null, null, 1, null);
                        foreach (var tempitem in tempitemprop)
                        {
                            tempitem.Cid = item.Cid;
                        }
                        itemproplist.AddRange(tempitemprop);
                    }
                }
                //先判断数据库里是否存在,不存在的数据才需要插入
                if (allItemProp != null && allItemProp.Count() > 0)
                {
                    foreach (var itemprop in itemproplist)
                    {
                        if (allItemProp.Where(i => i.Pid == itemprop.Pid && i.Cid == itemprop.Cid && i.Name == itemprop.Name).FirstOrDefault() == null)
                        {
                            itempropinsert.Add(itemprop);
                        }
                    }
                }
                else
                {
                    itempropinsert.AddRange(itemproplist);
                }
                if (itempropinsert != null && itempropinsert.Count > 0)
                {
                    //插入TB_ItemProp表
                    foreach (var item in itempropinsert)
                    {
                        TB_ItemProp obj = new TB_ItemProp();
                        obj.ID = Guid.NewGuid();
                        obj.Cid = item.Cid;
                        obj.Pid = item.Pid;
                        obj.ParentPid = item.ParentPid;
                        obj.ParentVid = item.ParentVid;
                        obj.ChildTemplate = item.ChildTemplate;
                        obj.IsAllowAlias = item.IsAllowAlias;
                        obj.IsColorProp = item.IsColorProp;
                        obj.IsEnumProp = item.IsEnumProp;
                        obj.IsInputProp = item.IsInputProp;
                        obj.IsItemProp = item.IsItemProp;
                        obj.IsKeyProp = item.IsKeyProp;
                        obj.IsSaleProp = item.IsSaleProp;
                        if (string.IsNullOrEmpty(item.ModifiedTime) == false)
                        {
                            obj.ModifiedTime = DateTime.Parse(item.ModifiedTime);
                        }
                        obj.ModifiedType = item.ModifiedType;
                        obj.Multi = item.Multi;
                        obj.Must = item.Must;
                        obj.Name = item.Name;
                        obj.Required = item.Required;
                        obj.SortOrder = item.SortOrder;
                        obj.Status = item.Status;
                        tbCon.TB_ItemProps.InsertOnSubmit(obj);
                    }
                }
                tbCon.SubmitChanges();

            }
        }
Ejemplo n.º 3
0
 private static void InitializationPropValue()
 {
     using (TaoBaoDataContext dct = new TaoBaoDataContext())
     {
         //清空TB_PropValue表
         var allPropValue = dct.TB_PropValues;
         List<PropValue> propvaluelist = new List<PropValue>();
         var itemcatlist = dct.TB_ItemCats;
         var itemproplist = dct.TB_ItemProps;
         List<PropValue> propvalueinsert = new List<PropValue>();
         //获取PropValue需要的字段.
         string fieldspropvalue = @"cid,pid,prop_name,vid,name,name_alias,status,sort_order";
         foreach (var item in itemcatlist)
         {
             if (item.IsParent == false)
             {
                 //如果是叶子类目 调用API获取属性列表
                 var tempitemprop = itemproplist.Where(i => i.Cid == item.Cid).ToList();
                 //如果是叶子类目,根据获取的属性列表
                 string pids = GetItemPropIDS(tempitemprop);
                 List<PropValue> tempprovalue = ProductService.GetItempropValues(fieldspropvalue, item.Cid, pids, 1, null);
                 propvaluelist.AddRange(tempprovalue);
             }
         }
         //先判断数据库里是否存在,不存在的数据才需要插入
         if (allPropValue != null && allPropValue.Count() > 0)
         {
             foreach (var propvalue in propvaluelist)
             {
                 if (allPropValue.Where(i => i.Vid == propvalue.Vid && i.Pid == propvalue.Pid && i.Cid == propvalue.Cid && i.Name == propvalue.Name).FirstOrDefault() == null)
                 {
                     propvalueinsert.Add(propvalue);
                 }
             }
         }
         else
         {
             propvalueinsert.AddRange(propvaluelist);
         }
         if (propvalueinsert != null && propvalueinsert.Count > 0)
         {
             //插入TB_PropValue表
             int i = 0;
             foreach (var item in propvaluelist)
             {
                 i++;
                 TB_PropValue obj = new TB_PropValue();
                 obj.ID = Guid.NewGuid();
                 obj.Cid = item.Cid;
                 obj.IsParent = item.IsParent;
                 if (string.IsNullOrEmpty(item.ModifiedTime) == false)
                 {
                     obj.ModifiedTime = DateTime.Parse(item.ModifiedTime);
                 }
                 obj.ModifiedType = item.ModifiedType;
                 obj.Name = item.Name;
                 obj.NameAlias = item.NameAlias;
                 obj.Pid = item.Pid;
                 obj.PropName = item.PropName;
                 obj.SortOrder = item.SortOrder;
                 obj.Status = item.Status;
                 obj.Vid = item.Vid;
                 dct.TB_PropValues.InsertOnSubmit(obj);
                 if (i == 1000)
                 {
                     dct.SubmitChanges();
                     i = 0;
                 }
             }
         }
     }
 }