public void Can_add_new_item()
        {
            var item = new Item
            {
                Value = 0.01M,
                Description = "Add Test",
                IsVerified = true,
            };
            item.SetTransaction(_transaction);
            item.SetSource(_account1);
            item.SetDestination(_account2);

            IItemRepository repository = new ItemRepository();
            repository.Add(item);

            using (ISession session = SessionFactory.OpenSession())
            {
                var fromDb = session.Get<Item>(item.Id);
                Assert.IsNotNull(fromDb);
                Assert.AreNotSame(item, fromDb);
                Assert.AreEqual(item.Value, fromDb.Value);
                Assert.AreEqual(item.Description, fromDb.Description);
                Assert.AreEqual(item.Destination.Id, fromDb.Destination.Id);
                Assert.AreEqual(item.Source.Id, fromDb.Source.Id);
                Assert.AreEqual(item.IsVerified, fromDb.IsVerified);
                Assert.AreEqual(item.TransactionId.Id, fromDb.TransactionId.Id);

                Assert.IsTrue(IsInCollection(item, item.TransactionId.Items));
                Assert.IsTrue(IsInCollection(item, item.Source.ItemsSource));
                Assert.IsTrue(IsInCollection(item, item.Destination.ItemsDestination));
            }
        }
Example #2
0
        public static void ImportFromExcelFile(string filename)
        {
            IDictionary<string, AccountType> accountTypes = new Dictionary<string, AccountType>();
            IDictionary<string, AccountCategory> accountCategories = new Dictionary<string, AccountCategory>();
            IDictionary<string, Account> accounts = new Dictionary<string, Account>();
            Iesi.Collections.Generic.ISet<Item> items = new HashedSet<Item>();
            IDictionary<int, Transaction> transactions = new Dictionary<int, Transaction>();

            OleDbConnection excelConnection;

            excelConnection = new OleDbConnection(
                "Provider=Microsoft.ACE.OLEDB.12.0; " +
                "Data Source=" + filename + "; " +
                "Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"");

            excelConnection.Open();

            RecreateDatabase();
            ImportAccountTypes(excelConnection, accountTypes);
            ImportAccountCategories(excelConnection, accountCategories);
            ImportAccounts(excelConnection, accounts, accountTypes, accountCategories);
            ImportTransactions(excelConnection, transactions);
            ImportItems(excelConnection, items, accounts, transactions);

            AccountTypeRepository atr = new AccountTypeRepository();
            AccountCategoryRepository acr = new AccountCategoryRepository();
            AccountRepository ar = new AccountRepository();
            TransactionRepository tr = new TransactionRepository();
            ItemRepository ir = new ItemRepository();

            foreach (AccountType at in accountTypes.Values) atr.Add(at);
            foreach (AccountCategory ac in accountCategories.Values) acr.Add(ac);
            foreach (Account a in accounts.Values) ar.Add(a);
            foreach (Transaction t in transactions.Values) tr.Add(t);
            foreach (Item i in items) ir.Add(i);

            excelConnection.Close();
        }