Ejemplo n.º 1
0
 public static void AddUniqFly(ElementReader oldElem, ElementReader newElem, out HashSet <string> flyPaths)
 {
     flyPaths = new HashSet <string>();
     foreach (var newIt in newElem.GetListById(23))
     {
         var flag = oldElem.GetListById(23).All(oldIt => !newIt.GetByKey("file_model").Equals(oldIt.GetByKey("file_model")));
         if (flag)
         {
             flyPaths.Add(UtilsIO.NormalizeString(newIt.GetByKey("file_model")));
             oldElem.AddItem(23, AdvancedCopy(oldElem.GetFirstInList(23), newIt), true);
         }
     }
 }
Ejemplo n.º 2
0
        public static Item AdvancedCopy(Item oldItem, Item newItem)
        {
            if (oldItem == null || newItem == null)
            {
                return(null);
            }
            if (oldItem.Values.Length == newItem.Values.Length)
            {
                return(newItem);
            }
            var temp = UtilsIO.DeepClone(oldItem);

            for (int i = 0; i < temp.Values.Length / 2; i++)
            {
                string key = temp.Values[i, 0];
                temp.SetByKey(key, newItem.GetByKey(key));
            }
            return(temp);
        }