private static ExternalPractitionerSearchCriteria[] GetMergeCandidatesCriteria(ExternalPractitioner practitioner) { var criteria = new List<ExternalPractitionerSearchCriteria>(); var baseCriteria = new ExternalPractitionerSearchCriteria(); baseCriteria.NotEqualTo(practitioner); baseCriteria.Deactivated.EqualTo(false); var nameCriteria = (ExternalPractitionerSearchCriteria)baseCriteria.Clone(); nameCriteria.Name.FamilyName.EqualTo(practitioner.Name.FamilyName); nameCriteria.Name.GivenName.EqualTo(practitioner.Name.GivenName); criteria.Add(nameCriteria); if (!string.IsNullOrEmpty(practitioner.LicenseNumber)) { var licenseNumberCriteria = (ExternalPractitionerSearchCriteria)baseCriteria.Clone(); licenseNumberCriteria.LicenseNumber.EqualTo(practitioner.LicenseNumber); criteria.Add(licenseNumberCriteria); } if (!string.IsNullOrEmpty(practitioner.BillingNumber)) { var billingNumberCriteria = (ExternalPractitionerSearchCriteria)baseCriteria.Clone(); billingNumberCriteria.BillingNumber.EqualTo(practitioner.BillingNumber); criteria.Add(billingNumberCriteria); } return criteria.ToArray(); }
private static ExternalPractitionerSearchCriteria[] GetMergeCandidatesCriteria(ExternalPractitioner practitioner) { var criteria = new List <ExternalPractitionerSearchCriteria>(); var baseCriteria = new ExternalPractitionerSearchCriteria(); baseCriteria.NotEqualTo(practitioner); baseCriteria.Deactivated.EqualTo(false); var nameCriteria = (ExternalPractitionerSearchCriteria)baseCriteria.Clone(); nameCriteria.Name.FamilyName.EqualTo(practitioner.Name.FamilyName); nameCriteria.Name.GivenName.EqualTo(practitioner.Name.GivenName); criteria.Add(nameCriteria); if (!string.IsNullOrEmpty(practitioner.LicenseNumber)) { var licenseNumberCriteria = (ExternalPractitionerSearchCriteria)baseCriteria.Clone(); licenseNumberCriteria.LicenseNumber.EqualTo(practitioner.LicenseNumber); criteria.Add(licenseNumberCriteria); } if (!string.IsNullOrEmpty(practitioner.BillingNumber)) { var billingNumberCriteria = (ExternalPractitionerSearchCriteria)baseCriteria.Clone(); billingNumberCriteria.BillingNumber.EqualTo(practitioner.BillingNumber); criteria.Add(billingNumberCriteria); } return(criteria.ToArray()); }