From 1e9fdf7ea530602f78f6b86c1965259dd8a0ce6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Szab=C3=B3?= Date: Mon, 3 Mar 2025 17:03:41 +0100 Subject: [PATCH] =?UTF-8?q?M=C3=A9g=20csak=20l=C3=A9p=C3=A9sek=20vannak=20?= =?UTF-8?q?...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/Security/LoginPage.xaml.cs | 2 +- .../Services/CheckListService.cs | 44 +++++++++++++++---- .../Services/Interfaces/ICheckListService.cs | 2 +- .../Services/Interfaces/IUserService.cs | 3 +- .../Services/UserService.cs | 4 +- 5 files changed, 43 insertions(+), 12 deletions(-) diff --git a/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs b/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs index 3e4528c..53a535c 100644 --- a/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs +++ b/src/WorkFlowCheck.MAUI/Pages/Security/LoginPage.xaml.cs @@ -23,7 +23,7 @@ public partial class LoginPage : ContentPage if (response != null && response.IsSuccess) { - _userService.SetUser(response.Data); + _userService.SetCurrentUser(response.Data); var wFCUser = Newtonsoft.Json.JsonConvert.SerializeObject(response.Data); await SecureStorage.Default.SetAsync("WFCUser", "wFCUser"); diff --git a/src/WorkFlowCheck.MAUI/Services/CheckListService.cs b/src/WorkFlowCheck.MAUI/Services/CheckListService.cs index 302b88d..29ee541 100644 --- a/src/WorkFlowCheck.MAUI/Services/CheckListService.cs +++ b/src/WorkFlowCheck.MAUI/Services/CheckListService.cs @@ -1,10 +1,7 @@ using AutoMapper; using Microsoft.Extensions.Configuration; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using Newtonsoft.Json; +using System.Net.Http.Json; using WorkFlowCheck.Common.DTO; using WorkFlowCheck.MAUI.DataLayer; using WorkFlowCheck.MAUI.Services.Interfaces; @@ -14,14 +11,45 @@ namespace WorkFlowCheck.MAUI.Services public class CheckListService : BaseService, ICheckListService { private readonly IUserService _userService; - public CheckListService(HttpClient httpClient, IConfiguration configuration, AppDbContext dbContext, IMapper mapper, IUserService userService ) : base(httpClient, configuration, dbContext, mapper) + public CheckListService(HttpClient httpClient, IConfiguration configuration, AppDbContext dbContext, IMapper mapper, IUserService userService) : base(httpClient, configuration, dbContext, mapper) { _userService = userService; } - public async Task StartNew(UserDTO userDTO) + public async Task> StartNew(CheckListTemplateHeaderDTO checkListTemplateHeaderDTO) { - + try + { + // Az API végpont meghatározása + string endpoint = $"{_httpClient.BaseAddress}api/checklist/startnew"; + + // HTTP POST kérés küldése + ApiRequestDTO request = new ApiRequestDTO(); + request.UserDTO = _userService.GetCurrentUser(); + request.Data = checkListTemplateHeaderDTO; + + + using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, request)) + { + 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 + }; + } } } } diff --git a/src/WorkFlowCheck.MAUI/Services/Interfaces/ICheckListService.cs b/src/WorkFlowCheck.MAUI/Services/Interfaces/ICheckListService.cs index db881a5..2752c84 100644 --- a/src/WorkFlowCheck.MAUI/Services/Interfaces/ICheckListService.cs +++ b/src/WorkFlowCheck.MAUI/Services/Interfaces/ICheckListService.cs @@ -9,6 +9,6 @@ namespace WorkFlowCheck.MAUI.Services.Interfaces { public interface ICheckListService { - Task StartNew(); + Task> StartNew(CheckListTemplateHeaderDTO checkListTemplateHeaderDTO); } } diff --git a/src/WorkFlowCheck.MAUI/Services/Interfaces/IUserService.cs b/src/WorkFlowCheck.MAUI/Services/Interfaces/IUserService.cs index 9f1759c..b9a5aee 100644 --- a/src/WorkFlowCheck.MAUI/Services/Interfaces/IUserService.cs +++ b/src/WorkFlowCheck.MAUI/Services/Interfaces/IUserService.cs @@ -9,8 +9,9 @@ namespace WorkFlowCheck.MAUI.Services.Interfaces { public interface IUserService { + UserDTO? GetCurrentUser(); Task> GetUserAsync(); Task> Authenticate(string username, string password); - void SetUser(UserDTO user); + void SetCurrentUser(UserDTO user); } } diff --git a/src/WorkFlowCheck.MAUI/Services/UserService.cs b/src/WorkFlowCheck.MAUI/Services/UserService.cs index bcc6adb..d89f404 100644 --- a/src/WorkFlowCheck.MAUI/Services/UserService.cs +++ b/src/WorkFlowCheck.MAUI/Services/UserService.cs @@ -87,9 +87,11 @@ namespace WorkFlowCheck.MAUI.Services }; } } - public void SetUser(UserDTO user) + public void SetCurrentUser(UserDTO user) { CurrentUser = user; } + + public UserDTO? GetCurrentUser() => CurrentUser; } }