Exemplo n.º 1
0
        internal static void DoTransfer(PayTransferRequest data, JsonFEResult jsonResult)
        {
            var senderitem   = AccountRepository.GetAccounts().Where(x => x.AccountNumber == data.AccountNumber).ToList().FirstOrDefault();
            var receiveritem = AccountRepository.GetAccounts().Where(x => x.AccountNumber == data.AccountId).ToList().FirstOrDefault();

            if (senderitem == null || receiveritem == null)
            {
                jsonResult.Success = false;
                jsonResult.ErrorMessage.Add($"Transaction is not possible not valid accountnumber for {(senderitem==null?"sender":"receiver")}");
                return;
            }

            if ((senderitem.Balance - data.PriceNumber) < 0 && !senderitem.ExistCreditLine)
            {
                //nem mehet minuszba
                jsonResult.Success = false;
                jsonResult.ErrorMessage.Add("Transaction is not finished. Don't have Credit line");
                return;
            }

            if ((senderitem.Balance - data.PriceNumber) < -50000)
            {
                //limit tul lepes
                jsonResult.Success = false;
                jsonResult.ErrorMessage.Add("Transaction is no finished. Don't have enough Credit line");
                return;
            }

            senderitem.Balance   -= data.PriceNumber;
            receiveritem.Balance += data.PriceNumber;

            AccountRepository.UpdateAccount(senderitem);
            AccountRepository.UpdateAccount(receiveritem);
        }
Exemplo n.º 2
0
        internal static bool IsValidDataForTransfer(PayTransferRequest data, JsonFEResult jsonResult)
        {
            if (!ExistAccountNumber(data.AccountId, jsonResult))
            {
                jsonResult.Success = false;
                jsonResult.ErrorMessage.Add($"Wrong account number {data.AccountNumber}");
                return(false);
            }

            return(IsValidDataForPayment(new InPaymentRequest {
                AccountNumber = data.AccountNumber, PriceNumber = data.PriceNumber
            }, jsonResult));
        }