From 17f8a8f76055c16e9e0ff708cd0d5b52e9b3415b Mon Sep 17 00:00:00 2001 From: wozniak Date: Sun, 22 Mar 2026 23:27:16 +0100 Subject: [PATCH] finishing edit form --- CityInfo.API/CityInfo.db-shm | Bin 32768 -> 32768 bytes CityInfo.API/CityInfo.db-wal | Bin 0 -> 8272 bytes CityInfo.WEB/Pages/PointOfInterestEdit.razor | 57 +++++++++++------- .../Pages/PointOfInterestEdit.razor.cs | 27 +++++++++ .../Services/PointOfInterestDataService.cs | 13 +++- 5 files changed, 72 insertions(+), 25 deletions(-) diff --git a/CityInfo.API/CityInfo.db-shm b/CityInfo.API/CityInfo.db-shm index fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10..986aa7c1a494330ff390fc35a7bbbd334b555a22 100644 GIT binary patch delta 161 zcmZo@U}|V!s+V}A%K!q55G=q1q&a~2A;a{|dTyWp#7^zdti1CgYs-^^!r@bXG?A(v iXcQQL%>9o9pu&7$i$NTA5Z>6B8p6!Tz_hWETN?n}voFX1 delta 89 zcmZo@U}|V!;+1%$%K!t66DLZGTChv7nNGgVi7uf4lYpuIj|MhQObpq$KwTRE!4e-6ae7aJ8w0}-C2o+;0qEYcsbN2MH=sp7$S)TjA#>Zvit6KlHHkQX7n?`fY=0oij9I`Z>flHqJfB&V3FbtEIZ6FZ{GW+d&^Jb=VIy8B_S?|Fm_(O zSe$gIx#j+ zuQ|x29ij73R1T}6yVr=tLNr@hRl_0Xux%!2>phrQQ;jkY${I~ayjKZ=51T*>lp72( zS(K0>Y)b1opk+ZB%3(+a^+;)?$y(*S93%V+-hFf?7Aw&#>S<4bN*JK_0pPxuUKw2r zX@<~4I!zhk6S{#c%n+nXssnVk!+`MsX$$4X^;P$63v9hGXb3+eE9+cvyO397>QfK5Sb+;ci#KN38u6|3} z{ZM&fsOGV9^t>rlc9)*Fq^%Gmpghn=8%Ni>Q1Bmpfwu?Z - - -
- + @if (ReturnData) + { + +
@ReturnMessage
+
+ } else + { + + +
+ -
- - - - - +
+ + + + + +
-
-
- -
- - - - - +
+ +
+ + + + + +
-
- - - +
+ Annuler + +
+ + + } } \ No newline at end of file diff --git a/CityInfo.WEB/Pages/PointOfInterestEdit.razor.cs b/CityInfo.WEB/Pages/PointOfInterestEdit.razor.cs index 10b7dd9..d61f680 100644 --- a/CityInfo.WEB/Pages/PointOfInterestEdit.razor.cs +++ b/CityInfo.WEB/Pages/PointOfInterestEdit.razor.cs @@ -17,6 +17,10 @@ namespace CityInfo.WEB.Pages [Parameter] public int PointOfInterestId { get; set; } public PointOfInterest? PointOfInterest { get; set; } + + public bool ReturnData { get; set; } = false; + public string StatusClass { get; set; } = string.Empty; + public string ReturnMessage { get; set; } = string.Empty; protected async override Task OnInitializedAsync() { PointOfInterest = await PointOfInterestDataService.GetPointOfInterest(CityId, PointOfInterestId); @@ -28,10 +32,33 @@ namespace CityInfo.WEB.Pages } private async Task HandleValidSubmit() { + if(PointOfInterest != null) + { + var isAdded = await PointOfInterestDataService.UpdatePointOfInterest(CityId, PointOfInterest); + if (isAdded) + { + ReturnData = true; + ReturnMessage = "Le point d'intérer à été mis à jour."; + StatusClass = "alert-success"; + } else + { + ReturnData = true; + ReturnMessage = "Une erreur est survenue lors de la mise à jour du point d'intéret."; + StatusClass = "alert-danger"; + } + } else + { + ReturnData = true; + ReturnMessage = "Une erreur est arrivée avec les données entrées"; + StatusClass = "alert-danger"; + } } private async Task HandleInvalidSubmit() { + ReturnData = true; + ReturnMessage = "Les données entrées sont incorrectes."; + StatusClass = "alert-danger"; } } diff --git a/CityInfo.WEB/Services/PointOfInterestDataService.cs b/CityInfo.WEB/Services/PointOfInterestDataService.cs index 0eda2ae..76a6bf9 100644 --- a/CityInfo.WEB/Services/PointOfInterestDataService.cs +++ b/CityInfo.WEB/Services/PointOfInterestDataService.cs @@ -66,9 +66,18 @@ namespace CityInfo.WEB.Services } } - public Task UpdatePointOfInterest(int cityId, PointOfInterest pointOfInterest) + public async Task UpdatePointOfInterest(int cityId, PointOfInterest pointOfInterest) { - throw new NotImplementedException(); + try + { + var response = await _httpClient.PutAsJsonAsync($"/api/cities/{cityId}/pointsofinterest/{pointOfInterest.Id}", pointOfInterest); + return response.IsSuccessStatusCode; + } + catch (Exception ex) + { + _logger.LogError(ex, $"Erreur lors de la mise à jour du point d'intéret {pointOfInterest.Id}", pointOfInterest.Id); + return false; + } } } }