예제 #1
0
        //Prases new transactions, adds them to the database, and returns all available transactions
        public List <PublicTransaction> UpdatedPublicTransactions(string pair, Dictionary <string, string> parameters)
        {
            List <PublicTransaction> parsed = ParsePublicTransactionsFor(pair, parameters);
            //If it fails to update the database, only return newly parsed transactions
            List <PublicTransaction> ret = parsed;

            using (var ctx = new TransactionHistoriesEntities()) {
                foreach (var transaction in parsed)
                {
                    if (!ctx.PublicTransactions.Any(t => t.tid == transaction.tid))
                    {
                        ctx.PublicTransactions.Add(transaction);
                    }
                }
                try {
                    ctx.SaveChanges();
                }
                catch (DbEntityValidationException e) {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        foreach (var v in eve.ValidationErrors)
                        {
                            Debug.Print(v.PropertyName + " - " + v.ErrorMessage);
                        }
                    }
                }
                ret = ctx.PublicTransactions.ToList();
            }
            return(ret);
        }
예제 #2
0
        //Prases new transactions, adds them to the database, and returns all available transactions
        public List <Transaction> UpdatedPrivateTransactions()
        {
            List <Transaction> parsed = ParsePrivateTransactions();

            Debug.Print("Parsed " + parsed.Count() + " transaction");
            //If it fails to update the database, only return newly parsed transactions
            List <Transaction> ret = parsed;

            using (var ctx = new TransactionHistoriesEntities()) {
                foreach (var transaction in parsed)
                {
                    if (!ctx.Transactions.Any(t => t.id == transaction.id))
                    {
                        ctx.Transactions.Add(transaction);
                    }
                }
                try {
                    ctx.SaveChanges();
                }
                catch (DbEntityValidationException e) {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        foreach (var v in eve.ValidationErrors)
                        {
                            Debug.Print(v.PropertyName + " - " + v.ErrorMessage);
                        }
                    }
                }
                ret = ctx.Transactions.ToList();
            }
            return(ret);
        }
 private void buttonClearDatabase_Click(object sender, EventArgs e)
 {
     using (var ctx = new TransactionHistoriesEntities()) {
         foreach (var id in ctx.Transactions.Select(t => t.id))
         {
             var entity = new Transaction {
                 id = id
             };
             ctx.Transactions.Attach(entity);
             ctx.Transactions.Remove(entity);
         }
         ctx.SaveChanges();
     }
 }
 private void buttonLoadTransactions_Click(object sender, EventArgs e)
 {
     tableTransactions.Items.Clear();
     using (var ctx = new TransactionHistoriesEntities()) {
         foreach (var t in ctx.Transactions)
         {
             TransactionType type = (TransactionType)t.type;
             ListViewItem    item = new ListViewItem(t.id.ToString());
             item.SubItems.Add(t.datetime.ToString());
             item.SubItems.Add(t.btc.ToString());
             item.SubItems.Add(type.ToString());
             item.SubItems.Add(t.fee.ToString());
             tableTransactions.Items.Add(item);
         }
     }
 }