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