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; } }