using System; using System.Collections.Generic; using System.Transactions; using BlueWest.Collections; using MapTo; using MessagePack; using Newtonsoft.Json; using BlueWest.Collections; namespace BlueWest.Data { [MessagePackObject] [UseUpdate] [MapFrom(typeof(UserUpdateDto))] public partial class User { [Key(1)] public int Id { get; } [Key(2)] public string Name { get; set; } [Key(3)] public string Address { get; set; } [Key(4)] public string BTCAddress { get; set; } [Key(5)] public string LTCAddress { get; set; } [Key(6)] public double BTCAmount { get; set; } [Key(7)] public double LTCAmount { get; set; } [Key(8)] public FastDictionary FinanceTransactions { get; set; } public User(int id, string name, string address, string btcAddress, string ltcAddress, double btcAmount, double ltcAmount, FastList financeTransactions) { Id = id; Name = name; Address = address; BTCAddress = btcAddress; LTCAddress = ltcAddress; BTCAmount = btcAmount; LTCAmount = ltcAmount; FinanceTransactions = financeTransactions; } public void AddTransaction(FinanceTransaction financeTransaction) { FinanceTransactions.Add(financeTransaction); } public void AddTransaction(FinanceTransactionInsertDto financeTransaction) { FinanceTransactions.Add(new FinanceTransaction(financeTransaction)); } internal bool HasTransaction(int transactionId) { return FinanceTransactions.Contains(transactionId); } internal Transaction GetTransactionById(int transactionId) { return FinanceTransactions(transactionId); } } }