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; }
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; }
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)); } }