public async Task <GetFieldPropertyResponse> Handle(PrivateSession session, GetFieldPropertyRequest request, Func <PrivateConnection> connectionFactory) { uint companyId = (await session.CallAsync(MetaDataRequest.GetAccountInfo(HrbcAccountInfoProperty.CompanyId))).CompanyId; // If constraints are set, we resolve them to ids (which are intersectedd with given ids if present), otherwise we use the given ids. IEnumerable <Guid> ids = request.Constraints.Count() > 0 ? await Search(session, request, connectionFactory, companyId) : EnforceCompany(companyId, request.Ids); // now get the field data for ids return(await GetProperties(session, connectionFactory, request, ids)); }