protected override void OnSaveTransaction(CoreTransaction tx, IEnumerable <WalletCoin> added, IEnumerable <WalletCoin> changed) { Transaction tx_changed = null; using (WalletDataContext ctx = new WalletDataContext(DbPath)) { if (IsWalletTransaction(tx)) { tx_changed = ctx.Transactions.Add(new Transaction { Hash = tx.Hash.ToArray(), Type = tx.Type, RawData = tx.ToArray(), Height = null, Time = DateTime.Now }).Entity; } OnCoinsChanged(ctx, added, changed, Enumerable.Empty <WalletCoin>()); ctx.SaveChanges(); } if (tx_changed != null) { TransactionsChanged?.Invoke(this, GetTransactionInfo(new[] { tx_changed })); } }
protected override void OnSaveTransaction(CoreTransaction tx, IEnumerable <WalletCoin> added, IEnumerable <WalletCoin> changed, IEnumerable <JSWalletCoin> jsadded, IEnumerable <JSWalletCoin> jschanged, IEnumerable <JSWalletCoin> jsdeleted, IEnumerable <JSWalletCoin> jswitnesschanged, IEnumerable <RCTWalletCoin> rctadded, IEnumerable <RCTWalletCoin> rctchanged, IEnumerable <RCTWalletCoin> rctdeleted) { Transaction tx_changed = null; using (WalletDataContext ctx = new WalletDataContext(DbPath)) { if (IsWalletTransaction(tx)) { tx_changed = ctx.Transactions.Add(new Transaction { Hash = tx.Hash.ToArray(), Type = tx.Type, RawData = tx.ToArray(), Height = null, Time = DateTime.Now }).Entity; } OnCoinsChanged(ctx, added, changed, Enumerable.Empty <WalletCoin>(), jsadded, jschanged, jsdeleted, jswitnesschanged, rctadded, rctchanged, rctdeleted); try { ctx.SaveChanges(); } catch (Exception ex) { string str = ex.Message; } } if (tx_changed != null) { TransactionsChanged?.Invoke(this, GetTransactionInfo(new[] { tx_changed })); } }