public IActionResult CreatePartnership(PartnershipViewModel partnershipViewModel)
        {
            if (ModelState.IsValid)
            {
                string   userId   = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                Provider provider = _repo.Provider.GetProviderByUserId(userId);
                ManagedCareOrganization managedCareOrganization = _repo.ManagedCareOrganization.GetAllManagedCareOrganizations().Where(m => m.Id == partnershipViewModel.ManagedCareOrganizationSelectionId).FirstOrDefault();
                managedCareOrganization.Address = _repo.Address.GetAddressById(managedCareOrganization.AddressId.Value);
                try
                {
                    _repo.Partnership.CreatePartnership(provider, managedCareOrganization);
                    _repo.Save();

                    return(RedirectToAction(nameof(DisplayPartnerships)));
                }
                catch
                {
                    return(View());
                }
            }
            else
            {
                //if we got this far, something went wrong
                return(View());
            }
        }
        public void CreatePartnership(Provider provider, ManagedCareOrganization managedCareOrganization)
        {
            Partnership partnership = new Partnership();

            partnership.ProviderId = provider.Id;
            partnership.ManagedCareOrganizationId = managedCareOrganization.Id;
            Create(partnership);
        }
        public IActionResult EditPartnership(PartnershipViewModel partnershipViewModel)
        {
            string userId     = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            int    providerId = _repo.Provider.GetProviderByUserId(userId).Id;
            ManagedCareOrganization managedCareOrganization = _repo.ManagedCareOrganization.GetAllManagedCareOrganizations().Where(m => m.Id == partnershipViewModel.ManagedCareOrganizationSelectionId).FirstOrDefault();
            Partnership             partnership             = new Partnership()
            {
                Id         = partnershipViewModel.PartnershipId,
                ProviderId = providerId,
                Provider   = _repo.Provider.GetProvider(providerId),
                ManagedCareOrganizationId = managedCareOrganization.Id,
                ManagedCareOrganization   = managedCareOrganization
            };

            _repo.Partnership.Update(partnership);
            _repo.Save();
            return(RedirectToAction(nameof(DisplayPartnerships)));
        }