internal async Task <Restroom[]> GetRestroomsNearbyAsync(string routeAlpha, string direction, float?lat, float?longt, int?distance = null, bool publicRestrooms = true, bool pending = false) { var restrooms = await RestroomUnitOfWork.GetRestroomsNearbyAsync(routeAlpha, direction, lat, longt, distance, publicRestrooms, pending); var contactIds = restrooms.Where(m => m.ContactId.HasValue).Select(m => m.ContactId); var contacts = RestroomUnitOfWork.Get <Entity.Contact>().Where(c => contactIds.Contains(c.ContactId)); var result = new List <Restroom>(); foreach (var r in restrooms) { result.Add(Restroom.FromDataAccess(r, contacts.FirstOrDefault(c => c.ContactId == r.ContactId))); } //return result.Select(Restroom.FromDataAccess).ToArray(); return(result.ToArray()); }