//Need to properly dispose LedgerDBContext object
 public ActionResult ViewSnap(int id)
 {
     using (var db = new LedgerDBContext())
     {
         var shot = db.Ledgers.Include(l => l.CryptoCoins).FirstOrDefault(x => x.LedgerId == id);
         return(View(shot));
     }
 }
        public ActionResult ViewSnaps()
        {
            ViewBag.Message = "See your snaps here !";

            using (var db = new LedgerDBContext())
            {
                return(View(db.Ledgers.ToList()));
            }
        }
        private void AddBindings()
        {
            IEnumerable<LedgerEntry> TestEntries = new List<LedgerEntry> {
                new LedgerEntry{ Time = DateTime.Now, Category = "null", Description = "First Expense", EntryType = "CREDIT", LedgerName = "First Ledger" },
                new LedgerEntry{ Time = DateTime.Now, Category = "null", Description = "Second Expense", EntryType = "CREDIT", LedgerName = "First Ledger" },
                new LedgerEntry{ Time = DateTime.Now, Category = "null", Description = "Third Expense", EntryType = "CREDIT", LedgerName = "First Ledger" },
            };

            IEnumerable<String> CardEntries = new List<String> { "AmEx", "Suntrust", "Kohls" };
            IEnumerable<String> PartyEntries = new List<String> { "Brandon", "Jeanine", "Joint", "Vacation", "Emergency", "Savings", "TBD" };

            /*IEnumerable<CreditEntry> CreditEntries = new List<CreditEntry> {
                new CreditEntry{ Date = DateTime.Now, Description = "Test Entry 1", AmountPaid = 200.00M, AmountRemaining = 300.00M, PurchaseTotal = 500.00M, Card = "American Express" , ResponsibleParty = "Brandon" },
                new CreditEntry{ Date = DateTime.Now, Description = "Test Entry 2", AmountPaid = 0.00M, AmountRemaining = 150.00M, PurchaseTotal = 150.00M, Card = "American Express" , ResponsibleParty = "Brandon" },
                new CreditEntry{ Date = DateTime.Now, Description = "Test Entry 3", AmountPaid = 50.00M, AmountRemaining = 450.00M, PurchaseTotal = 500.00M, Card = "Suntrust" , ResponsibleParty = "Brandon" },
                new CreditEntry{ Date = DateTime.Now, Description = "Test Entry 4", AmountPaid = 0.00M, AmountRemaining = 37.00M, PurchaseTotal = 37.00M, Card = "American Express" , ResponsibleParty = "Jeanine" },
            };*/

            IEnumerable<PaymentPlanEntry> PaymentPlanEntries = new List<PaymentPlanEntry>();

            /**** Set up Mock interfaces ***/
            Mock<ILedgerEntries> MockEntries = new Mock<ILedgerEntries>();
            MockEntries.Setup(m => m.GetEntries).Returns(TestEntries.AsQueryable);          // Set up LedgerEntries binding using Moq

            /*Mock<ICardEntries> MockCardEntries = new Mock<ICardEntries>();
            MockCardEntries.Setup(m => m.CreditCards).Returns(CardEntries.AsQueryable);

            Mock<IResponsiblePartyEntries> MockPartyEntries = new Mock<IResponsiblePartyEntries>();
            MockPartyEntries.Setup(m => m.Parties).Returns(PartyEntries.AsQueryable);

            Mock<IPaymentPlanEntries> MockPaymentPlanEntries = new Mock<IPaymentPlanEntries>();
            MockPaymentPlanEntries.Setup(m => m.PaymentPlanEntries).Returns(PaymentPlanEntries.AsQueryable);*/
            /*******************************/

            //kernel.Bind<ILedgerEntries>().ToConstant(MockEntries.Object);
            //kernel.Bind<ICreditEntries>().ToConstant(MockCreditEntries.Object);
            LedgerDBContext dBContext = new LedgerDBContext();

            // Create bindings
            kernel.Bind<ILedgerEntries>().To<EFLedgerEntries>();
            kernel.Bind<ICreditEntries>().To<EFCreditEntries>();
            kernel.Bind<IPaymentPlanEntries>().To<EFPaymentPlanEntries>();
            kernel.Bind<ICardEntries>().To<EFCardEntries>();
            kernel.Bind<IResponsiblePartyEntries>().To<EFPartyEntries>();

            //kernel.Bind<ICardEntries>().ToConstant(MockCardEntries.Object);
            //kernel.Bind<IResponsiblePartyEntries>().ToConstant(MockPartyEntries.Object);
        }
        public ActionResult CryptoData()
        {
            ViewBag.Message = "Your table page!";
            ViewBag.Time    = DateTime.Now;

            using (var db = new LedgerDBContext())
            {
                var url = "https://coinmarketcap.com/";

                var htmlWeb = new HtmlWeb();

                var htmlDocument = new HtmlDocument();
                htmlDocument = htmlWeb.Load(url);

                //var Time = DateTime.Now;

                HtmlNodeCollection allRows = htmlDocument.DocumentNode.SelectNodes("//table[1]/tbody[1]/tr[*]");
                //var rowNumber = 0;
                List <Coin> currencyDataList = new List <Coin>();
                DateTime    time             = DateTime.Now;
                foreach (var row in allRows)
                {
                    // Console.WriteLine("Attempting to process row: " + rowNumber++);

                    var CoinSymbol = row.ChildNodes[3].ChildNodes[3].InnerText;
                    var CoinName   = row.ChildNodes[3].ChildNodes[5].InnerText;
                    var CoinPrice  = row.ChildNodes[7].InnerText;

                    Coin coin = new Coin(CoinSymbol, CoinName, CoinPrice);
                    currencyDataList.Add(coin);
                }


                // Creates a date.time snapshot- this will be my future snapshot button
                var ledger = new Ledger
                {
                    CryptoCoins = currencyDataList,
                    Time        = time
                };

                db.Ledgers.Add(ledger);
                db.SaveChanges();

                Console.WriteLine();
                return(View(currencyDataList));
            }
        }
 public EFPaymentPlanChargeEntries(LedgerDBContext context)
 {
     this.context = context;
 }
示例#6
0
 public EFCardEntries(LedgerDBContext context)
 {
     this.context = context;
 }
示例#7
0
 public EFCreditEntries(LedgerDBContext context)
 {
     this.DbContext = context;
 }
示例#8
0
 public EFPartyEntries(LedgerDBContext context)
 {
     this.context = context;
 }