private async void ApproveSingleInvoice() { bool isOk = await ShowConfirmationMessage(Constants.ApproveConfirmationMsg, Constants.ApproveTitle); if (!isOk) { return; } try { IsBusy = true; InvoiceAccept invoiceAccept = new InvoiceAccept() { InvoiceId = UserPreference.Instance.SelectedInvoiceId, ForceApprove = false }; InvoiceAccept invoiceApprove = await ServiceInvoker.Instance.InvokeServiceUsingPost <InvoiceAccept>(ServiceInvoker.Instance.AppendUrl(ServiceInvoker.ApproveInvoiceService), invoiceAccept, false, false); if (invoiceApprove.Status.ToLower().Equals(Constants.Warning.ToLower())) { isOk = false; isOk = await ShowConfirmationMessage(Constants.NegativeInvoiceConfirmationMsg, Constants.NegativeInvoiceTitle); if (!isOk) { IsBusy = false; return; } invoiceAccept = new InvoiceAccept() { InvoiceId = UserPreference.Instance.SelectedInvoiceId, ForceApprove = true }; InvoiceAccept finalResult = await ServiceInvoker.Instance.InvokeServiceUsingPost <InvoiceAccept>(ServiceInvoker.Instance.AppendUrl(ServiceInvoker.ApproveInvoiceService), invoiceAccept, false, false); if (!finalResult.Status.ToLower().Equals(Constants.Approved)) { ShowErrorMessage(T360ErrorCodes.UnknownErrorMsg, Constants.ApproveFailed); } } IsBusy = false; Messenger.Default.Send <ResetListParameter>(new ResetListParameter() { }); Messenger.Default.Send <InvoiceParameter>(new InvoiceParameter() { Invoice = null }, Constants.SetInvoice); } catch (T360Exception ex) { string message = getMessages(ex); ShowErrorMessage(message, Constants.ApproveFailed); if (T360ErrorCodes.NotInReviewerQueue.Equals(ex.ErrorCodes[0].Code)) { Navigator.Navigate(Destination.InvoiceListView); } } }
public Task <InvoiceAccept> ApproveInvoice(InvoiceAccept param) { var mock = GetInvoiceSummary(param.InvoiceId).Result; var result = new Task <InvoiceAccept>(() => new InvoiceAccept() { Status = True, InvoiceId = param.InvoiceId, ForceApprove = param.ForceApprove }); result.RunSynchronously(TaskScheduler.Default); return(result); }