diff --git a/src/WorkFlowCheck.MAUI/DataLayer/Entities/CheckPoint.cs b/src/WorkFlowCheck.MAUI/DataLayer/Entities/CheckPoint.cs index 9113329..b12f94f 100644 --- a/src/WorkFlowCheck.MAUI/DataLayer/Entities/CheckPoint.cs +++ b/src/WorkFlowCheck.MAUI/DataLayer/Entities/CheckPoint.cs @@ -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 CheckListTemplateRows { get; set; } = new List(); } diff --git a/src/WorkFlowCheck.MAUI/Mapper/MapperProfile.cs b/src/WorkFlowCheck.MAUI/Mapper/MapperProfile.cs index 9e54424..be452c4 100644 --- a/src/WorkFlowCheck.MAUI/Mapper/MapperProfile.cs +++ b/src/WorkFlowCheck.MAUI/Mapper/MapperProfile.cs @@ -20,7 +20,8 @@ namespace WorkFlowCheck.MAUI.Mapper .ForMember(dest => dest.CheckListTemplateRows, opt => opt.MapFrom(src => src.CheckListTemplateRowDTO)); CreateMap() .ForMember(dest => dest.CheckListTemplateRowDTO, opt => opt.MapFrom(src => src.CheckListTemplateRows)); - CreateMap(); + CreateMap() + .ForMember(dest => dest.CheckPointDTO, opt => opt.MapFrom(src => src.CheckPoint)); CreateMap(); CreateMap() diff --git a/src/WorkFlowCheck.MAUI/Services/SyncService.cs b/src/WorkFlowCheck.MAUI/Services/SyncService.cs index 95c2a64..4c4809e 100644 --- a/src/WorkFlowCheck.MAUI/Services/SyncService.cs +++ b/src/WorkFlowCheck.MAUI/Services/SyncService.cs @@ -20,13 +20,13 @@ namespace WorkFlowCheck.MAUI.Services public class SyncService : BaseService, ISyncService { private readonly IUserService _userService; - + public SyncService(HttpClient httpClient, IConfiguration configuration, AppDbContext dbContext, IMapper mapper, IUserService userService) : base(httpClient, configuration, dbContext, mapper) { _userService = userService; } - - + + public async Task SyncDatas(Action reportProgress) { await SyncCheckPoints_Down(reportProgress); @@ -66,7 +66,7 @@ namespace WorkFlowCheck.MAUI.Services using (var stream = await response.Content.ReadAsStreamAsync()) 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; @@ -145,8 +145,8 @@ namespace WorkFlowCheck.MAUI.Services try { await PrepareAuthenticatedRequestAsync(); - - var checkPointList = await _dbContext.CheckPoints.ToListAsync(); + + var checkPointList = await _dbContext.CheckPoints.ToListAsync(); var checkPointListDTO = _mapper.Map>(checkPointList); var endpoint = $"{_httpClient.BaseAddress}api/Sync/UpdateAllCheckPoint"; @@ -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(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> 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(); try @@ -398,7 +404,7 @@ namespace WorkFlowCheck.MAUI.Services } catch (Exception ex) { - + } return retVal; }