(三层架构)

来源:互联网 发布:乐玩网络 编辑:程序博客网 时间:2024/05/22 13:41

用到的一些知识借博客来保存一下,复习能用的上。 基于C#的三层架构上的一个项目其中的一点代码片段。

Model层

<span style="font-family:Microsoft YaHei;">using System;using System.Runtime.Serialization;namespace Model{    /// <summary>    ///属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含。原因:具有很好的收缩性,对GET 和SET 可以单独设置访问权限 比如对某个成员数据只能读取或者只写,或者只有派生类可以访问等。需要通过函数来调用私有成员数据,属性提供了高效的访问模式和简单的书写。 用法:类名.属性=“”赋值    set作用 变量=类名.属性 取值   get 作用    /// </summary>    [Serializable]    [DataContract]    public class B_Brand    {        [DataMember]        public Guid GUID { get; set; }                [DataMember]        public string Brand { get; set; }        [DataMember]        public int Trace { get; set; }        [DataMember]        public int Property { get; set; }                [DataMember]        public string CreateUser { get; set; }        [DataMember]        public DateTime? CreateDate { get; set; }                [DataMember]        public string ModifyUser { get; set; }        [DataMember]        public DateTime? ModifyDate { get; set; }                [DataMember]        public string VendorID { get; set; }         [DataMember]        public string VendorIDS { get; set; }    }}</span>
<span style="font-family:Microsoft YaHei;"></span>
Bll层

<span style="font-family:Microsoft YaHei;">using System;using System.Collections.Generic;using System.Linq;using System.Text;using DALFactory;using IDAL;using Model;using System.Data;namespace BLL{    /// <summary>    /// 业务逻辑类Demo 的摘要说明。    /// </summary>    public class B_BrandBLL    {        private static readonly IB_Brand dal = DataAccess.CreateObject<IB_Brand>("ServerDAL.B_BrandData");              public static B_Brand GetModel(Guid GUID)        {            DataSet ds = dal.GetModel(GUID);            B_Brand demo = null;            if (ds.Tables[0].Rows.Count > 0)            {                demo = new B_Brand();                                demo.GUID = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["GUID"].ToString()) ? default(Guid) : (Guid)ds.Tables[0].Rows[0]["GUID"];                                demo.Brand = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["Brand"].ToString()) ? default(string) : (string)ds.Tables[0].Rows[0]["Brand"];                                demo.Trace = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["Trace"].ToString()) ? default(int) : (int)ds.Tables[0].Rows[0]["Trace"];                                demo.Property = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["Property"].ToString()) ? default(int) : (int)ds.Tables[0].Rows[0]["Property"];                                demo.CreateUser = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["CreateUser"].ToString()) ? default(string) : (string)ds.Tables[0].Rows[0]["CreateUser"];                demo.CreateDate = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["CreateDate"].ToString()) ? DateTime.Parse("9999-12-31") : (DateTime)ds.Tables[0].Rows[0]["CreateDate"];                                demo.ModifyUser = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["ModifyUser"].ToString()) ? default(string) : (string)ds.Tables[0].Rows[0]["ModifyUser"];                demo.ModifyDate = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["ModifyDate"].ToString()) ? DateTime.Parse("9999-12-31") : (DateTime)ds.Tables[0].Rows[0]["ModifyDate"];                                demo.VendorID = string.IsNullOrEmpty(ds.Tables[0].Rows[0]["VendorID"].ToString()) ? default(string) : (string)ds.Tables[0].Rows[0]["VendorID"];                                          }            return demo;        }}</span>

DAL层

<span style="font-family:Microsoft YaHei;">using System;using System.Collections.Generic;using System.Linq;using System.Text;using IDAL;using Model;using System.Data;using DBUtility;using System.Data.SqlClient;using System.Data.Common;namespace ServerDAL{    public partial class B_BrandData : IB_Brand    {        #region IB_Brand 成员        public bool Exists(Guid GUID)        {            StringBuilder sb =new StringBuilder("SELECT COUNT(*) FROM B_Brand WHERE  GUID=@p0 ");                        SqlParameter[] p = new SqlParameter[1];                        p[0] = new SqlParameter("@p0", GUID);                        return DbHelperSQL.Exists(sb.ToString(),p);        } public DataSet GetList(string where, params object[] args)        {            StringBuilder sb = new StringBuilder(@"SELECT B.GUID,B.CreateDate,B.CreateUser,B.ModifyDate,B.ModifyUser,B.Trace,B.Brand,B.Property,B.VendorID,(B.VENDORID+'.'+V.VendorName)as VendorIDSFROM [dbo].B_Brand B WITH(NOLOCK)LEFT JOIN [B_Vendor] V WITH(NOLOCK) ON V.Vendorid = B.VendorID");            if (!string.IsNullOrEmpty(where))            {                sb.Append(" WHERE ");                sb.Append(where);            }            SqlParameter[] p = args.Select((m,i)=>new SqlParameter("@p"+i,m)).ToArray();            return DbHelperSQL.Query(sb.ToString(), p.ToArray());        }}</span>


IDAL层

<span style="font-family:Microsoft YaHei;">using System;using System.Collections.Generic;using System.Linq;using System.Text;using Model;using System.Data;namespace IDAL{    // <summary>    /// 接口层IDemo 的摘要说明。    /// </summary>    public partial interface IB_Brand    {        #region  成员方法        /// <summary>        /// 是否存在该记录        /// </summary>        bool Exists(Guid GUID);        /// <summary>        /// 增加一条数据        /// </summary>        void Add(B_Brand model);        /// <summary>        /// 更新一条数据        /// </summary>        void Update(B_Brand model);        /// <summary>        /// 删除一条数据        /// </summary>        void Delete(Guid GUID);        /// <summary>        /// 获得一条数据        /// </summary>        DataSet GetModel(Guid GUID);        /// <summary>        /// 获得数据列表        /// </summary>        /// <param name="where">查询条件</param>        /// <param name="args">查询参数</param>        /// <returns>数据列表</returns>        DataSet GetList(string where, params object[] args);               /// <summary>        /// 获得前几条数据列表        /// </summary>        /// <param name="top">条数</param>        /// <param name="where">查询条件</param>        /// <param name="orderby">排序条件</param>        /// <param name="args">查询参数</param>        /// <returns>数据列表</returns>        DataSet GetList(int top, string where,string orderby, params object[] args);             /// <summary>        /// 获得数据列表        /// </summary>        /// <param name="pagesize">每页条数</param>        /// <param name="pageindex">当前页数</param>        /// <param name="where">查询条件</param>        /// <param name="orderby">排序条件</param>        /// <param name="totalcount">总记录数</param>        /// <param name="args">查询参数</param>        /// <returns>数据列表</returns>        DataSet GetList(int pagesize, int pageindex, string where, string orderby,out int totalcount, params object[] args);                #endregion  成员方法    }}</span>
<span style="font-family:Microsoft YaHei;"></span>
</pre><span style="font-family:Microsoft YaHei;font-size:14px;"><strong>WCF</strong></span><p></p><p><span style="font-family:Microsoft YaHei;"><span style="color: rgb(52, 52, 52); font-size: 16.2px; white-space: pre-wrap;"></span></span></p><pre name="code" class="csharp"><span style="font-family:Microsoft YaHei;">using BLL;using Model;using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Activation;using System.ServiceModel.Web;using System.Text;using System.Xml;namespace ShellFrame.WCF{    public partial class B_BrandWCF    {        [OperationContract(Name = "GetListHTML")]        [WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,            BodyStyle = WebMessageBodyStyle.WrappedRequest, UriTemplate = "/GetListHTML")]        public List<B_Brand> GetListHTML(string Brand, string VendorName)        {            int  i=0;            string[] param = new string[2];            StringBuilder sb = new StringBuilder();            if (!string.IsNullOrEmpty(Brand))            {                param[i] = Brand;                sb.Append("Brand like '%" + param[i] + "%' ");            }                       if (!string.IsNullOrEmpty(Brand) && !string.IsNullOrEmpty(VendorName))            {                sb.Append(" and ");            }            if (!string.IsNullOrEmpty(VendorName))            {                param[i] = VendorName;                sb.Append(" VendorName like '%" + param[i] + "%'");            }            List<B_Brand> list = B_BrandBLL.GetList(sb.ToString(), param);            return list;        }}</span>

后台完成,还有前端的一些引用。



0 0