From 1f4fce1e4265a3a79e94132ba025594fe6fd37e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Szab=C3=B3?= Date: Thu, 15 May 2025 14:45:00 +0200 Subject: [PATCH] X --- .../Pages/Security/LoginPage.xaml.cs | 9 +++-- .../Services/Interfaces/ISyncService.cs | 2 ++ .../Services/SyncService.cs | 35 +++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs b/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs index fce8fad..83f7bd5 100644 --- a/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs +++ b/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs @@ -175,11 +175,16 @@ public partial class LoginPage : BasePage { await CrossFirebaseCloudMessaging.Current.CheckIfValidAsync(); var token = await CrossFirebaseCloudMessaging.Current.GetTokenAsync(); - Console.WriteLine($"FCM token: {token}"); + + await _syncService.UploadFCMToken(token); } catch (Exception ex) { - Console.WriteLine("FCM init error: " + ex.Message); + await SystemHelper.ShowSnackBar("FCM üzenetküldő inicializálása SIKERTELEN!", + SystemHelper.ColorToHex(Colors.Red), + SystemHelper.ColorToHex(Colors.Red), + SystemHelper.ColorToHex(Colors.Yellow), + 15); } } } \ No newline at end of file diff --git a/src/WorkFlowCheck.MAUI/Services/Interfaces/ISyncService.cs b/src/WorkFlowCheck.MAUI/Services/Interfaces/ISyncService.cs index 6c60610..c62d1c0 100644 --- a/src/WorkFlowCheck.MAUI/Services/Interfaces/ISyncService.cs +++ b/src/WorkFlowCheck.MAUI/Services/Interfaces/ISyncService.cs @@ -26,5 +26,7 @@ namespace WorkFlowCheck.MAUI.Services.Interfaces Task> SyncUsers_Up(Action reportProgress); Task SyncUsers_Down(Action reportProgress); + + Task UploadFCMToken(string token); } } diff --git a/src/WorkFlowCheck.MAUI/Services/SyncService.cs b/src/WorkFlowCheck.MAUI/Services/SyncService.cs index 4f417d0..0bbea58 100644 --- a/src/WorkFlowCheck.MAUI/Services/SyncService.cs +++ b/src/WorkFlowCheck.MAUI/Services/SyncService.cs @@ -512,5 +512,40 @@ namespace WorkFlowCheck.MAUI.Services } } + + public async Task> UploadFCMToken(string token) + { + var retVal = new ApiResponseDTO(); + try + { + string endpoint = $"{_httpClient.BaseAddress}api/fcm/SendFCMToken"; + + var FCMMessageDTO = new FCMMessageDTO() + { + Token = token, + UserId = _userService.GetCurrentUser()?.Id + }; + using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, FCMMessageDTO)) + { + httpResponseMessage.EnsureSuccessStatusCode(); + + var jsonString = await httpResponseMessage.Content.ReadAsStringAsync(); + var response = JsonConvert.DeserializeObject>(jsonString); + + return response ?? new ApiResponseDTO + { + IsSuccess = false, + }; + } + } + catch (Exception ex) + { + // Hiba visszaadása + return new ApiResponseDTO + { + IsSuccess = false + }; + } + } } }