示例#1
0
        static SelectionModel BuildModel(Expression X, params SelectionFacet[] facets)
        {
            var builder   = new SelectionModelBuilder(X);
            var selection = new MemberSelection(builder.selections);
            var order     = builder.orders.Count != 0
                      ? some(new MemberOrdering(builder.orders))
                      : none <MemberOrdering>();

            iter(builder.junctions, j => j.Flatten());
            var model = new SelectionModel(X, selection, order, builder.junctions, facets);

            return(model);
        }
示例#2
0
 public SelectionModel
 (
     Expression X, 
     MemberSelection SelectedMembers, 
     Option<MemberOrdering> Order, 
     IEnumerable<Junction> Junctions, 
     params SelectionFacet[] Facets
 )
 {
     this.X = X;
     this.MemberOrder = Order;
     this.SelectedMembers = SelectedMembers;
     this.Facets = Facets;
     this.Junctions = Junctions.ToList();
 }