DeviceMessages endpoint

This commit is contained in:
2025-04-05 14:53:14 +02:00
parent 4951fc0c7a
commit 8dc13c702c
15 changed files with 1212 additions and 11 deletions
@@ -43,6 +43,9 @@ namespace WorkFlowCheck.BL.Mappings
CreateMap<Equipment, EquipmentDTO>();
CreateMap<EquipmentDTO, Equipment>();
CreateMap<DeviceMessage, DeviceMessageDTO>();
CreateMap<DeviceMessageDTO, DeviceMessage>();
CreateMap<CheckListHeader, CheckListHeaderDTO>()
.ForMember(dest => dest.UserDTO, opt => opt.MapFrom(src => src.User))
.ForMember(dest => dest.CheckListRowDTO, opt => opt.MapFrom(src => src.CheckListRows));
@@ -24,5 +24,7 @@ namespace WorkFlowCheck.BL.Services.Interfaces
Task<byte[]> CreatePDF(int checkListHeaderId);
}
}
@@ -28,5 +28,8 @@ namespace WorkFlowCheck.BL.Services.Interfaces
Task<List<CheckListHeaderDTO>> GetAllCheckListAsync(int userId);
Task<CheckListHeaderDTO> UpdateCheckListHeaderAsync(CheckListHeaderDTO checkListHeaderDTO);
Task<bool> DeviceMessageSend(DeviceMessageDTO deviceMessageDTO);
Task<List<DeviceMessageDTO>> DeviceMessageReadUnreaded(string deviceId);
}
}
+50 -3
View File
@@ -1,6 +1,7 @@
using AutoMapper;
using DocumentFormat.OpenXml.InkML;
using DocumentFormat.OpenXml.Spreadsheet;
using Microsoft.EntityFrameworkCore;
using Serilog;
using System.Collections.Generic;
@@ -172,7 +173,7 @@ namespace WorkFlowCheck.BL.Services
}
public async Task<bool> DeleteLocationAsync(int id)
{
return await DeleteEntityByIdAsync<Location>(id);
return await DeleteEntityByIdAsync<DL.Entities.Location>(id);
}
public async Task<LocationDTO> UpdateLocationAsync(LocationDTO LocationDTO)
{
@@ -182,7 +183,7 @@ namespace WorkFlowCheck.BL.Services
{
if (LocationDTO.Id == 0) //Hozzáadás, ha Id == 0
{
var Location = _mapper.Map<Location>(LocationDTO);
var Location = _mapper.Map<DL.Entities.Location>(LocationDTO);
_dbContext.Locations.Add(Location);
await _dbContext.SaveChangesAsync();
@@ -193,7 +194,7 @@ namespace WorkFlowCheck.BL.Services
var res = await _dbContext.Locations.Where(w => w.Id == LocationDTO.Id).FirstOrDefaultAsync();
if (res != null)
{
res = _mapper.Map<Location>(LocationDTO);
res = _mapper.Map<DL.Entities.Location>(LocationDTO);
await _dbContext.SaveChangesAsync();
@@ -408,5 +409,51 @@ namespace WorkFlowCheck.BL.Services
return retVal;
}
public async Task<bool> DeviceMessageSend(DeviceMessageDTO deviceMessageDTO)
{
var retVal = false;
try
{
var deviceMessage = _mapper.Map<DeviceMessage>(deviceMessageDTO);
deviceMessage.SendDate = DateTime.UtcNow;
deviceMessage.IsReaded = false;
_dbContext.DeviceMessages.Add(deviceMessage);
await _dbContext.SaveChangesAsync(true);
retVal = true;
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
public async Task<List<DeviceMessageDTO>> DeviceMessageReadUnreaded(string deviceId)
{
var retVal = new List<DeviceMessageDTO>();
try
{
var res = await _dbContext.DeviceMessages
.Where(w => w.DeviceIdTo == deviceId && w.IsReaded != true)
.ToListAsync();
if (res != null)
{
retVal = _mapper.Map<List<DeviceMessageDTO>>(res);
foreach (var deviceMessage in res)
{
deviceMessage.IsReaded = true;
deviceMessage.ReceiveDate = DateTime.UtcNow;
}
await _dbContext.SaveChangesAsync();
}
}
catch (Exception ex)
{
Log.Error(ex.Message);
}
return retVal;
}
}
}