Пример #1
0
        public void InsertMem(IEnumerable <PaymentCache> paymentCaches)
        {
            paymentCaches = paymentCaches.Where(x => !PaymentBook.Contains(x.ToString()));
            var ms = Payment_Mem.Select(x => x.ToString());

            paymentCaches = paymentCaches.Where(x => !ms.Contains(x.ToString()));
            if (!paymentCaches.Any())
            {
                return;
            }
            PaymentFilters.AddRange(paymentCaches.Select(x => PaymentFilter.Parse(x)));
            Payment_Mem.AddRange(paymentCaches);
        }
Пример #2
0
        public static PaymentFilter Parse(PaymentCache payment)
        {
            PaymentFilter pf = new PaymentFilter()
            {
                address  = payment.address,
                amount   = payment.amount,
                category = payment.category,
                time     = payment.time,
                txId     = payment.txId,
                vout     = payment.vout
            };

            return(pf);
        }
Пример #3
0
        public static PaymentFilter Parse(string paymentStr)
        {
            var           ps = paymentStr.Split('_');
            PaymentFilter pf = new PaymentFilter()
            {
                address  = ps[1],
                amount   = long.Parse(ps[2]),
                category = ps[0],
                time     = long.Parse(ps[3]),
                txId     = ps[4],
                vout     = long.Parse(ps[5])
            };

            return(pf);
        }
Пример #4
0
 public void InsertMem(PaymentCache paymentCache)
 {
     lock (lockObj)
     {
         if (PaymentBook.Contains(paymentCache.ToString()))
         {
             return;
         }
         if (Payment_Mem.Any(x => x.ToString() == paymentCache.ToString()))
         {
             return;
         }
         Payment_Mem.Add(paymentCache);
         PaymentFilters.Add(PaymentFilter.Parse(paymentCache));
     }
 }
Пример #5
0
 public void Insert(PaymentCache paymentCache)
 {
     lock (lockObj)
     {
         var paymentKey = paymentCache.ToString();
         if (PaymentBook.Contains(paymentKey))
         {
             return;
         }
         PutPaymentBook(new List <string> {
             paymentKey
         });
         PaymentFilters.Add(PaymentFilter.Parse(paymentCache));
         var key = GetKey(AppTables.TradeRecord, paymentKey);
         AppDomain.Put(key, paymentCache);
     }
 }
Пример #6
0
        public PaymentDac()
        {
            PaymentBook    = new List <string>();
            Payment_Mem    = new List <PaymentCache>();
            PaymentFilters = new List <PaymentFilter>();
            PaymentBook    = GetPaymentBookInDb();

            PaymentBook.ForEach(x =>
            {
                if (string.IsNullOrEmpty(x))
                {
                    PaymentBook.Remove(x);
                }
                else
                {
                    PaymentFilters.Add(PaymentFilter.Parse(x));
                }
            });

            //PaymentBook.RemoveAll(x => string.IsNullOrEmpty(x));
            //PaymentFilters.AddRange(PaymentBook.Select(x => PaymentFilter.Parse(x)));
        }
Пример #7
0
        public void Insert(IEnumerable <PaymentCache> payments)
        {
            lock (lockObj)
            {
                Dictionary <string, PaymentCache> insertMap = new Dictionary <string, PaymentCache>();
                List <string> paymentKeys = new List <string>();
                foreach (var payment in payments)
                {
                    var paymentKey = payment.ToString();
                    if (PaymentBook.Contains(paymentKey))
                    {
                        continue;
                    }
                    var key = GetKey(AppTables.TradeRecord, paymentKey);
                    paymentKeys.Add(paymentKey);
                    PaymentFilters.Add(PaymentFilter.Parse(payment));
                    Payment_Mem.RemoveAll(x => x.ToString() == paymentKey);

                    insertMap.Add(key, payment);
                }
                PutPaymentBook(paymentKeys);
                AppDomain.Put(insertMap);
            }
        }