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); }
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)); }