public async Task <GetAudienceResult> ExecuteAsync(
                GetAudienceOp operation)
            {
                new { operation }.AsArg().Must().NotBeNull();

                new { operation.Notification }.AsArg().Must().NotBeNull().And().BeOfType <IntegrationTestNotification>();

                var getAudienceResult = new GetAudienceResult(
                    Audience,
                    new[]
                {
                    new ExceptionThrownFailure("something-bad-happened"),
                },
                    FailureAction.IgnoreAndProceedIfPossibleOtherwiseStop);

                var result = await Task.FromResult(getAudienceResult);

                return(result);
            }
Пример #2
0
        private async Task <GetAudienceResult> GetAudienceAsync(
            INotification notification)
        {
            GetAudienceResult result;

            try
            {
                var getAudienceForNotificationOp = new GetAudienceOp(notification);

                result = await this.getAudienceProtocol.ExecuteAsync(getAudienceForNotificationOp);

                result.AsOp().Must().NotBeNull(Invariant($"Executing {nameof(GetAudienceOp)} should not return null."));
            }
            catch (Exception ex)
            {
                result = new GetAudienceResult(null, new[] { new ExceptionThrownFailure(ex.ToString()) }, FailureAction.Stop);
            }

            return(result);
        }