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 string ShortName { get; set; } = null!;
public string Code { get; set; } = null!;
public bool IsEnabled { get; set; }
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));
CreateMap<CheckListTemplateHeader, CheckListTemplateHeaderDTO>()
.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<CheckListHeader, CheckListHeaderDTO>()
@@ -306,13 +306,19 @@ namespace WorkFlowCheck.MAUI.Services
var checkListHeader = await _dbContext.CheckListHeaders
.Where(w => w.Id == Id)
.Include(i => i.CheckListRows)
.ThenInclude(i => i.CheckListTemplateRow)
.ThenInclude(i => i.CheckPoint)
.AsNoTracking()
.FirstOrDefaultAsync();
var checkListHeaderDTO = _mapper.Map<CheckListHeaderDTO>(checkListHeader);
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 jsonStream = new MemoryStream(jsonBytes);
@@ -382,7 +388,7 @@ namespace WorkFlowCheck.MAUI.Services
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}";
var retVal = new List<DeviceMessageDTO>();
try