From b5e5158f1edc37fdd1b3dd1eb3e36ef67f545b69 Mon Sep 17 00:00:00 2001 From: ivanszabo Date: Thu, 6 Feb 2025 14:02:18 +0100 Subject: [PATCH] SyncController API --- .../Controllers/SyncController.cs | 41 ++++++++++++ src/WorkFlowCheck.BL/Infra/DIConfig.cs | 1 + .../Mappings/MapperProfile.cs | 2 + .../Services/Interfaces/ISyncService.cs | 10 +++ src/WorkFlowCheck.BL/Services/SyncService.cs | 62 +++++++++++++++++++ src/WorkFlowCheck.Common/DTO/CheckPointDTO.cs | 10 +++ .../DTO/CheckPointListDTO.cs | 9 +++ 7 files changed, 135 insertions(+) create mode 100644 src/WorkFlowCheck.API/Controllers/SyncController.cs create mode 100644 src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs create mode 100644 src/WorkFlowCheck.BL/Services/SyncService.cs create mode 100644 src/WorkFlowCheck.Common/DTO/CheckPointDTO.cs create mode 100644 src/WorkFlowCheck.Common/DTO/CheckPointListDTO.cs diff --git a/src/WorkFlowCheck.API/Controllers/SyncController.cs b/src/WorkFlowCheck.API/Controllers/SyncController.cs new file mode 100644 index 0000000..ff41d88 --- /dev/null +++ b/src/WorkFlowCheck.API/Controllers/SyncController.cs @@ -0,0 +1,41 @@ +using Microsoft.AspNetCore.Mvc; +using WorkFlowCheck.BL.Services; +using WorkFlowCheck.BL.Services.Interfaces; +using WorkFlowCheck.Common.DTO; + +namespace WorkFlowCheck.API.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class SyncController : ControllerBase + { + private ISyncService _syncService; + public SyncController(ISyncService syncService) + { + _syncService = syncService; + } + [HttpGet("GetAllCheckPoints")] + public async Task> GetAllCheckpoint() + { + var retVal = new ApiResponseDTO() + { + IsSuccess = true, + }; + var checkPointListDTO = await _syncService.GetAllCheckPoint(); + + if (checkPointListDTO != null) + { + + retVal.IsSuccess = true; + retVal.Data = checkPointListDTO; + } + else + { + retVal.IsSuccess = false; + retVal.Errors.Add("No data!"); + } + + return retVal; + } + } +} diff --git a/src/WorkFlowCheck.BL/Infra/DIConfig.cs b/src/WorkFlowCheck.BL/Infra/DIConfig.cs index 2b2e8ac..7ff5cca 100644 --- a/src/WorkFlowCheck.BL/Infra/DIConfig.cs +++ b/src/WorkFlowCheck.BL/Infra/DIConfig.cs @@ -14,6 +14,7 @@ namespace WorkFlowCheck.BL.Infra public static void DIInit(IServiceCollection service) { service.AddScoped(); + service.AddScoped(); } } } diff --git a/src/WorkFlowCheck.BL/Mappings/MapperProfile.cs b/src/WorkFlowCheck.BL/Mappings/MapperProfile.cs index 47a6102..0fc0967 100644 --- a/src/WorkFlowCheck.BL/Mappings/MapperProfile.cs +++ b/src/WorkFlowCheck.BL/Mappings/MapperProfile.cs @@ -18,7 +18,9 @@ namespace WorkFlowCheck.BL.Mappings CreateMap() .ForMember(dest => dest.PasswordHash, opt => opt.MapFrom()); + CreateMap(); + CreateMap(); } } } diff --git a/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs b/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs new file mode 100644 index 0000000..4923f64 --- /dev/null +++ b/src/WorkFlowCheck.BL/Services/Interfaces/ISyncService.cs @@ -0,0 +1,10 @@ +using WorkFlowCheck.Common.DTO; + + +namespace WorkFlowCheck.BL.Services.Interfaces +{ + public interface ISyncService + { + Task GetAllCheckPoint(); + } +} diff --git a/src/WorkFlowCheck.BL/Services/SyncService.cs b/src/WorkFlowCheck.BL/Services/SyncService.cs new file mode 100644 index 0000000..41d7341 --- /dev/null +++ b/src/WorkFlowCheck.BL/Services/SyncService.cs @@ -0,0 +1,62 @@ + +using AutoMapper; +using Microsoft.EntityFrameworkCore; +using Serilog; +using WorkFlowCheck.BL.Services.Interfaces; +using WorkFlowCheck.Common.DTO; +using WorkFlowCheck.DL; +using WorkFlowCheck.DL.Entities; + +namespace WorkFlowCheck.BL.Services +{ + public class SyncService : ISyncService + { + private AppDbContext _dbContext; + private IMapper _mapper; + + public SyncService(AppDbContext dbContext, IMapper mapper) + { + _dbContext = dbContext; + _mapper = mapper; + } + + public async Task GetAllCheckPoint() + { + var retVal = new CheckPointListDTO(); + + try + { + var res = await _dbContext.CheckPoints.ToListAsync(); + if (res != null) + { + retVal.CheckPointList = _mapper.Map>(res); + } + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + + return retVal; + } + public async Task GetAllLocation() + { + var retVal = new CheckPointListDTO(); + + try + { + var res = await _dbContext.CheckPoints.ToListAsync(); + if (res != null) + { + retVal.CheckPointList = _mapper.Map>(res); + } + } + catch (Exception ex) + { + Log.Error(ex.Message); + } + + return retVal; + } + } +} diff --git a/src/WorkFlowCheck.Common/DTO/CheckPointDTO.cs b/src/WorkFlowCheck.Common/DTO/CheckPointDTO.cs new file mode 100644 index 0000000..701c23b --- /dev/null +++ b/src/WorkFlowCheck.Common/DTO/CheckPointDTO.cs @@ -0,0 +1,10 @@ + +namespace WorkFlowCheck.Common.DTO +{ + public class CheckPointDTO + { + public int Id { get; set; } + public string ShortName { get; set; } + public string Code { get; set; } + } +} diff --git a/src/WorkFlowCheck.Common/DTO/CheckPointListDTO.cs b/src/WorkFlowCheck.Common/DTO/CheckPointListDTO.cs new file mode 100644 index 0000000..88b1de8 --- /dev/null +++ b/src/WorkFlowCheck.Common/DTO/CheckPointListDTO.cs @@ -0,0 +1,9 @@ + +namespace WorkFlowCheck.Common.DTO +{ + public class CheckPointListDTO + { + public List CheckPointList { get; set; } = new List(); + + } +}