public static People FromIdentities(int[] personIds) { if (personIds.Length > 500) { // If over fivehundred identities are requested, we won't pass the array to // SQL Server. Rather, we'll get ALL the people and parse the list ourselves. Dictionary <int, bool> lookup = new Dictionary <int, bool>(); foreach (int key in personIds) { lookup[key] = true; } BasicPerson[] basicArray = SwarmDb.GetDatabaseForReading().GetAllPeople(); People result = new People(); for (int index = 0; index < basicArray.Length; index++) { if (lookup.ContainsKey(basicArray[index].Identity)) { result.Add(Person.FromBasic(basicArray[index])); } } return(result); } return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeople(personIds))); }
public static People FromNamePattern(string namePattern) { if (namePattern.Trim().Length < 3) { return(new People()); } return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeopleFromNamePattern(namePattern))); }
public static People FromMail(string email) { if (email.Length > 0) { return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeopleFromEmail(email))); } return(null); // If no valid search string was supplied }
public static People FromPostalCodes(string[] pcodes) { // Remove any injection codes if (pcodes.Length > 0) { return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeopleFromPostalCodes(pcodes))); } return(null); // If no valid search string was supplied }
public static People FromCityPattern(string cityPattern) { // Remove any injection codes cityPattern = cityPattern.Replace("%", String.Empty).Trim(); if (cityPattern.Length > 0) { cityPattern = "%" + cityPattern + "%"; return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeopleFromCityPattern(cityPattern))); } return(null); // If no valid search string was supplied }
public static People FromEmailPattern (string emailPattern) { // Remove any injection codes emailPattern = emailPattern.Replace ("%", String.Empty).Trim(); if (emailPattern.Length > 0) { emailPattern = "%" + emailPattern + "%"; return People.FromArray (SwarmDb.GetDatabaseForReading().GetPeopleFromEmailPattern (emailPattern)); } return null; // If no valid search string was supplied }
private static People FilterByApplicant(BasicPerson[] candidates, Organization organization) { // Get the organization tree Organizations orgTree = organization.ThisAndBelow(); // Build a lookup table of this organization tree. For each person in 'people' // that has at least one membership in an organization in the lookup table, // add that person to the final result. Dictionary <int, BasicOrganization> lookup = new Dictionary <int, BasicOrganization>(); foreach (Organization org in orgTree) { lookup[org.Identity] = org; } // Get the list of all memberships Dictionary <int, List <BasicApplicant> > applicants = SwarmDb.GetDatabaseForReading() .GetApplicantsFromPeople(People.FromArray(candidates).Identities); People result = new People(); foreach (BasicPerson basicPerson in candidates) { bool applicantToOrganization = false; if (applicants.ContainsKey(basicPerson.Identity)) { foreach (BasicApplicant applicant in applicants[basicPerson.Identity]) { if (lookup.ContainsKey(applicant.OrganizationId)) { applicantToOrganization = true; } } } if (applicantToOrganization) { result.Add(Person.FromBasic(basicPerson)); } } return(result); }
public static People FromBirthDatePattern(DateTime fromdate, DateTime todate) { return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeopleFromBirthdate(fromdate, todate))); }
public static People GetAll() { return(People.FromArray(SwarmDb.GetDatabaseForReading().GetAllPeople())); }
public static People FromPhoneNumber(string countryCode, string phoneNumber) { return(People.FromArray(SwarmDb.GetDatabaseForReading().GetPeopleFromPhoneNumber(countryCode, phoneNumber))); }
public static People FromPhoneNumber (int countryId, string phoneNumber) { return People.FromArray (SwarmDb.GetDatabaseForReading().GetPeopleFromPhoneNumber (countryId, phoneNumber)); }