using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using System.Data.Entity; namespace Tango.BL.Builders { public class OrganizationBuilder : EntityBuilderBase { public OrganizationBuilder(ObservablesContext context) : base(context) { } protected override IQueryable OnSetQuery(IQueryable query) { return query.Include(x => x.Address).Include(x => x.Contact); } public virtual OrganizationBuilder WithUsers(bool deleted = false) { return AddStep(1, () => { Context.Roles.Load(); Context.Permissions.Load(); Context.RolesPermissions.Load(); Context.Users.Where(x => x.OrganizationGuid == Entity.Guid && (deleted || !x.Deleted)) .Include(x => x.Address) .Include(x => x.Contact) .Include(x => x.UsersRoles).ToSynchronizedObservableCollection(); }); } } }