⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 st_order.cs

📁 asp.net+sql2000经典项目开发案例
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;

namespace ST_GROUP.FlowerPrearrange
{
	/// <summary>
	/// ST_Order description。
	/// </summary>
	public class ST_Order:ST_Base,IEnumerator
	{
		private ArrayList ST_allFlowers = new ArrayList();
		private int ST_userId;
		//private byte status;
		private DateTime ST_date = System.DateTime.Now.Date;
		private int ST_position=-1;

		public ST_Order()
		{
			
		}


		#region Properties of order class

		object IEnumerator.Current
		{
			get
			{
				return ST_allFlowers[ST_position];
			}
		}


		/// <summary>
		/// set detail of order form
		/// </summary>
		public int ST_Count
		{
			get
			{
				ST_strSQL = "Select Count(*) From ST_OrderDetails Where ST_OrderId=" + this.ST_ID; 
				try
				{
					return ST_ExecuteSql4Value(ST_strSQL);
				}
				catch
				{
					return -1;
				}				
			}
		}

		/// <summary>
		/// sum
		/// </summary>
		public double ST_Total
		{
			get
			{
				ST_strSQL = "Select Sum(A.ST_Price * A.ST_Discount * C.ST_Quantity) as ST_Total From ST_Flower A,ST_Orders B ,ST_OrderDetails C Where A.ST_id = C.ST_FlowerId and B.ST_id = C.ST_OrderId And C.ST_OrderId=" + this.ST_ID; 
				try
				{
					return (double)ST_ExecuteSql4ValueEx(ST_strSQL);
				}
				catch
				{
					return 0.0;
				}				
			}
		}


		/// <summary>
		/// ST_User ID
		/// </summary>
		public int ST_UserId
		{
			get
			{
				return ST_userId;			
			}
			set
			{
				ST_userId = value;
			}
		}
		#endregion


		#region ST_Functions of order class

		/// <summary>
		/// return details of this order
		/// </summary>
		/// <returns></returns>
		public ICollection ST_GetItems()
		{
			return ST_allFlowers;
		}

		

		public ST_OrderDetails this[int index]
		{
			get
			{
				return (ST_OrderDetails)ST_allFlowers[index];
			}
		}


		public void ST_Clear()
		{
			ST_allFlowers.Clear();
		}


		public void ST_Add(ST_OrderDetails value)
		{
			ST_allFlowers.Add(value);
		}


		bool IEnumerator.MoveNext()
		{
			ST_position++;
			if(ST_position>=ST_allFlowers.Count)
			{
				return false;
			}
			else
			{
				return true;
			}
		}


		void IEnumerator.Reset()
		{
			ST_position = -1;
		}


		public void ST_RemoveAt(int index)
		{
			ST_allFlowers.RemoveAt(index);
		}


		public void ST_Remove(int itemId)
		{
			foreach(ST_OrderDetails item in ST_allFlowers)
			{
				if(itemId == item.ST_FlowerId)
				{
					ST_allFlowers.Remove(item);
					return;
				}
			}
		}


		public int ST_Have(int ST_userId)
		{
			try
			{
				string [] ST_arrSQL = new String[ST_allFlowers.Count];
				ST_strSQL = "Insert into ST_Orders(ST_UserId) values(" + ST_userId.ToString() + ")";
				ST_ExecuteSql(ST_strSQL);
				ST_strSQL = "Select Max(ST_Id) From ST_Orders";
				int orderId = ST_ExecuteSql4Value(ST_strSQL);
			
				System.Text.StringBuilder ST_sb = new System.Text.StringBuilder();
				ST_GROUP.FlowerPrearrange.ST_OrderDetails ST_item = new ST_GROUP.FlowerPrearrange.ST_OrderDetails();
				for(int i=0;i<ST_allFlowers.Count;i++)
				{
					ST_item = (ST_GROUP.FlowerPrearrange.ST_OrderDetails)ST_allFlowers[i];
					ST_sb.Append("Insert into ST_OrderDetails(ST_OrderId,ST_FlowerId,ST_Quantity) values(");
					ST_sb.Append(orderId.ToString());
					ST_sb.Append(",");
					ST_sb.Append(ST_item.ST_FlowerId.ToString());
					ST_sb.Append(",");
					ST_sb.Append(ST_item.ST_Quantity.ToString());
					ST_sb.Append(")");
					ST_arrSQL[i] = ST_sb.ToString();
					ST_sb.Remove(0,ST_sb.Length);
				}

				ST_ExecuteSqls(ST_arrSQL);
				return orderId;
			}
			catch
			{
				throw new Exception("ST_Order Flowers FAILED!");
			}			
		}


		public static bool ST_Deal(int orderId)
		{
			ST_strSQL = "Update ST_OrdersV Set ST_Status =1 Where ST_Id=" + orderId.ToString();
			try
			{
				ST_ExecuteSql4Ds(ST_strSQL);
				ST_strSQL = "Update ST_Flower set ST_Sales=ST_Sales+1 Where ST_id in(SELECT b.ST_FlowerId FROM ST_Orders a INNER JOIN ST_OrderDetails b ON a.ST_Id = b.ST_OrderId AND a.ST_Id = " + orderId.ToString() + ")";
				ST_ExecuteSql4Ds(ST_strSQL);
				return true;
			}
			catch
			{
				throw new Exception("处理定单失败!");
			}
		}


		public static DataSet ST_GetOrder(int orderId)
		{
			ST_strSQL = "SELECT ST_UserId, ST_OrderDate,CASE WHEN ST_Status = '1' THEN 'dealt' ELSE 'on progress' END AS ST_Status FROM ST_Orders Where ST_Id=" + orderId.ToString();
			try
			{
				return ST_ExecuteSql4Ds(ST_strSQL);				
			}
			catch
			{
				throw new Exception("Get order failed!");
			}
		}


		public static DataSet ST_GetOrders()
		{
			ST_strSQL = "SELECT * FROM ST_OrdersV Where ST_Status=0 or ST_Status IS NULL";
			try
			{
				return ST_ExecuteSql4Ds(ST_strSQL);				
			}
			catch
			{
				throw new Exception("Get ST_Orders failed!");
			}
		}


		public static DataSet ST_GetOrders(int ST_userId)
		{
			ST_strSQL = "SELECT ST_Id,ST_UserId, ST_OrderDate,CASE WHEN ST_Status = '1' THEN 'dealt' ELSE 'on progress' END AS ST_Status FROM St_Orders Where ST_UserId=" + ST_userId.ToString();
			try
			{
				return ST_ExecuteSql4Ds(ST_strSQL);				
			}
			catch
			{
				throw new Exception("获取定单失败!");
			}
		}


		public static DataSet ST_GetDetails(int orderId)
		{
			ST_strSQL = "Select * from ST_DetailsV Where ST_orderId=" + orderId.ToString();
			try
			{
				return ST_ExecuteSql4Ds(ST_strSQL);				
			}
			catch
			{
				throw new Exception("获取定单细节失败!");
			}
		}

		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -