Login, NFCWaiter

This commit is contained in:
2025-03-24 14:02:25 +01:00
parent d55dee91e9
commit ebe33abf69
11 changed files with 308 additions and 62 deletions
+50 -3
View File
@@ -1,6 +1,7 @@
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System.Net.Http.Json;
using WorkFlowCheck.Common.DTO;
using WorkFlowCheck.MAUI.DataLayer;
@@ -19,13 +20,13 @@ namespace WorkFlowCheck.MAUI.Services
}
public async Task SyncDatas()
{
await SyncCheckPoints();
await SyncCheckPointsDown();
await SyncLocations();
await SyncEquipments();
await SyncCheckListTemplates();
await SyncCheckList();
}
public async Task SyncCheckPoints()
public async Task SyncCheckPointsDown()
{
try
{
@@ -55,6 +56,52 @@ namespace WorkFlowCheck.MAUI.Services
}
}
public async Task SyncCheckPointsUp()
{
try
{
await PrepareAuthenticatedRequestAsync();
// Az API végpont meghatározása
string endpoint = $"{_httpClient.BaseAddress}api/Sync/GetAllCheckPoints";
// HTTP GET kérés küldése
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<CheckPointDTO>>>(endpoint);
if (response != null)
{
if (response.IsSuccess)
{
var entityList = await _dbContext.CheckPoints.ToListAsync();
var missingItems = response.Data.Where(f => !entityList.Any(s => s.Id == f.Id & s.Code == f.Code)).ToList();
var checkPointListDTO = _mapper.Map<List<CheckPointDTO>>(missingItems);
foreach (var item in checkPointListDTO)
{
var entity = await _dbContext.CheckPoints.Where(w => w.Id == item.Id).FirstOrDefaultAsync();
if (entity != null)
{
item.ShortName = entity.ShortName;
item.Code = entity.Code;
}
}
endpoint = $"{_httpClient.BaseAddress}api/Sync/UpdateAllCheckPoint";
using (HttpResponseMessage httpResponseMessage = await _httpClient.PostAsJsonAsync(endpoint, checkPointListDTO))
{
httpResponseMessage.EnsureSuccessStatusCode();
var jsonString = await httpResponseMessage.Content.ReadAsStringAsync();
response = JsonConvert.DeserializeObject<ApiResponseDTO<List<CheckPointDTO>>>(jsonString);
}
}
}
}
catch (Exception ex)
{
// Hiba visszaadása
}
}
public async Task SyncLocations()
{
try
@@ -160,7 +207,7 @@ namespace WorkFlowCheck.MAUI.Services
string endpoint = $"{_httpClient.BaseAddress}api/Sync/GetAllCheckListHeader/{userId}";
// HTTP GET kérés küldése
var response = await _httpClient.GetFromJsonAsync<ApiResponseDTO<List<CheckListHeaderDTO>>>(endpoint);
if (response != null)
{