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 DC.CityStateZip GetCityStateZipByCityStateZipGuid(Guid cityStateZipGuid) { try { BL.CityStateZipLogic cityStateZipLogic = new BL.CityStateZipLogic(); BE.CityStateZip entity = cityStateZipLogic.GetCityStateZipByCityStateZipGuid(cityStateZipGuid); DC.CityStateZip response = entity.ToDataContract(); return response; } catch (BE.CityStateZipNotFoundException ex) { FC.CityStateZipFault fault = new FC.CityStateZipFault(); fault.CityStateZipGuid = ex.CityStateZipGuid; fault.ErrorMessage = "CityStateZip does not exsist in the database."; throw new FaultException<FC.CityStateZipFault>(fault, new FaultReason(ex.Message)); } catch (Exception ex) { FC.CityStateZipFault fault = new FC.CityStateZipFault(); fault.ErrorMessage = "Could not retrieve a specific CityStateZip for unknown reasons."; throw new FaultException<FC.CityStateZipFault>(fault, new FaultReason(ex.Message)); } }