Esempio n. 1
0
        public bool Delete(Guid facilityGuid, string email)
        {
            bool success = false;
            FacilityLogic facilityLogic = new FacilityLogic();
            BE.Facility facility = facilityLogic.GetFacilityByFacilityGuid(facilityGuid);
            ClientLogic clientLogic = new ClientLogic();
            BE.Client client = clientLogic.GetClientByClientGuid(facility.ClientGuid);
            if (client.Email == email)
            {
                // to delete facility first delete related records in FacilityPhoto and FacilityOffering
                // !!! in the existing business model transaction scope is hard to implement !!!
                FacilityOfferingLogic facilityOfferingLogic = new FacilityOfferingLogic();
                FacilityPhotoLogic facilityPhotoLogic = new FacilityPhotoLogic();
                OfferingLogic offeringLogic = new OfferingLogic();
                // delete related offerings
                var facilityOfferings = offeringLogic.GetOfferingsForFacility(facilityGuid);
                if (facilityOfferings.Count > 0)
                {
                    facilityOfferings.ForEach(fo =>
                    {
                        facilityOfferingLogic.DeleteFacilityOffering(
                            new BE.FacilityOffering { FacilityGuid = facilityGuid, OfferingGuid = fo.OfferingGuid }
                        );
                    });
                }
                // delete related photos
                var facilityPhotos = facilityPhotoLogic.GetFacilityPhotosForFacilityByFacilityGuid(facilityGuid);
                if (facilityPhotos.Count > 0)
                {
                    facilityPhotos.ForEach(fp => facilityPhotoLogic.DeleteFacilityPhoto(fp));
                }

                facilityLogic.DeleteFacility(facility);
                success = true;
            }

            return success;
        }
Esempio n. 2
0
 protected void AddTypesOfCareToListing(ListingViewModelEdit listing)
 {
     var ologic = new OfferingLogic();
     var offerings = this.OfferingsAll;
     var offeringsForThisFacility = ologic.GetOfferingsForFacility(listing.FacilityGuid);
     var typesofcare = new List<TypeOfCareViewModel>();
     offerings.ToList().ForEach(o =>
     {
         var checkd = offeringsForThisFacility.FirstOrDefault(otf => otf.OfferingGuid == o.OfferingGuid) != null;
         typesofcare.Add(o.ToTypeOfCare(checkd));
     });
     listing.TypeOfCareList = typesofcare;
 }
Esempio n. 3
0
 public List<DC.Offering> GetOfferingsForFacility(Guid facilityGuid)
 {
     try
     {
         BL.OfferingLogic offeringLogic = new BL.OfferingLogic();
         List<BE.Offering> offerings = offeringLogic.GetOfferingsForFacility(facilityGuid);
         List<DC.Offering> response = offerings.ToDataContractList();
         return response;
     }
     catch (BE.FacilityNotFoundException)
     {
         FC.FacilityFault fault = new FC.FacilityFault();
         fault.FacilityGuid = facilityGuid;
         fault.ErrorMessage = String.Format("Unable to find offerings for facility '{0}'.",
             facilityGuid);
         throw new FaultException<FC.FacilityFault>(fault,
             new FaultReason("Facility does not exist in database."));
     }
     catch (Exception ex)
     {
         FC.FacilityFault fault = new FC.FacilityFault();
         fault.FacilityGuid = facilityGuid;
         fault.ErrorMessage = String.Format("Unable to find offerings for facility '{0}'.",
             facilityGuid);
         throw new FaultException<FC.FacilityFault>(fault,
             new FaultReason(ex.Message));
     }
 }