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.ListingType GetListingTypeByListingTypeGuid(Guid listingTypeGuid) { try { BL.ListingTypeLogic listingTypeLogic = new BL.ListingTypeLogic(); BE.ListingType entity = listingTypeLogic.GetListingTypeByListingTypeGuid(listingTypeGuid); DC.ListingType response = entity.ToDataContract(); return response; } catch (BE.ListingTypeNotFoundException ex) { FC.ListingTypeFault fault = new FC.ListingTypeFault(); fault.ListingTypeGuid = ex.ListingTypeGuid; fault.ErrorMessage = "ListingType does not exsist in the database."; throw new FaultException<FC.ListingTypeFault>(fault, new FaultReason(ex.Message)); } catch (Exception ex) { FC.ListingTypeFault fault = new FC.ListingTypeFault(); fault.ErrorMessage = "Could not retrieve a specific ListingType for unknown reasons."; throw new FaultException<FC.ListingTypeFault>(fault, new FaultReason(ex.Message)); } }