| 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(); | ||||
| } | } | ||||
| } | } |