예제 #1
0
 private void OnEq(CacheSysProfileMode item, CacheSysProfileMode eq)
 {
     if (IsShowSame || !HasDBAction)
     {
         var parent = Tree["相同"];
         AddTreeNode(null, eq, parent);
     }
 }
예제 #2
0
        private void OnNot(CacheSysProfileMode not)
        {
            if (IsDeleteOver && !CheckOnly)
            {
                mongo.DeleteOne <CacheSysProfileMode>(e => e.Id == not.Id);
            }

            if (IsDeleteOver || !HasDBAction)
            {
                var parent = Tree["多余"];
                AddTreeNode(null, not, parent);
            }
        }
예제 #3
0
        private void OnAdd(CacheSysProfileMode item)
        {
            item.Id = ObjectId.Empty;
            if (IsAdd && !CheckOnly)
            {
                mongo.InsertOne(item);
            }

            if (IsAdd || !HasDBAction)
            {
                AddTreeNode(null, item, Tree["新增"]);
            }
        }
예제 #4
0
 private bool Equals(CacheSysProfileMode item, CacheSysProfileMode eqItem)
 {
     return(!(item.Mode != eqItem.Mode ||
              item.Item != eqItem.Item ||
              item.Display != eqItem.Display ||
              item.Hints != eqItem.Hints ||
              item.DefaultValue != eqItem.DefaultValue ||
              item.ValueType != eqItem.ValueType ||
              item.Category != eqItem.Category ||
              item.Visible != eqItem.Visible ||
              item.EnumValue?.ToJson() != eqItem.EnumValue?.ToJson() ||
              item.DynamicValue?.ToJson() != eqItem.DynamicValue?.ToJson()
              ));
 }
예제 #5
0
 private void OnDiff(CacheSysProfileMode item, CacheSysProfileMode diff)
 {
     item.Id = ObjectId.Empty;
     if (IsUpdate && !CheckOnly)
     {
         var copy = MongoDBHelper.FromJson <CacheSysProfileMode>(item.ToJson());
         if (copy.ValueType == diff.ValueType)
         {
             copy.ItemValue = diff.ItemValue;
         }
         copy.Id = diff.Id;
         mongo.ReplaceOne(e => e.Id == diff.Id, copy);
     }
     if (IsUpdate || !HasDBAction)
     {
         var key    = item.Mode + ':' + item.Item;
         var parent = Tree["更新"];
         AddTreeNode(key, new { 原 = diff, 新 = item }, parent).IsExpanded = true;
     }
 }
예제 #6
0
        private void OnDup(CacheSysProfileMode item, CacheSysProfileMode dup)
        {
            if (IsRemoveDup && !CheckOnly && dup.Id != ObjectId.Empty)
            {
                mongo.DeleteOne <CacheSysProfileMode>(e => e.Id == dup.Id);
            }

            if (IsRemoveDup || !HasDBAction)
            {
                var key    = item.Mode + ':' + item.Item;
                var parent = Tree["重复"];
                var child  = parent[key];
                if (child == null)
                {
                    AddTreeNode(key, new { 保留 = item, 移除 = new List <CacheSysProfileMode>() }, parent).IsExpanded = true;;
                }
                child = parent[key]["移除"];
                AddTreeNode($"[{child.Children.Count}]", dup, child);
                UpdateValueByChildrenCount(child);
            }
        }
예제 #7
0
 private bool Same(CacheSysProfileMode item, CacheSysProfileMode next)
 {
     return(string.Equals(item.Mode, next.Mode, StringComparison.CurrentCultureIgnoreCase) &&
            string.Equals(item.Item, next.Item, StringComparison.CurrentCultureIgnoreCase));
 }