diff --git a/app/owner/properties/add/page.js b/app/owner/properties/add/page.js index fc408a0..abf5909 100644 --- a/app/owner/properties/add/page.js +++ b/app/owner/properties/add/page.js @@ -648,19 +648,19 @@ const handleMapClick = async (coords) => { const detailsJSON = JSON.stringify(details); const propInfo = { - CordsX: formData.lat ? String(formData.lat) : '', - CordsY: formData.lng ? String(formData.lng) : '', - Images: uploadedImagePaths, - Address: `${formData.city} - ${formData.district} - ${formData.address}`.trim(), - Description: formData.description || '', - NumberOfBathRooms: formData.bathrooms || 0, - NumberOfRooms: formData.bedrooms || 0, - NumberOfBedRooms: formData.bedrooms || 0, - Space: parseFloat(formData.space) || 0, - DetailsJSON: detailsJSON, - BuildingType: buildingTypeMap[formData.propertyType] ?? BuildingType.APARTMENT, - Status: 0, - PropertyType: formData.furnished ? RentPropertyCondition.WITH_FURNITURE : RentPropertyCondition.WITHOUT_FURNITURE, + cordsX: formData.lat ? String(formData.lat) : '', + cordsY: formData.lng ? String(formData.lng) : '', + images: uploadedImagePaths, + address: `${formData.city} - ${formData.district} - ${formData.address}`.trim(), + description: formData.description || '', + numberOfBathRooms: formData.bathrooms || 0, + numberOfRooms: formData.bedrooms || 0, + numberOfBedRooms: formData.bedrooms || 0, + space: parseFloat(formData.space) || 0, + detailsJSON, + buildingType: buildingTypeMap[formData.propertyType] ?? BuildingType.APARTMENT, + status: 0, + propertyType: formData.furnished ? RentPropertyCondition.WITH_FURNITURE : RentPropertyCondition.WITHOUT_FURNITURE, }; try { @@ -676,18 +676,20 @@ const handleMapClick = async (coords) => { toast.success('تم إضافة عقار للبيع بنجاح!'); } else { const rentTypeMap = { daily: RentType.DAILY, monthly: RentType.MONTHLY, both: RentType.MONTHLY }; - const rentBody = { - PropertyInformation: propInfo, - Deposit: parseFloat(formData.deposit) || 0, - MonthlyRent: parseFloat(formData.monthlyPrice) || 0, - DailyRent: parseFloat(formData.dailyPrice) || 0, - Rating: 1, - CurrencyId: selectedCurrencyId, - RentType: rentTypeMap[formData.offerType] ?? RentType.MONTHLY, - Type: formData.furnished ? RentPropertyType.FURNISHED : RentPropertyType.UNFURNISHED, - AllowedPaymentPeriod: '01:00:00:00', + const payload = { + propertyInformation: propInfo, + deposit: parseFloat(formData.deposit) || 0, + monthlyRent: parseFloat(formData.monthlyPrice) || 0, + dailyRent: parseFloat(formData.dailyPrice) || 0, + rating: 1, + currencyId: selectedCurrencyId, + rentType: rentTypeMap[formData.offerType] ?? RentType.MONTHLY, + type: formData.furnished ? RentPropertyType.FURNISHED : RentPropertyType.UNFURNISHED, + allowedPaymentPeriod: '', + isSmokeAllow: null, + specializedFor: null, + isVisitorAllow: null, }; - const payload = { rentPropertyDto: rentBody }; console.log('[AddProperty] Rent payload:', JSON.stringify(payload, null, 2)); const res = await addRentProperty(payload); console.log('[AddProperty] Rent API response:', res); diff --git a/app/owner/properties/page.js b/app/owner/properties/page.js index f71654a..65f4e1f 100644 --- a/app/owner/properties/page.js +++ b/app/owner/properties/page.js @@ -1270,47 +1270,49 @@ export default function OwnerPropertiesPage() { }; const detailsJSON = JSON.stringify(details); - const editBody = { - PropertyInformation: { - CordsX: raw.propertyInformation?.cordsX || "", - CordsY: raw.propertyInformation?.cordsY || "", - Address: + const payload = { + propertyInformation: { + cordsX: raw.propertyInformation?.cordsX || "", + cordsY: raw.propertyInformation?.cordsY || "", + address: updatedProperty.address || raw.propertyInformation?.address || "", - Description: + description: updatedProperty.description || raw.propertyInformation?.description || "", - NumberOfBathRooms: + numberOfBathRooms: updatedProperty.bathrooms || raw.propertyInformation?.numberOfBathRooms || 0, - NumberOfRooms: updatedProperty.bedrooms || 0, - NumberOfBedRooms: + numberOfRooms: updatedProperty.bedrooms || 0, + numberOfBedRooms: updatedProperty.bedrooms || raw.propertyInformation?.numberOfBedRooms || 0, - Space: + space: parseFloat(updatedProperty.area) || raw.propertyInformation?.space || 0, - DetailsJSON: detailsJSON, - BuildingType: buildingTypeMap[updatedProperty.propertyType] ?? 0, - Status: updatedProperty.status === "available" ? 0 : 1, - PropertyType: updatedProperty.furnished ? 0 : 1, - Images: raw.propertyInformation?.images || [], + detailsJSON, + buildingType: buildingTypeMap[updatedProperty.propertyType] ?? 0, + status: updatedProperty.status === "available" ? 0 : 1, + propertyType: updatedProperty.furnished ? 0 : 1, + images: raw.propertyInformation?.images || [], }, - Deposit: parseFloat(updatedProperty.deposit) || raw.deposit || 0, - MonthlyRent: + deposit: parseFloat(updatedProperty.deposit) || raw.deposit || 0, + monthlyRent: parseFloat(updatedProperty.monthlyPrice) || raw.monthlyRent || 0, - DailyRent: + dailyRent: parseFloat(updatedProperty.dailyPrice) || raw.dailyRent || 0, - Rating: 1, - CurrencyId: updatedProperty.currencyId || raw.currencyId || 1, - RentType: rentTypeMap[updatedProperty.rentType] ?? 0, - Type: updatedProperty.furnished ? 0 : 1, - AllowedPaymentPeriod: "01:00:00:00", + rating: 1, + currencyId: updatedProperty.currencyId || raw.currencyId || 1, + rentType: rentTypeMap[updatedProperty.rentType] ?? 0, + type: updatedProperty.furnished ? 0 : 1, + allowedPaymentPeriod: "", + isSmokeAllow: null, + specializedFor: null, + isVisitorAllow: null, }; - const payload = { rentPropertyDto: editBody }; await editRentProperty(updatedProperty.id, payload); }