public bool RutTien(WalletOutside walletOutside, Wallet walletInside, string moneyType) { using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { var wOutside = db.WalletOutsides.Find(walletOutside.WalletOutsideID); var wInside = db.Wallets.Find(walletInside.WalletID); if (wOutside == null || wInside == null) { transaction.Commit(); return(false); } db.SaveChanges(); transaction.Commit(); return(true); } catch (Exception) { return(false); } } }
public bool RutTien(WalletOutside walletOutside, Wallet wallet, decimal luongRutTien, string moneyType) { // Scenario: // user trong muon rut tien tu trong wallet trong ra bank ngoai // get object wallet trong // get object bank ngoai de rut tien ra // va check so tien wallet trong co du de rut var findWalletOutSide = WalletDataAccess.FindWalletOutSideByWalletOutSideID(walletOutside.WalletOutsideID); var findWalletInside = WalletDataAccess.FindWalletByWalletID(wallet.WalletID); if (findWalletOutSide != null && findWalletInside != null) { if (findWalletInside.CryptocurrencyStore.MoneyType == CryptoCurrencyCommon.Bitcoin) { if (findWalletInside.BalanceAmount > luongRutTien) { findWalletInside.BalanceAmount -= luongRutTien; // tru tien wallet trong findWalletOutSide.BTC += luongRutTien; // cong vao bank ngoai bankDataAccess.RutTien(findWalletOutSide, findWalletInside, findWalletInside.CryptocurrencyStore.MoneyType); return(true); } } if (findWalletInside.CryptocurrencyStore.MoneyType == CryptoCurrencyCommon.Ethereum) { findWalletInside.BalanceAmount -= luongRutTien; // tru tien wallet trong findWalletOutSide.ETH += luongRutTien; // cong vao bank ngoai bankDataAccess.RutTien(findWalletOutSide, findWalletInside, findWalletInside.CryptocurrencyStore.MoneyType); return(true); } if (findWalletInside.CryptocurrencyStore.MoneyType == CryptoCurrencyCommon.Ripple) { findWalletInside.BalanceAmount -= luongRutTien; // tru tien wallet trong findWalletOutSide.XRP += luongRutTien; // cong vao bank ngoai bankDataAccess.RutTien(findWalletOutSide, findWalletInside, findWalletInside.CryptocurrencyStore.MoneyType); return(true); } if (findWalletInside.CryptocurrencyStore.MoneyType == CryptoCurrencyCommon.VietnamDong) { findWalletInside.BalanceAmount -= luongRutTien; // tru tien wallet trong findWalletOutSide.VND += luongRutTien; // cong vao bank ngoai bankDataAccess.RutTien(findWalletOutSide, findWalletInside, findWalletInside.CryptocurrencyStore.MoneyType); return(true); } } return(false); }