Przeglądaj źródła

TODO: fix Remove and RemoveRange

master
rodzic
commit
8a9be79dc0
1 zmienionych plików z 21 dodań i 6 usunięć
  1. 21
    6
      SecureSharing.Business/Services/MessageService.cs

+ 21
- 6
SecureSharing.Business/Services/MessageService.cs Wyświetl plik

public async Task<List<string>> DeleteExpiredMessages() public async Task<List<string>> DeleteExpiredMessages()
{ {
var result = await _dbContext.Messages var result = await _dbContext.Messages
.Where(m => (m.ExpiryDate != null && m.ExpiryDate <= DateTime.UtcNow) || !m.IsValid).ToListAsync();
.Where(m => (m.ExpiryDate != null && m.ExpiryDate <= DateTime.UtcNow) || !m.IsValid)
.ToListAsync();
var toReturn = result.Select(x => x.Code).ToList(); var toReturn = result.Select(x => x.Code).ToList();
_dbContext.RemoveRange(result); _dbContext.RemoveRange(result);
await _dbContext.SaveChangesAsync(); await _dbContext.SaveChangesAsync();


public async Task InvalidateMessage(int id) public async Task InvalidateMessage(int id)
{ {
var message = await _dbContext.Messages.Where(m => m.Id == id).FirstOrDefaultAsync();
var message = await _dbContext.Messages
.Where(m => m.Id == id)
.FirstOrDefaultAsync();
message!.IsValid = false; message!.IsValid = false;
await _dbContext.SaveChangesAsync(); await _dbContext.SaveChangesAsync();
} }


public async Task<IEnumerable<MessageDto>> GetAll() public async Task<IEnumerable<MessageDto>> GetAll()
{ {
var result = await _dbContext.Messages.AsNoTracking().ToListAsync();
var result = await _dbContext.Messages
.AsNoTracking()
.ToListAsync();
var mappedResult = _mapper.Map<IEnumerable<MessageDto>>(result); var mappedResult = _mapper.Map<IEnumerable<MessageDto>>(result);
return mappedResult; return mappedResult;
} }


public async Task<MessageDto> GetById(int messageId) public async Task<MessageDto> GetById(int messageId)
{ {
var result = await _dbContext.Messages.Include(x => x.FileNames).AsNoTracking()
var result = await _dbContext.Messages
.Include(x => x.FileNames)
.AsNoTracking()
.FirstOrDefaultAsync(x => x.Id == messageId); .FirstOrDefaultAsync(x => x.Id == messageId);
var mappedResult = _mapper.Map<MessageDto>(result); var mappedResult = _mapper.Map<MessageDto>(result);
return mappedResult; return mappedResult;


public async Task<MessageDto> GetByCode(Guid code) public async Task<MessageDto> GetByCode(Guid code)
{ {
var result = await _dbContext.Messages.Include(x => x.FileNames).AsNoTracking()
var result = await _dbContext.Messages
.Include(x => x.FileNames)
.AsNoTracking()
.FirstOrDefaultAsync(x => x.Code == code.ToString()); .FirstOrDefaultAsync(x => x.Code == code.ToString());
var mappedResult = _mapper.Map<MessageDto>(result); var mappedResult = _mapper.Map<MessageDto>(result);
return mappedResult; return mappedResult;
} }


public async Task Update(MessageDto messageDto) public async Task Update(MessageDto messageDto)
{ {
var a = _dbContext.Messages.Update(_mapper.Map<Message>(messageDto));
var a = _dbContext.Messages
.Update(_mapper.Map<Message>(messageDto));
await _dbContext.SaveChangesAsync(); await _dbContext.SaveChangesAsync();
} }
} }

Ładowanie…
Anuluj
Zapisz