Пример #1
0
        private async Task ForwardImpl(PerformContext context, string comPort, string phoneNumber)
        {
            await exclusiveTaskFactory.StartNew(() =>
            {
                context.WriteLine(Debug, "Forwarding ...");
                using (var helper = new ATHelper(comPort))
                {
                    helper.ForwardTo(phoneNumber);
                    context.WriteLine(Info, "Applied forward");

                    context.WriteLine(Debug, "Verifying ...");
                    var res = helper.GetForwardedPhoneNumber();
                    if (res != phoneNumber)
                    {
                        context.WriteLine(Error, $"Verification returned {res}, expected {phoneNumber}");
                        throw new Exception("Verification failed after applying forward");
                    }
                    context.WriteLine(Info, $"Verified forward to {phoneNumber}");
                }
            }).ConfigureAwait(false);
        }
Пример #2
0
        private async Task ForwardImpl(PerformContext context, string connectionString, string phoneNumber)
        {
            await TaskQueue.Enqueue(async() =>
            {
                context.WriteLine(Debug, "Forwarding ...");
                using (var helper = new ATHelper(connectionString))
                {
                    await helper.OpenAsync();
                    await helper.ForwardTo(phoneNumber);
                    context.WriteLine(Info, "Applied forward");

                    context.WriteLine(Debug, "Verifying ...");
                    var res = await helper.GetForwardedPhoneNumber();
                    if (res != phoneNumber)
                    {
                        context.WriteLine(Error, $"Verification returned {res}, expected {phoneNumber}");
                        throw new Exception("Verification failed after applying forward");
                    }
                    context.WriteLine(Info, $"Verified forward to {phoneNumber}");
                }
            }).ConfigureAwait(false);
        }