Exemple #1
0
        private void SaveProvider(CoolTextBox providerEntryControl, Func <Provider, bool> providerTypeSelectorExpression, bool pcp, bool refPhys)
        {
            //always do this
            ProviderList providersForThisAppt = this._patient.Providers;

            providersForThisAppt.RemoveAll(providerTypeSelectorExpression);

            //break out if they set it empty
            string providerName = providerEntryControl.Text;
            int?   providerId   = (int?)providerEntryControl.Value;

            if (string.IsNullOrEmpty(providerName))
            {
                return;
            }

            Provider selectedProvider;

            if (providerId.HasValue)
            {
                selectedProvider = _allProviders.Single(provider => provider.providerID == providerId);
            }
            else
            {
                //if it's a new provider, instantiate it
                selectedProvider = new Provider
                {
                    displayName = providerName
                };

                this._allProviders.AddToList(selectedProvider, new HraModelChangedEventArgs(null));
            }

            selectedProvider.PCP     = pcp;
            selectedProvider.refPhys = refPhys;

            //add to patient record
            this._patient.Providers.Add(selectedProvider);
            this._patient.Providers.PersistFullList(new HraModelChangedEventArgs(this));
        }