private ListingViewModelEdit SaveListing(ListingViewModelEdit listing, bool insert) { // try to find first city record and if not found insert new CityStateZipLogic cszLogic = new CityStateZipLogic(); CityStateZip csz = cszLogic.GetCityStateZipByCityStateZipGuid(listing.CityStateZipGuid); csz = new CityStateZip(listing.CityStateZipGuid, listing.City, listing.State, listing.ZipCode); csz = cszLogic.InsertCityStateZip(csz); listing.CityStateZipGuid = csz.CityStateZipGuid; //price ListingTypeLogic listingTypeLogic = new ListingTypeLogic(); ListingType listingType = listingTypeLogic.GetListingTypeByListingTypeGuid(listing.ListingTypeGuid); Facility facility = listing.ToFacility(); FacilityLogic facilityLogic = new FacilityLogic(); if (insert) { //Add Facility Price from listing list facility.Price = listingType.ListingTypePrice; facility = facilityLogic.InsertFacility(facility); listing.FacilityGuid = facility.FacilityGuid; listing.FacilityID = facility.FacilityID; //// add facilityguid to photos listing.FacilityPhotos.ToList().ForEach(ff => ff.FacilityGuid = listing.FacilityGuid); } else { facility.FacilityGuid = listing.FacilityGuid; // if listing type change then price from listing list Facility oldfacility = facilityLogic.GetFacilityByFacilityGuid(listing.FacilityGuid); if (oldfacility.ListingTypeGuid != facility.ListingTypeGuid) facility.Price = listingType.ListingTypePrice; else facility.Price = oldfacility.Price; facilityLogic.UpdateFacility(facility); } this.SaveTypesOfCare(listing); this.SaveListingPhotos(listing.FacilityPhotos.ToList()); return listing; }
public void UpdateFacility(DC.Facility request) { try { BL.FacilityLogic facilityLogic = new BL.FacilityLogic(); BE.Facility entity = request.ToBusinessEntity(); facilityLogic.UpdateFacility(entity); } catch (BE.FacilityNotFoundException ex) { FC.DefaultFaultContract fault = new FC.DefaultFaultContract(); fault.ErrorMessage = String.Format( "Unable to update Facility data. Data: {0}", request.ToBusinessEntity().ToString()); throw new FaultException<FC.DefaultFaultContract>(fault, new FaultReason(ex.Message)); } }