public IHttpActionResult Post(MoneyTransferRequest request)
 {
     MoneyTransferTransaction transaction = new MoneyTransferTransaction();
     MoneyTransferResponse response = new MoneyTransferResponse();
     transaction.Execute(request, response);
     if (response.Result.IsSuccess)
         return Ok(response);
     else
         return NotFound(); // Can return result status.
 }
Beispiel #2
0
        private static void ShowWithLoader(Action <Action <BackendResult <MoneyTransferResponse, ResultCode> >, CancellationToken> loadAction)
        {
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
            FullscreenLoader        fullscreenLoader        = new FullscreenLoader();

            fullscreenLoader.HideOnBackKeyPress = true;
            Action <FullscreenLoaderHiddenEventArgs> action = (Action <FullscreenLoaderHiddenEventArgs>)(args => cancellationTokenSource.Cancel());

            fullscreenLoader.HiddenCallback = action;
            FullscreenLoader loader = fullscreenLoader;

            loader.Show(null, true);
            loadAction((Action <BackendResult <MoneyTransferResponse, ResultCode> >)(result =>
            {
                loader.Hide(false);
                ResultCode resultCode = result.ResultCode;
                if (resultCode == ResultCode.Succeeded)
                {
                    Execute.ExecuteOnUIThread((Action)(() =>
                    {
                        MoneyTransferResponse resultData = result.ResultData;
                        if (resultData == null)
                        {
                            return;
                        }
                        MoneyTransfer transfer = resultData.transfer;
                        User user = resultData.user;
                        if (transfer == null || user == null)
                        {
                            return;
                        }
                        TransferCardView.Show(new MoneyTransferViewModel(transfer, user));
                    }));
                }
                else
                {
                    GenericInfoUC.ShowBasedOnResult(resultCode, "", null);
                }
            }), cancellationTokenSource.Token);
        }