using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.Entity; using Tango.BL.Entities; namespace Tango.BL.Builders { public class SiteBuilder : EntityBuilderBase { public SiteBuilder(ObservablesContext context) : base(context) { } public virtual SiteBuilder WithSiteCatalogs() { return AddQueryStep(1, (query) => { return query.Include(x => x.SitesCatalogs); }); } public virtual SiteBuilder WithCatalogs() { return AddQueryStep(2, (query) => { return query.Include(x => x.SitesCatalogs.Select(y => y.ColorCatalog)); }); } public virtual SiteBuilder WithSiteRmls() { return AddQueryStep(3, (query) => { return query.Include(x => x.SitesRmls); }); } public virtual SiteBuilder WithRmls() { return AddQueryStep(4, (query) => { return query.Include(x => x.SitesRmls.Select(y => y.Rml)); }); } public virtual SiteBuilder WithOrganization() { return AddQueryStep(5, (query) => { return query.Include(x => x.Organization); }); } public virtual SiteBuilder WithSpoolTypes() { return AddQueryStep(6, (query) => { return query.Include(x => x.SitesSpoolTypes); }); } } }