public Task <Unit> Handle(SendOutageLocationIsolationCrewCommand request, CancellationToken cancellationToken)
        {
            return(Task.Run <Unit>(() =>
            {
                _logger.LogInfo($"[OutageLifecycleCommandHandler::SendOutageLocationIsolationCrewCommand] Sending outage location isolation crew command for outage: {request.OutageId}");


                using (OutageLifecycleUICommandingProxy commandingProxy =
                           _proxyFactory.CreateProxy <OutageLifecycleUICommandingProxy, IOutageLifecycleUICommandingContract>(
                               EndpointNames.OutageLifecycleUICommandingEndpoint)
                       )
                {
                    try
                    {
                        commandingProxy.SendLocationIsolationCrew(request.OutageId);
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError("[OutageLifecycleCommandHandler::SendOutageLocationIsolationCrewCommand] OutageLifecycleCommandHandler failed on SendOutageLocationIsolationCrew handler.", ex);
                        throw;
                    }
                }

                return Task.FromResult(new Unit());
            }, cancellationToken));
        }
        public Task <Unit> Handle(ValidateResolveConditionsCommand request, CancellationToken cancellationToken)
        {
            return(Task.Run <Unit>(() =>
            {
                _logger.LogInfo($"[OutageLifecycleCommandHandler::ValidateResolveConditionsCommand] Sending validate resolve conditions command for outage: {request.OutageId}");


                using (OutageLifecycleUICommandingProxy commandingProxy =
                           _proxyFactory.CreateProxy <OutageLifecycleUICommandingProxy, IOutageLifecycleUICommandingContract>(
                               EndpointNames.OutageLifecycleUICommandingEndpoint)
                       )
                {
                    try
                    {
                        commandingProxy.ValidateResolveConditions(request.OutageId);
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError("[OutageLifecycleCommandHandler::ValidateResolveConditionsCommand] OutageLifecycleCommandHandler failed on ValidateResolveConditions handler.", ex);
                        throw;
                    }
                }

                return Task.FromResult(new Unit());
            }, cancellationToken));
        }