Example #1
0
 private IQueryable <TPerson> PeopleGeneric <TPerson>() where TPerson : PersonWithStaff, new() =>
 from person in _dbConnection.PeopleExtended
 from staff in StaffWithOrgNames.LeftJoin(staff => person.StaffId.HasValue && staff.Id == person.StaffId)
 .DefaultIfEmpty()
     where !person.Deleted
 select new TPerson
 {
     Id                = person.Id,
     Email             = person.Email,
     FirstName         = person.FirstName,
     IsThai            = person.IsThai,
     IsSchoolAid       = person.IsSchoolAid,
     IsAlumni          = person.IsAlumni,
     IsParent          = person.IsParent,
     LastName          = person.LastName,
     ThaiFirstName     = person.ThaiFirstName,
     ThaiLastName      = person.ThaiLastName,
     PreferredName     = person.PreferredName,
     SpeaksEnglish     = person.SpeaksEnglish,
     Staff             = staff,
     StaffId           = person.StaffId,
     DonorId           = person.DonorId,
     PhoneNumber       = person.PhoneNumber,
     SpouseId          = person.SpouseId,
     Birthdate         = person.Birthdate,
     Gender            = person.Gender,
     PassportAddress   = person.PassportAddress,
     PassportCity      = person.PassportCity,
     PassportCountry   = person.PassportCountry,
     PassportState     = person.PassportState,
     PassportZip       = person.PassportZip,
     ThaiAddress       = person.ThaiAddress,
     ThaiAmphur        = person.ThaiAmphur,
     ThaiMubaan        = person.ThaiMubaan,
     ThaiProvince      = person.ThaiProvince,
     ThaiSoi           = person.ThaiSoi,
     ThaiTambon        = person.ThaiTambon,
     ThaiZip           = person.ThaiZip,
     ProfilePicDriveId = person.ProfilePicDriveId,
     Deleted           = person.Deleted,
 };
Example #2
0
 private IQueryable <TPerson> PeopleGeneric <TPerson>() where TPerson : PersonWithStaff, new() =>
 (from person in _dbConnection.PeopleExtended
  from spouse in _dbConnection.People.LeftJoin(person1 => person1.Id == person.SpouseId).DefaultIfEmpty()
  from staff in StaffWithOrgNames.LeftJoin(staff => staff.Id == person.StaffId).DefaultIfEmpty()
      where !person.Deleted
  select new TPerson
 {
     Id = person.Id,
     Email = person.Email,
     FirstName = person.FirstName,
     IsThai = person.IsThai,
     IsSchoolAid = person.IsSchoolAid,
     LastName = person.LastName,
     ThaiFirstName = person.ThaiFirstName,
     ThaiLastName = person.ThaiLastName,
     PreferredName = person.PreferredName,
     SpeaksEnglish = person.SpeaksEnglish,
     Staff = staff,
     StaffId = person.StaffId,
     PhoneNumber = person.PhoneNumber,
     SpouseId = person.SpouseId,
     SpousePreferedName = spouse.PreferredName,
     Birthdate = person.Birthdate,
     Gender = person.Gender,
     Nationality = person.Nationality,
     PassportAddress = person.PassportAddress,
     PassportCity = person.PassportCity,
     PassportCountry = person.PassportCountry,
     PassportState = person.PassportState,
     PassportZip = person.PassportZip,
     ThaiAddress = person.ThaiAddress,
     ThaiAmphur = person.ThaiAmphur,
     ThaiMubaan = person.ThaiMubaan,
     ThaiProvince = person.ThaiProvince,
     ThaiSoi = person.ThaiSoi,
     ThaiTambon = person.ThaiTambon,
     ThaiZip = person.ThaiZip
 }).OrderBy(_ => _.PreferredName ?? _.FirstName).ThenBy(_ => _.LastName);