예제 #1
0
        /// <summary>
        /// Clones this object.
        /// </summary>
        /// <returns>The new object.</returns>
        public ColumnValueBag Clone()
        {
            var result = new ColumnValueBag();

            foreach (var keyValuePair in _columnValues)
            {
                result._columnValues.Add(keyValuePair.Key, keyValuePair.Value);
            }
            return(result);
        }
예제 #2
0
        public void ColumnValueBag_SetValue_with_DataRow()
        {
            var salesOrders = DataSet <SalesOrderInfo> .Create();

            var _        = salesOrders._;
            var customer = _.Customer;

            salesOrders.Add(new DataRow(), (dataRow) =>
            {
                _.CustomerID[dataRow]          = 5;
                customer.Title[dataRow]        = "Mr.";
                customer.FirstName[dataRow]    = "John";
                customer.MiddleName[dataRow]   = "K";
                customer.LastName[dataRow]     = "Smith";
                customer.CompanyName[dataRow]  = "Good Toys";
                customer.EmailAddress[dataRow] = @"*****@*****.**";
                customer.Phone[dataRow]        = "555-123-4567";
            });

            {
                var valueBag = new ColumnValueBag();
                valueBag.SetValue(_.CustomerID, salesOrders[0]);
                valueBag.SetValue(customer.FirstName, salesOrders[0]);
                Assert.AreEqual(5, valueBag.GetValue(_.CustomerID));
                Assert.AreEqual(5, valueBag[_.CustomerID]);
                Assert.AreEqual("John", valueBag.GetValue(customer.FirstName));
                Assert.AreEqual("John", valueBag[customer.FirstName]);
            }

            {
                var salesOrder = DataSet <SalesOrderInfo> .Create().EnsureInitialized()._;

                var customerKey    = salesOrder.FK_Customer;
                var customerLookup = salesOrder.Customer;
                var valueBag       = new ColumnValueBag();
                valueBag.AutoSelect(customerKey, salesOrders[0]);
                valueBag.AutoSelect(customerLookup, salesOrders[0]);
                Assert.AreEqual(5, valueBag.GetValue(salesOrder.CustomerID));
                Assert.AreEqual(5, valueBag[salesOrder.CustomerID]);
                Assert.AreEqual("Mr.", valueBag.GetValue(customerLookup.Title));
                Assert.AreEqual("John", valueBag.GetValue(customerLookup.FirstName));
                Assert.AreEqual("K", valueBag.GetValue(customerLookup.MiddleName));
                Assert.AreEqual("Smith", valueBag.GetValue(customerLookup.LastName));
                Assert.AreEqual("Good Toys", valueBag.GetValue(customerLookup.CompanyName));
                Assert.AreEqual(@"*****@*****.**", valueBag.GetValue(customerLookup.EmailAddress));
                Assert.AreEqual("555-123-4567", valueBag.GetValue(customerLookup.Phone));
                Assert.AreEqual("Mr.", valueBag[customerLookup.Title]);
                Assert.AreEqual("John", valueBag[customerLookup.FirstName]);
                Assert.AreEqual("K", valueBag[customerLookup.MiddleName]);
                Assert.AreEqual("Smith", valueBag[customerLookup.LastName]);
                Assert.AreEqual("Good Toys", valueBag[customerLookup.CompanyName]);
                Assert.AreEqual(@"*****@*****.**", valueBag[customerLookup.EmailAddress]);
                Assert.AreEqual("555-123-4567", valueBag[customerLookup.Phone]);
            }
        }
예제 #3
0
        public void ColumnValueBag_SetValue()
        {
            var salesOrders = DataSet <SalesOrderInfo> .Create();

            var _        = salesOrders._;
            var customer = _.Customer;

            var valueBag = new ColumnValueBag();

            valueBag.SetValue(_.CustomerID, 2);
            valueBag.SetValue(customer.FirstName, "FirstName");
            Assert.AreEqual(2, valueBag.GetValue(_.CustomerID));
            Assert.AreEqual(2, valueBag[_.CustomerID]);
            Assert.AreEqual("FirstName", valueBag.GetValue(customer.FirstName));
            Assert.AreEqual("FirstName", valueBag[customer.FirstName]);
        }