Exemplo n.º 1
0
        //Assuming at least one ShippingMethod has been created using the Orders UI
        public Guid GetShippingMethodID()
        {
            Guid    shippingMethodId = Guid.Empty;
            Boolean shipMethodFound  = false;

            //Get all PaymentMethods in default language - Hopefully there is one of each type
            DataSet         shipMethods = orderCtx.GetShippingMethods();
            DataTableReader reader      = shipMethods.CreateDataReader();

            IEnumerator readerEnum = reader.GetEnumerator();

            while (readerEnum.MoveNext() && !shipMethodFound)
            {
                DbDataRecord rec = (DbDataRecord)readerEnum.Current;
                shippingMethodId = rec.GetGuid(rec.GetOrdinal("ShippingMethodId"));
                shipMethodFound  = true;
            }

            if (Guid.Empty == shippingMethodId)
            {
                throw new ApplicationException("This demo requires at least one ShippingMethod to be defined!");
            }

            return(shippingMethodId);
        }
Exemplo n.º 2
0
        //Assuming at least one CreditCard PaymentMethod has been created using the Orders UI
        public Guid GetPaymentMethodID()
        {
            Guid    creditCardPaymentMethodId = Guid.Empty;
            Boolean ccPmtMethodFound          = false;

            //Get all PaymentMethods
            DataSet         pmtMethods = orderCtx.GetPaymentMethods();
            DataTableReader reader     = pmtMethods.CreateDataReader();

            IEnumerator readerEnum = reader.GetEnumerator();

            while (readerEnum.MoveNext() && !ccPmtMethodFound)
            {
                DbDataRecord rec = (DbDataRecord)readerEnum.Current;
                switch (rec.GetInt32(rec.GetOrdinal("PaymentType")))
                {
                case (int)PaymentMethodTypes.CreditCard:
                    creditCardPaymentMethodId = rec.GetGuid(rec.GetOrdinal("PaymentMethodId"));
                    ccPmtMethodFound          = true;
                    break;
                }
            }

            if (Guid.Empty == creditCardPaymentMethodId)
            {
                throw new ApplicationException("This demo requires at least one CreditCard type of PaymentMethod to be defined!");
            }

            return(creditCardPaymentMethodId);
        }
Exemplo n.º 3
0
    // <Snippet1>
    public static void Main()
    {
        try
        {
            DataTable userTable = new DataTable("peopleTable");

            userTable.Columns.Add("Id", typeof(int));
            userTable.Columns.Add("Name", typeof(string));

            // Note that even if you create the DataTableReader
            // before adding the rows, the enumerator can still
            // visit all the rows.
            DataTableReader reader = userTable.CreateDataReader();
            userTable.Rows.Add(new object[] { 1, "Peter" });
            userTable.Rows.Add(new object[] { 2, "Mary" });
            userTable.Rows.Add(new object[] { 3, "Andy" });
            userTable.Rows.Add(new object[] { 4, "Russ" });

            IEnumerator enumerator = reader.GetEnumerator();
            // Keep track of whether the row to be deleted
            // has actually been deleted yet. This allows
            // this sample to demonstrate that the enumerator
            // is able to survive row deletion.
            bool isRowDeleted = false;
            while (enumerator.MoveNext())
            {
                DbDataRecord dataRecord = (DbDataRecord)enumerator.Current;

                // While the enumerator is active, delete a row.
                // This doesn't affect the behavior of the enumerator.
                if (!isRowDeleted)
                {
                    isRowDeleted = true;
                    userTable.Rows[2].Delete();
                }
                Console.WriteLine(dataRecord.GetString(1));
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        Console.ReadLine();
    }
		public void EnumeratorTest ()
		{
			DataTable table = new DataTable ();
			table.Columns.Add ("col1", typeof(int));
			table.Rows.Add (new object[] {0});
			table.Rows.Add (new object[] {1});
			
			DataTableReader rdr = table.CreateDataReader ();
			IEnumerator enmr = rdr.GetEnumerator ();
			
			table.Rows.Add (new object[] {2});
			table.Rows.RemoveAt (0);
						
			//Test if the Enumerator is stable
			int i = 1;
			while (enmr.MoveNext ()) {
				DbDataRecord rec = (DbDataRecord)enmr.Current;
				Assert.AreEqual (i, rec.GetInt32 (0), "#2_" + i);
				i++;
			}
		}