Ejemplo n.º 1
0
        public Task <int> SaveExpenseReportAsync(ExpenseReport expenseReport)
        {
            TaskCompletionSource <int> tcs = new TaskCompletionSource <int>();

            WcfExpenseService.ExpenseServiceClient client = this.CreateExpenseServiceClient();

            client.SaveExpenseReportCompleted +=
                (_, e) =>
            {
                if (this.VerifyResult(e, tcs))
                {
                    expenseReport.ExpenseReportId = e.Result;
                    tcs.TrySetResult(e.Result);
                }
            };
            client.SaveExpenseReportAsync(WcfExpenseService.ExpenseReport.FromModelExpenseReport(expenseReport));

            return(tcs.Task);
        }