public JoinParameterResolver() : base(JoinFields[0]) { var q = JoinFields.Select((e) => new ParameterOption { Name = e, Value = e }); this.Options = new ObservableCollection <ParameterOption>(q.ToList()); }
/// <summary> /// Clone a new join item /// </summary> /// <returns></returns> public JoinItem Clone() { return(new JoinItem() { Sort = Sort, JoinType = JoinType, JoinFields = JoinFields?.ToDictionary(c => c.Key, c => c.Value), JoinQuery = JoinQuery?.Clone(), ExtraQuery = ExtraQuery?.Clone(), Operator = Operator }); }
public override void DoCustomBinding() { // Если не перестраиваем контент - то удалить список Join полей if (!ToBuild) { JoinFields = new List <QPTreeCheckedNode>(0); Data.VirtualJoinFieldNodes = Enumerable.Empty <BLL.Content.VirtualFieldNode>(); } else { if (Data.VirtualType == VirtualType.Join) { Data.VirtualJoinFieldNodes = BLL.Content.VirtualFieldNode.Parse( BLL.Content.VirtualFieldNode.NormalizeFieldTreeIdSeq( JoinFields.Where(n => n != null).Select(f => f.Value) ) ); } else { JoinFields = new List <QPTreeCheckedNode>(0); Data.VirtualJoinFieldNodes = Enumerable.Empty <BLL.Content.VirtualFieldNode>(); Data.JoinRootId = null; } if (Data.VirtualType != VirtualType.Union) { Data.UnionSourceContentIDs = Enumerable.Empty <int>(); } if (Data.VirtualType != VirtualType.UserQuery) { Data.UserQuery = null; Data.UserQueryAlternative = null; } else if (Data.VirtualType == VirtualType.UserQuery && !IsAltUserQueryUsed) { Data.UserQueryAlternative = null; } } }