dfmmalaw
4/3/2017 - 4:13 PM

LINQ queries that either: 1) take in a clientId and return a ClientUser record 2) take in a clientUserId and return a boolean showing whethe

LINQ queries that either:

  1. take in a clientId and return a ClientUser record
  2. take in a clientUserId and return a boolean showing whether that client user is an "integration user"
public ClientUser findIntegrationUserByClientId(long clientId)
{
    IQueryable<ClientUser> query = from clientUser in db.ClientUsers
                                   join user in db.Users on clientUser.UserId equals user.UserId
                                   join uir in db.UsersInRoles on clientUser.UserId equals uir.UserId
                                   where uir.RoleId == new Guid(ClientRoles.GUID_IntegrationUser) &&
                                   clientUser.ClientId == clientId &&
                                   clientUser.IsEnabled
                                   select clientUser;

    return query.FirstOrDefault();
}

public bool findIntegrationUserByClientUserId(long clientUserId)
{
    IQueryable<ClientUser> query = from clientUser in db.ClientUsers
                                   join user in db.Users on clientUser.UserId equals user.UserId
                                   join uir in db.UsersInRoles on clientUser.UserId equals uir.UserId
                                   where uir.RoleId == new Guid(ClientRoles.GUID_IntegrationUser) &&
                                   clientUser.ClientUserId == clientUserId &&
                                   clientUser.IsEnabled
                                   select clientUser;

    return query.Any();
}