Esempio n. 1
0
 private void InsertAttrs(int addressId, List <ElementAttr> formAttrs, int elementId, string founder)
 {
     if (formAttrs.IsValuable())
     {
         _db.Delete <SysBest_ElementAttr>(it => it.ElementId == elementId);
         //插入属性
         List <SysBest_ElementAttr> insertAttrList = new List <SysBest_ElementAttr>();
         foreach (var it in formAttrs)
         {
             if (it.Value.IsNullOrEmpty())
             {
                 continue;
             }
             SysBest_ElementAttr data = new SysBest_ElementAttr()
             {
                 ElementId  = elementId,
                 Key        = it.Key,
                 Value      = it.Value,
                 LinkId     = addressId,
                 Sort       = 0,
                 CreateTime = DateTime.Now,
                 Founder    = "admin"
             };
             insertAttrList.Add(data);
         }
         _db.InsertRange(insertAttrList, false);
     }
 }
 private void distinctHtmlIdList(SysBest_PageContent sp, List <string> formHtmlIdList)
 {
     foreach (var htmlId in formHtmlIdList)
     {
         var oldList = _db.Queryable <SysBest_Element>()
                       .Where(it => it.AddressId != sp.AddressId || it.LanguageId != sp.LanguageId)
                       .Where(it => it.Html_Id == htmlId).ToList();
         if (oldList.Any())
         {
             var oldElement = oldList.Single();
             var oldAttr    = _db.Queryable <SysBest_ElementAttr>().Where(it => it.ElementId == oldElement.Id).ToList();
             var oldEvent   = _db.Queryable <SysBest_ElementEvent>().Where(it => it.ElementId == oldElement.Id).ToList();
             var newHtmlId  = "randId_" + Guid.NewGuid().ToString().Replace("-", "");
             //替换现成HTML里面的 HTMLID
             sp.Html = sp.Html.Replace(htmlId, newHtmlId);
             _db.Update <SysBest_PageContent>(new { Html = sp.Html }, it => it.AddressId == sp.AddressId && it.LanguageId == sp.LanguageId);
             var newElement = new SysBest_Element()
             {
                 AddressId  = sp.AddressId,
                 LanguageId = sp.LanguageId,
                 Html_Id    = newHtmlId,
                 //取原始属性
                 ApiId       = oldElement.ApiId,
                 CreateTime  = DateTime.Now,
                 Description = oldElement.Description,
                 ElementType = oldElement.ElementType,
                 EleName     = oldElement.EleName,
                 Founder     = oldElement.Founder,
                 Sort        = oldElement.Sort
             };
             //插入新元素
             var id = _db.Insert <SysBest_Element>(newElement).TryToInt();
             //插入新元素属性
             foreach (var it in oldAttr)
             {
                 var attr = new SysBest_ElementAttr()
                 {
                     CreateTime = DateTime.Now,
                     ElementId  = id,
                     Founder    = it.Founder,
                     Key        = it.Key,
                     Value      = it.Value,
                     LinkId     = newElement.AddressId,
                     Sort       = it.Sort
                 };
                 _db.Insert <SysBest_ElementAttr>(attr).TryToInt();
             }
             ;
             //插入新元素事件
             foreach (var it in oldEvent)
             {
                 var even = new SysBest_ElementEvent()
                 {
                     CreateTime = DateTime.Now,
                     ElementId  = id,
                     Founder    = it.Founder,
                     Key        = it.Key,
                     Value      = it.Value,
                     LinkId     = newElement.AddressId,
                     Sort       = it.Sort,
                     EventType  = it.EventType,
                     Pars       = it.Pars,
                 };
                 _db.Insert <SysBest_ElementEvent>(even).TryToInt();
             }
             ;
         }
     }
 }