示例#1
0
 protected override void Load()
 {
     if (DataSession == null || KeyValue == null)
     {
         m_list = default(TList);
     }
     else
     {
         m_list = DataSession.GetList <TList, TEntity>(KeyValue);
     }
 }
示例#2
0
        public void GetListByProcedureThrowsUnableToCreateCommandException()
        {
            var procedure = new Mock<Procedure>("TestProcedure");
            var provider = new IProvider();
            provider.CommandBuilder.Setup(c => c.CreateCommandFromProcedure(procedure.Object)).Returns(default(Data.ICommand));

            try
            {
                var target = new DataSession(provider.Object);
                target.GetList<List<Customer>, Customer>(procedure.Object);
            }
            catch (Exception ex)
            {
                Assert.IsTrue(ex is UnableToCreateCommandException);
            }
        }
示例#3
0
        public void GetListByProcedureThrowsArgumentNullException()
        {
            try
            {
                var provider = new IProvider();
                var session = new DataSession(provider.Object);

                Procedure procedure = null;
                session.GetList<List<Customer>, Customer>(procedure);
            }
            catch (Exception ex)
            {
                Assert.IsTrue(ex is ArgumentNullException);
            }
        }
示例#4
0
        public void GetListByProcedure()
        {
            var procedure = new Mock<Procedure>("TestProcedure");

            var customer1 = new Customer
            {
                ID = 1,
                Balance = 0,
                BalanceRate = 0,
                DefaultContactID = 1,
                Name = "Customer1",
                ProfileID = 1
            };
            var customer2 = new Customer
            {
                ID = 2,
                Balance = 0,
                BalanceRate = 0,
                DefaultContactID = 2,
                Name = "Customer2",
                ProfileID = 2
            };
            var customer3 = new Customer
            {
                ID = 3,
                Balance = 0,
                BalanceRate = 0,
                DefaultContactID = 3,
                Name = "Customer3",
                ProfileID = 3
            };

            var customerQueue = new Queue<Customer>(new[] { customer1, customer2, customer3 });
            var readerResults = new Queue<bool>(new[] { true, true, true, false });

            var reader = new DbDataReader();
            reader.Setup(r => r.Read()).Returns(readerResults.Dequeue);

            var provider = new IProvider();

            var command = new ICommand();

            var schema = new TypeTable(typeof(Customer));

            provider.Setup(p => p.GetSchema(typeof(Customer))).Returns(schema);

            provider.CommandBuilder.Setup(c => c.CreateCommandFromProcedure(procedure.Object)).Returns(command.Object);
            provider.CommandExecutor.Setup(c => c.ExecuteReader(command.Object)).Returns(reader.Object);

            provider.Mapper.Setup(m => m.GetTMappingMethod<Customer>()).Returns(d => customerQueue.Dequeue());

            var target = new DataSession(provider.Object);

            var actual = target.GetList<List<Customer>, Customer>(procedure.Object);

            Assert.IsTrue(actual[0].ID == 1 &&
                actual[1].ID == 2 && actual[2].ID == 3);

        }
示例#5
0
        public void GetListThrowsUnableToCreateCommandException()
        {
            var provider = new IProvider();
            provider.CommandBuilder.Setup(c => c.CreateGetListCommand<Customer>()).Returns(default(Data.ICommand));

            try
            {
                var target = new DataSession(provider.Object);
                target.GetList<List<Customer>, Customer>();
            }
            catch (Exception ex)
            {
                Assert.IsTrue(ex is UnableToCreateCommandException);
            }
        }