示例#1
0
        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);
                }
            }
        }
示例#2
0
文件: MockService.cs 项目: radtek/vas
        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);
        }