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); }
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); }