public async Task <IActionResult> ReleaseSelectedMessages(ReleaseSelectedMessages model) { var response = await _getMessagesByIdQuery.Handle(new GetMessagesByIdQuery() { UserId = _userService.GetUserId(), Ids = model.Ids?.Split(",") }); await _messageService.AbortMessages(response.Messages, model.QueueName); return(RedirectToAction("Index")); }
public async Task Run([TimerTrigger("%CleanExpiredUserSessionsFunctionTimer%")] TimerInfo myTimer, ILogger log) { try { var queryResult = await _expiredUserSessionQuery.Handle(new GetExpiredUserSessionsQuery()); foreach (var session in queryResult.ExpiredUserSessions) { _userService.Configure(session.UserId, "CleanExpiredUserSessionsFunction"); var getMessagesResponse = await GetMessages(session.UserId); while (getMessagesResponse.Messages.Any()) { await _messageService.AbortMessages(getMessagesResponse.Messages, session.Queue); getMessagesResponse = await GetMessages(session.UserId); } if (!getMessagesResponse.Messages.Any()) { await _deleteUserSessionCommand.Handle(new DeleteUserSessionCommand() { Id = session.Id, UserId = session.UserId }); } } } catch (Exception ex) { log.LogError(ex, "CleanExpiredUserSessionsFunction"); } }