protected override async Task ExecuteAsync(CancellationToken stoppingToken) { await Task.Delay(120000, stoppingToken); while (!stoppingToken.IsCancellationRequested) { try { var notificacao = new DomainNotificationHandler(); var _iAgendamentoRepository = new AgendamentoRepository(notificacao); //Caso haja exceção na instância do BD, notifica erro if (notificacao.HasNotifications()) { Serilog.Log.Logger.Error($"Worker error at: {notificacao.GetShowNotifications().FirstOrDefault()}", DateTimeOffset.Now); notificacao.Dispose(); } else { var agendamentos = _iAgendamentoRepository.BuscarAgendamentos(); //Caso haja exceção na consulta dos agendamentos no banco, notifica erro if (notificacao.HasNotifications()) { Serilog.Log.Logger.Error($"Worker error at: {notificacao.GetShowNotifications().FirstOrDefault()}", DateTimeOffset.Now); notificacao.Dispose(); } //processa os agendamentos encontrados agendamentos?.ToList().ForEach(agendamento => { //Start Processamento new ProcessaService(notificacao).IniciarProcessamento(agendamento); //Caso haja exceção na consulta dos agendamentos no banco, notifica erro if (notificacao.HasNotifications()) { Serilog.Log.Logger.Error($"Worker error at: {notificacao.GetShowNotifications().FirstOrDefault()}", DateTimeOffset.Now); notificacao.Dispose(); } }); } } catch (Exception ex) { Serilog.Log.Logger.Error($"Worker error at: {ex.Message}", DateTimeOffset.Now); } } }
public async Task <IViewComponentResult> InvokeAsync() { var notificacoes = await Task.FromResult(_notification.ObterNotificacoes()); notificacoes.ForEach(c => ViewData.ModelState.AddModelError(string.Empty, c.Value)); if (notificacoes.Any()) { _notification.Dispose(); } return(View()); }
public static TResponse checkHasNotification(DomainNotificationHandler _notifications, TResponse response) { if (_notifications.HasNotifications()) { if (_notifications.GetNotifications().Any(x => x.ResultCode == NotificationCode.Error)) { foreach (var item in _notifications.GetNotifications()) { response.Message += item.request + "; "; } } _notifications.Dispose(); response.Success = false; response.Status = (int)StatusCode.Error; } else { response.Status = (int)StatusCode.Success; response.Message = StatusCode.Success.ToString(); response.Success = true; } return(response); }
protected void LimparMensagens() { _DomainNotificationHandler.Dispose(); }
public void Dispose() { _notifications.Dispose(); }