Ejemplo n.º 1
0
        public ResultFacet Start()
        {
            var builder = new FacetBuilder <ResultFacet, FacetDataModel, Filter, FacetWithIdName>();

            builder.AddRule()
            .FilterBy(x => x.EmployeeId)
            .FilterWhat(x => x.Employee.Id)
            .To(x => x.EmployeeId)
            .As(x => new FacetWithIdName {
                Id = x.Employee.Id, Name = x.Employee.Name
            })
            .AsFilter(x => x.Id != null);

            builder.AddRule()
            .FilterBy(x => x.CompanyName)
            .FilterWhat(x => x.Company.Name)
            .To(x => x.CompanyName)
            .As(x => new FacetWithIdName {
                Id = x.Company.Name, Name = x.Company.Name
            })
            .AsFilter(x => x.Id != null);

            builder.AddRule()
            .FilterBy(x => x.City)
            .FilterWhat(x => x.Company.City)
            .To(x => x.City)
            .As(x => new FacetWithIdName {
                Id = x.Company.City, Name = x.Company.City
            })
            .AsFilter(x => x.Id != null);

            return(builder.Compile(GetData(), GetFilter()));
        }