JsonSerialize javítása

This commit is contained in:
2025-04-08 21:05:12 +02:00
parent 7720f4944a
commit a201e2028e
3 changed files with 18 additions and 10 deletions
@@ -11,6 +11,7 @@ namespace WorkFlowCheck.MAUI.DataLayer.Entities
public int Id { get; set; } public int Id { get; set; }
public string ShortName { get; set; } = null!; public string ShortName { get; set; } = null!;
public string Code { get; set; } = null!; public string Code { get; set; } = null!;
public bool IsEnabled { get; set; }
public virtual ICollection<CheckListTemplateRow> CheckListTemplateRows { get; set; } = new List<CheckListTemplateRow>(); public virtual ICollection<CheckListTemplateRow> CheckListTemplateRows { get; set; } = new List<CheckListTemplateRow>();
} }
@@ -20,7 +20,8 @@ namespace WorkFlowCheck.MAUI.Mapper
.ForMember(dest => dest.CheckListTemplateRows, opt => opt.MapFrom(src => src.CheckListTemplateRowDTO)); .ForMember(dest => dest.CheckListTemplateRows, opt => opt.MapFrom(src => src.CheckListTemplateRowDTO));
CreateMap<CheckListTemplateHeader, CheckListTemplateHeaderDTO>() CreateMap<CheckListTemplateHeader, CheckListTemplateHeaderDTO>()
.ForMember(dest => dest.CheckListTemplateRowDTO, opt => opt.MapFrom(src => src.CheckListTemplateRows)); .ForMember(dest => dest.CheckListTemplateRowDTO, opt => opt.MapFrom(src => src.CheckListTemplateRows));
CreateMap<CheckListTemplateRow, CheckListTemplateRowDTO>(); CreateMap<CheckListTemplateRow, CheckListTemplateRowDTO>()
.ForMember(dest => dest.CheckPointDTO, opt => opt.MapFrom(src => src.CheckPoint));
CreateMap<CheckListTemplateRowDTO, CheckListTemplateRow>(); CreateMap<CheckListTemplateRowDTO, CheckListTemplateRow>();
CreateMap<CheckListHeader, CheckListHeaderDTO>() CreateMap<CheckListHeader, CheckListHeaderDTO>()
+15 -9
View File
@@ -20,13 +20,13 @@ namespace WorkFlowCheck.MAUI.Services
public class SyncService : BaseService, ISyncService public class SyncService : BaseService, ISyncService
{ {
private readonly IUserService _userService; private readonly IUserService _userService;
public SyncService(HttpClient httpClient, IConfiguration configuration, AppDbContext dbContext, IMapper mapper, IUserService userService) : base(httpClient, configuration, dbContext, mapper) public SyncService(HttpClient httpClient, IConfiguration configuration, AppDbContext dbContext, IMapper mapper, IUserService userService) : base(httpClient, configuration, dbContext, mapper)
{ {
_userService = userService; _userService = userService;
} }
public async Task SyncDatas(Action<double, string> reportProgress) public async Task SyncDatas(Action<double, string> reportProgress)
{ {
await SyncCheckPoints_Down(reportProgress); await SyncCheckPoints_Down(reportProgress);
@@ -66,7 +66,7 @@ namespace WorkFlowCheck.MAUI.Services
using (var stream = await response.Content.ReadAsStreamAsync()) using (var stream = await response.Content.ReadAsStreamAsync())
using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None))
{ {
byte[] buffer = new byte[1024 * 1024] byte[] buffer = new byte[1024 * 1024]
; ;
int bytesRead; int bytesRead;
@@ -145,8 +145,8 @@ namespace WorkFlowCheck.MAUI.Services
try try
{ {
await PrepareAuthenticatedRequestAsync(); await PrepareAuthenticatedRequestAsync();
var checkPointList = await _dbContext.CheckPoints.ToListAsync(); var checkPointList = await _dbContext.CheckPoints.ToListAsync();
var checkPointListDTO = _mapper.Map<List<CheckPointDTO>>(checkPointList); var checkPointListDTO = _mapper.Map<List<CheckPointDTO>>(checkPointList);
var endpoint = $"{_httpClient.BaseAddress}api/Sync/UpdateAllCheckPoint"; var endpoint = $"{_httpClient.BaseAddress}api/Sync/UpdateAllCheckPoint";
@@ -306,13 +306,19 @@ namespace WorkFlowCheck.MAUI.Services
var checkListHeader = await _dbContext.CheckListHeaders var checkListHeader = await _dbContext.CheckListHeaders
.Where(w => w.Id == Id) .Where(w => w.Id == Id)
.Include(i => i.CheckListRows) .Include(i => i.CheckListRows)
.ThenInclude(i => i.CheckListTemplateRow)
.ThenInclude(i => i.CheckPoint)
.AsNoTracking() .AsNoTracking()
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
var checkListHeaderDTO = _mapper.Map<CheckListHeaderDTO>(checkListHeader); var checkListHeaderDTO = _mapper.Map<CheckListHeaderDTO>(checkListHeader);
var endpoint = $"{_httpClient.BaseAddress}api/Sync/SendCheckListHeader"; var endpoint = $"{_httpClient.BaseAddress}api/Sync/SendCheckListHeader";
var json = JsonConvert.SerializeObject(checkListHeaderDTO); var json = JsonConvert.SerializeObject(checkListHeaderDTO,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
var jsonBytes = Encoding.UTF8.GetBytes(json); var jsonBytes = Encoding.UTF8.GetBytes(json);
var jsonStream = new MemoryStream(jsonBytes); var jsonStream = new MemoryStream(jsonBytes);
@@ -382,7 +388,7 @@ namespace WorkFlowCheck.MAUI.Services
public async Task<List<DeviceMessageDTO>> DeviceMessageReadUnreaded(string deviceId) public async Task<List<DeviceMessageDTO>> DeviceMessageReadUnreaded(string deviceId)
{ {
var deviceIdBase64= Base64UrlEncoder.Encode(Encoding.UTF8.GetBytes(deviceId)); var deviceIdBase64 = Base64UrlEncoder.Encode(Encoding.UTF8.GetBytes(deviceId));
string endpoint = $"{_httpClient.BaseAddress}api/Sync/DeviceMessageReadUnreaded/{deviceIdBase64}"; string endpoint = $"{_httpClient.BaseAddress}api/Sync/DeviceMessageReadUnreaded/{deviceIdBase64}";
var retVal = new List<DeviceMessageDTO>(); var retVal = new List<DeviceMessageDTO>();
try try
@@ -398,7 +404,7 @@ namespace WorkFlowCheck.MAUI.Services
} }
catch (Exception ex) catch (Exception ex)
{ {
} }
return retVal; return retVal;
} }