コード例 #1
0
ファイル: FacilityCollection.cs プロジェクト: DEFRA/prsd-iws
        public Facility AddFacility(Business business, Address address, Contact contact)
        {
            var facility = new Facility(business, address, contact);

            FacilitiesCollection.Add(facility);
            return(facility);
        }
コード例 #2
0
ファイル: FacilityCollection.cs プロジェクト: DEFRA/prsd-iws
        public Facility GetFacility(Guid facilityId)
        {
            var facility = FacilitiesCollection.SingleOrDefault(p => p.Id == facilityId);

            if (facility == null)
            {
                throw new InvalidOperationException(
                          string.Format("Facility with id {0} does not exist on this notification {1}", facilityId, NotificationId));
            }
            return(facility);
        }
コード例 #3
0
ファイル: FacilityCollection.cs プロジェクト: DEFRA/prsd-iws
        public void RemoveFacility(Guid facilityId)
        {
            var facility = GetFacility(facilityId);

            if (facility.IsActualSiteOfTreatment && FacilitiesCollection.Count > 1)
            {
                throw new InvalidOperationException(string.Format("Cannot remove facility with id {0} for notification {1} without making another facility as actual site of treatment",
                                                                  facilityId, NotificationId));
            }

            FacilitiesCollection.Remove(facility);
        }
コード例 #4
0
ファイル: FacilityCollection.cs プロジェクト: DEFRA/prsd-iws
        public void SetFacilityAsSiteOfTreatment(Guid facilityId)
        {
            if (FacilitiesCollection.All(p => p.Id != facilityId))
            {
                throw new InvalidOperationException(
                          string.Format("Unable to make facility with id {0} the site of treatment on this notification {1}", facilityId, NotificationId));
            }

            foreach (var facility in FacilitiesCollection)
            {
                facility.IsActualSiteOfTreatment = facility.Id == facilityId;
            }
        }