photomodel.cs

来自「这个是网上相册系统的一个架构设计说明」· CS 代码 · 共 96 行

CS
96
字号
using System;
using System.Data;
using System.Data.SqlClient;
using DAC;
using Utils;

namespace Model
{
	/// <summary>
	/// PhotoModel 的摘要说明。
	/// </summary>
	public class PhotoModel : Model
	{
		public PhotoModel()
			: base(new DSPhoto())
		{
		}

		public PhotoModel(DataSet ds_)
			: base(ds_)
		{
		}
		#region Model 成员

		override public DataTable Query(System.Collections.IDictionary queryParam)
		{
			return QueryPhoto(queryParam.Contains("PhotoID")?queryParam["PhotoID"]:null,
				queryParam.Contains("PhotoName")?queryParam["PhotoName"]:null,
				queryParam.Contains("Category")?queryParam["Category"]:null,
				queryParam.Contains("PublisherID")?queryParam["PublisherID"]:null,
				queryParam.Contains("Keyword")?queryParam["Keyword"]:null);
		}

		override public System.Data.DataSet LoadByPrimaryKey(object pk)
		{
			using  (SqlConnection cn  =   new  SqlConnection(AlbumConfig.DBConnectionString))
			{
				SqlParameter pkPara = new SqlParameter("@PhotoID", SqlDbType.Int, 4);
				pkPara.Value = pk;
				cn.Open();
				SqlHelper.ExecuteDataset(ds, cn, CommandType.StoredProcedure, "SelePhoto", new string[]{"Photo"}, pkPara);
				return ds;
			}
		}

		override public void Save(System.Data.DataSet ds)
		{
			if(!(ds is DSPhoto))
				throw new ApplicationException("Expect a DSPhoto");

			SqlHelper.ExecuteUpdate(ds.Tables["Photo"], AlbumConfig.DBConnectionString, "InsPhoto", "UptPhoto", "DelPhoto");
		}

		override public System.Data.DataSet get_CurrentCollection()
		{
			return DataSet;
		}

		override public System.Data.DataRow get_CurrentItem()
		{
			// TODO:  添加 PhotoModel.get_CurrentItem 实现
			DSPhoto ds = this.DataSet as DSPhoto;
			if(ds == null)
				throw new ApplicationException("Model had not Photo data.");
			return ds.Photo.FindByPhotoID(this.CurrentID);
		}

		#endregion

		public System.Data.DataSet LoadByCategory(DSPhoto.CategoryRow cat)
		{
			using  (SqlConnection cn  =   new  SqlConnection(AlbumConfig.DBConnectionString))
			{
				SqlParameter pkPara = new SqlParameter("@CategoryID", SqlDbType.Int, 4);
				pkPara.Value = cat.CategoryID;
				cn.Open();
				SqlHelper.ExecuteDataset(ds, cn, CommandType.StoredProcedure, "QueryPhoto", new string[]{"Photo"}, pkPara);
				return ds;
			}
		}

		public int CurrentID
		{
			get{ return _curID; }
			set{ _curID = value; }
		}

		protected DataTable QueryPhoto(params   object [] parameterValues)
		{
			DataSet ds = SqlHelper.ExecuteDataset(AlbumConfig.DBConnectionString, "QueryPhoto", parameterValues);
			return ds.Tables[0];
		}
		protected int _curID;
	}
}

⌨️ 快捷键说明

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