/// <summary> /// Sets the primary provider specialty. /// </summary> /// <param name="providerSpecialty">The provider specialty.</param> public void SetPrimarySpecialty(ProviderSpecialty providerSpecialty) { providerSpecialty.IsPrimary = true; ProviderSpecialties.Where(ps => ps.Specialty.Id != providerSpecialty.Specialty.Id) .ToList() .ForEach(pl => pl.IsPrimary = false); }
/// <summary> /// Adds the specialty. /// </summary> /// <param name="specialty">The specialty.</param> /// <returns>A new ProviderSpecialty instance.</returns> public ProviderSpecialty AddSpecialty(Specialty specialty) { if (specialty == null) { throw new ArgumentNullException("specialty"); } if (ProviderSpecialties.Count(ps => ps.Specialty.Id.Equals(specialty.Id)) > 0) { throw new BusinessException("The specialty is already associated with this provider."); } var providerSpecialty = new ProviderSpecialty(this, specialty); ProviderSpecialties.Add(providerSpecialty); if (ProviderSpecialties.Count == 1) { SetPrimarySpecialty(providerSpecialty); } return providerSpecialty; }