Пример #1
0
        public async Task <IEnumerable <ArchivedOutageViewModel> > Handle(GetArchivedOutagesQuery request, CancellationToken cancellationToken)
        {
            try
            {
                Logger.LogInformation("[OutageQueryHandler::GetArchivedOutages] Sending a GET query to Outage service for archived outages.");

                var outageAccessClient = OutageModelAccessClient.CreateClient();
                var archivedOutages    = await outageAccessClient.GetAllArchivedOutages();

                var archivedOutageViewModels = _mapper.MapArchivedOutages(archivedOutages);
                return(archivedOutageViewModels);
            }
            catch (Exception ex)
            {
                Logger.LogError("[OutageQueryHandler::GetArchivedOutages] Failed to GET archived outages from Outage service.", ex);
                throw ex;
            }
        }
Пример #2
0
        public Task <IEnumerable <ArchivedOutageViewModel> > Handle(GetArchivedOutagesQuery request, CancellationToken cancellationToken)
        {
            return(Task.Run(() =>
            {
                using (OutageAccessProxy outageProxy = _proxyFactory.CreateProxy <OutageAccessProxy, IOutageAccessContract>(EndpointNames.OutageAccessEndpoint))
                {
                    try
                    {
                        _logger.LogInfo("[OutageQueryHandler::GetArchivedOutages] Sending a GET query to Outage service for archived outages.");
                        IEnumerable <ArchivedOutageMessage> archivedOutages = outageProxy.GetArchivedOutages();

                        IEnumerable <ArchivedOutageViewModel> archivedOutageViewModels = _mapper.MapArchivedOutages(archivedOutages);
                        return archivedOutageViewModels;
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError("[OutageQueryHandler::GetArchivedOutages] Failed to GET archived outages from Outage service.", ex);
                        throw ex;
                    }
                }
            }));
        }