Exemplo n.º 1
0
        public void Initialize()
        {
            repository = container.Resolve <IBalanceDateRepository>();

            balanceDateFactory = container.Resolve <IBalanceDateFactory>();

            testEntity = balanceDateFactory.Create();

            testEntity.DateOfBalance = DateTime.Today;
            testEntity.BalanceDateBankAccounts.AddRange(new List <Core.Entities.BalanceDateBankAccount>()
            {
                new Core.Entities.BalanceDateBankAccount()
                {
                    BankAccount = new Core.Entities.BankAccount()
                    {
                        BankAccountId = 1
                    },
                    BalanceAmount = 123
                },
                new Core.Entities.BalanceDateBankAccount()
                {
                    BankAccount = new Core.Entities.BankAccount()
                    {
                        BankAccountId = 2
                    },
                    BalanceAmount = 456
                },
            });
        }
Exemplo n.º 2
0
        private void CompareBalanceDates(Core.Entities.BalanceDate entity1, Core.Entities.BalanceDate entity2, string prefix)
        {
            Assert.IsNotNull(entity1, "{0} - entity1", prefix);
            Assert.IsNotNull(entity2, "{0} - entity2", prefix);

            Assert.AreEqual(entity1.DateOfBalance, entity2.DateOfBalance, "{0} - DateOfBalance", prefix);

            Assert.AreEqual(entity1.BalanceDateBankAccounts.Count, entity2.BalanceDateBankAccounts.Count, "{0} - BalanceDateBankAccounts.Count", prefix);

            for (int i = 0; i < entity1.BalanceDateBankAccounts.Count; i++)
            {
                CompareBalanceDateBankAccounts(entity1.BalanceDateBankAccounts[i], entity2.BalanceDateBankAccounts[i], String.Format("{0} - BalanceDateBankAccounts[{1}]", prefix, i));
            }
        }
Exemplo n.º 3
0
        public bool Delete(Core.Entities.BalanceDate entity)
        {
            var ef = mapper.Map <BalanceDate>(entity);

            //need to delete children to prevent EF FK error
            ef.BalanceDateBankAccounts.Clear();
            using (FinanceEntities context = factory.CreateContext())
            {
                context.Entry(ef).State = EntityState.Deleted;
                // deletes are cascaded to BalanceBankAccount
                context.SaveChanges();
            }
            return(true);
        }
Exemplo n.º 4
0
        public Core.Entities.BalanceDate Read(int id)
        {
            Core.Entities.BalanceDate entity = null;
            using (FinanceEntities context = factory.CreateContext())
            {
                var ef = ReadQuery(context, id).FirstOrDefault();

                //var ef = (from b in context.BalanceDates
                //                .Include(a => a.BalanceDateBankAccounts)
                //                .Include("BalanceDateBankAccounts.BankAccount")
                //                .Include("BalanceDateBankAccounts.BankAccount.Bank")
                //          where b.BalanceDateId==id
                //            select b).FirstOrDefault();

                entity = mapper.Map <Core.Entities.BalanceDate>(ef);
            }
            return(entity);
        }
        public void Initialize()
        {
            repository = container.Resolve<IBalanceDateRepository>();

            balanceDateFactory = container.Resolve<IBalanceDateFactory>();

            testEntity = balanceDateFactory.Create();

            testEntity.DateOfBalance = DateTime.Today;
            testEntity.BalanceDateBankAccounts.AddRange(new List<Core.Entities.BalanceDateBankAccount>()
            {
                    new Core.Entities.BalanceDateBankAccount()
                    {
                        BankAccount = new Core.Entities.BankAccount() { BankAccountId=1 },
                        BalanceAmount = 123
                    },
                    new Core.Entities.BalanceDateBankAccount()
                    {
                        BankAccount = new Core.Entities.BankAccount() { BankAccountId=2 },
                        BalanceAmount = 456
                    },
            });
        }
Exemplo n.º 6
0
        public int Add(Core.Entities.BalanceDate entity)
        {
            int id = 0;
            var ef = mapper.Map <BalanceDate>(entity);

            using (FinanceEntities context = factory.CreateContext())
            {
                context.Entry(ef).State = EntityState.Added;
                context.SaveChanges();
            }
            //read back columns which may have changed
            entity.BalanceDateId         = ef.BalanceDateId;
            entity.RecordCreatedDateTime = ef.RecordCreatedDateTime;
            //entity.RecordUpdatedDateTime = ef.RecordUpdatedDateTime;

            int i = 0;

            foreach (var cba in ef.BalanceDateBankAccounts)
            {
                if (entity.BalanceDateBankAccounts.Count <= i)
                {
                    break;
                }

                var e = entity.BalanceDateBankAccounts[i];

                e.BalanceDateBankAccountId = cba.BalanceDateBankAccountId;
                e.RecordCreatedDateTime    = cba.RecordCreatedDateTime;

                i++;
            }


            id = ef.BalanceDateId;
            return(id);
        }
Exemplo n.º 7
0
        public bool Update(Core.Entities.BalanceDate entity)
        {
            var ef = mapper.Map <BalanceDate>(entity);

            using (FinanceEntities context = factory.CreateContext())
            {
                // read in children
                var cbas = from b in context.BalanceDateBankAccounts
                           where b.BalanceDateId == ef.BalanceDateId
                           select b;

                foreach (var cba in cbas)
                {
                    if (ef.BalanceDateBankAccounts.Count(a => a.BalanceDateBankAccountId == cba.BalanceDateBankAccountId) == 0)
                    {
                        context.Entry(cba).State = EntityState.Deleted;
                    }
                    else
                    {
                        context.Entry(cba).State = EntityState.Detached;
                    }
                }

                foreach (var cba in ef.BalanceDateBankAccounts)
                {
                    if (cba.BalanceDateBankAccountId > 0)
                    {
                        context.Entry(cba).State = EntityState.Modified;
                    }
                    else
                    {
                        context.Entry(cba).State = EntityState.Added;
                    }
                }



                context.Entry(ef).State = EntityState.Modified;

                var s = ShowEntityStates(context);

                context.SaveChanges();
            }
            //read back data which may have changed
            //entity.RecordUpdatedDateTime = ef.RecordUpdatedDateTime;

            int i = 0;

            foreach (var cba in ef.BalanceDateBankAccounts)
            {
                if (entity.BalanceDateBankAccounts.Count <= i)
                {
                    break;
                }

                var e = entity.BalanceDateBankAccounts[i];

                e.BalanceDateBankAccountId = cba.BalanceDateBankAccountId;
                e.RecordCreatedDateTime    = cba.RecordCreatedDateTime;

                i++;
            }

            return(true);
        }