Még csak lépések vannak ...

This commit is contained in:
2025-03-03 17:03:41 +01:00
parent 2ad8ba2d51
commit 1e9fdf7ea5
5 changed files with 43 additions and 12 deletions
@@ -23,7 +23,7 @@ public partial class LoginPage : ContentPage
if (response != null && response.IsSuccess) if (response != null && response.IsSuccess)
{ {
_userService.SetUser(response.Data); _userService.SetCurrentUser(response.Data);
var wFCUser = Newtonsoft.Json.JsonConvert.SerializeObject(response.Data); var wFCUser = Newtonsoft.Json.JsonConvert.SerializeObject(response.Data);
await SecureStorage.Default.SetAsync("WFCUser", "wFCUser"); await SecureStorage.Default.SetAsync("WFCUser", "wFCUser");
@@ -1,10 +1,7 @@
using AutoMapper; using AutoMapper;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using System; using Newtonsoft.Json;
using System.Collections.Generic; using System.Net.Http.Json;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WorkFlowCheck.Common.DTO; using WorkFlowCheck.Common.DTO;
using WorkFlowCheck.MAUI.DataLayer; using WorkFlowCheck.MAUI.DataLayer;
using WorkFlowCheck.MAUI.Services.Interfaces; using WorkFlowCheck.MAUI.Services.Interfaces;
@@ -14,14 +11,45 @@ namespace WorkFlowCheck.MAUI.Services
public class CheckListService : BaseService, ICheckListService public class CheckListService : BaseService, ICheckListService
{ {
private readonly IUserService _userService; 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; _userService = userService;
} }
public async Task StartNew(UserDTO userDTO) public async Task<ApiResponseDTO<CheckListHeaderDTO>> 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<CheckListTemplateHeaderDTO> request = new ApiRequestDTO<CheckListTemplateHeaderDTO>();
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<ApiResponseDTO<CheckListHeaderDTO>>(jsonString);
return response ?? new ApiResponseDTO<CheckListHeaderDTO>
{
IsSuccess = false,
};
}
}
catch (Exception ex)
{
// Hiba visszaadása
return new ApiResponseDTO<CheckListHeaderDTO>
{
IsSuccess = false
};
}
} }
} }
} }
@@ -9,6 +9,6 @@ namespace WorkFlowCheck.MAUI.Services.Interfaces
{ {
public interface ICheckListService public interface ICheckListService
{ {
Task<CheckListHeaderDTO> StartNew(); Task<ApiResponseDTO<CheckListHeaderDTO>> StartNew(CheckListTemplateHeaderDTO checkListTemplateHeaderDTO);
} }
} }
@@ -9,8 +9,9 @@ namespace WorkFlowCheck.MAUI.Services.Interfaces
{ {
public interface IUserService public interface IUserService
{ {
UserDTO? GetCurrentUser();
Task<ApiResponseDTO<UserDTO>> GetUserAsync(); Task<ApiResponseDTO<UserDTO>> GetUserAsync();
Task<ApiResponseDTO<UserDTO>> Authenticate(string username, string password); Task<ApiResponseDTO<UserDTO>> Authenticate(string username, string password);
void SetUser(UserDTO user); void SetCurrentUser(UserDTO user);
} }
} }
@@ -87,9 +87,11 @@ namespace WorkFlowCheck.MAUI.Services
}; };
} }
} }
public void SetUser(UserDTO user) public void SetCurrentUser(UserDTO user)
{ {
CurrentUser = user; CurrentUser = user;
} }
public UserDTO? GetCurrentUser() => CurrentUser;
} }
} }