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); }
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(); }