} // FetchStaffMembers ////////////////////// public IList<ReferralAgency> AddReferralAgency(Guid orgId, ReferralAgency agency) { agency.Id = Guid.NewGuid(); agency.Address.Id = Guid.NewGuid(); var pod = POD(orgId); if (pod.ReferralAgencies == null) pod.ReferralAgencies = new List<ReferralAgencyData>(); pod.ReferralAgencies.Add(agency.referralAgencyData()); Commit(pod); return FetchReferralAgencies(orgId); } // AddReferralAgency
} // AddReferralAgency public IList<ReferralAgency> UpdateReferralAgency(Guid orgId, ReferralAgency agency) { var pod = POD(orgId); if (pod.ReferralAgencies == null) throw new Exception("Organisation has no referral agencies"); var currentAgency = pod.ReferralAgencies.Find(p => p.Id == agency.Id); if (currentAgency == null) throw new Exception("Referral Agency does not belong to the organisation"); currentAgency.CopyFrom(agency.referralAgencyData()); Commit(currentAgency); return FetchReferralAgencies(orgId); } // UpdateProject