Jyhst框架开发

前端:EasyUI JQuery  Ajax

后端:基于三层架构和ORM理念的开发框架

这是BLL层的代码

namespace Jyhst.Business
{
    public class StudentBLL
    {
        private Database myDataBase;
        public StudentBLL()
        {
            myDataBase = DB.D();
        }
        /// <summary>
        /// 根据ID查询实体
        /// </summary>
        /// <param name="keyID">UnitID</param>
        /// <returns></returns>
        public Student GetDetail(string keyID, out string Msg)
        {

            Msg = string.Empty;
            try
            {
                return DA<Student>.FetchSingleById(keyID);
            }
            catch (Exception ex)
            {
                Msg = ex.ToString();
                return null;
            }
        }
        public bool Delete(string keyID, out string Msg)
        {
            Msg = string.Empty;
            int res = -1;
            myDataBase.BeginTransaction();
            try
            {
                string sqlStrInfo = "WHERE Student.StudentID='" + keyID + "'";
                string sqlStrItem = "WHERE Student.StudentID='" + keyID + "'";
                List<Student> list = myDataBase.Fetch<Student>(sqlStrInfo, null);
                if (list.Count == 1)
                {
                    List<Student> listItem = myDataBase.Fetch<Student>(sqlStrItem, null);
                    foreach (Student item in listItem)
                    {
                        res = -1;
                        res = myDataBase.Delete(item);
                    }
                    res = -1;
                    res = myDataBase.Delete(list[0]);
                }
                else
                {
                    Msg = "学生不存在,无法删除";
                    myDataBase.AbortTransaction();
                    return false;
                }
                myDataBase.CompleteTransaction();
                return true;
            }
            catch (Exception ex)
            {
                Msg = ex.ToString();
                myDataBase.AbortTransaction();
                return false;
            }

        }

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">每页记录数</param>
        /// <param name="whereSql">查询条件</param>
        /// <param name="total">总记录数</param>
        /// <returns></returns>
        public List<Student> PagedQuery(long pageIndex, long pageSize, Sql whereSql, out long total, out string Msg)
        {

            Msg = string.Empty;
            Sql sql = new Sql();
            sql.Append(@";Select Student.* From Student");
            sql.Append(whereSql);
            sql.OrderBy(" Student.StudentNum Desc");
            try
            {
                return DA<Student>.PagedQuery(pageIndex, pageSize, sql, out total);
            }
            catch (Exception ex)
            {
                Msg = ex.ToString();
                total = -1;
                return null;
            }

        }
        /// <summary>
        /// 获取所有的学生信息
        /// </summary>
        /// <returns></returns>
        public List<Student> QueryAll(out string Msg)
        {

            Msg = string.Empty;
            var sql = Sql.Builder.Append("WHERE 1=1 ");
            try
            {
                return DA<Student>.Fetch(sql);
            }
            catch (Exception ex)
            {
                Msg = ex.ToString();
                return null;
            }

        }
        /// <summary>
        /// 获取所有学生信息
        /// </summary>
        /// <param name="whereSql">查询SQL条件</param>
        /// <param name="Msg">反馈信息</param>
        /// <param name="paras">查询参数</param>
        /// <returns></returns>
        public DataSet QueryALL(string whereSql, out string Msg, params object[] paras)
        {

            DataSet ds = new DataSet();
            Msg = string.Empty;
            Sql sql = new Sql();
            sql.Append(@";Select Student.* From Student");
            sql.Append(whereSql);
            sql.OrderBy(" Student.StudentNum Desc");
            try
            {
                myDataBase.Fill(ds, sql.SQL, paras);
                return ds;
            }
            catch (Exception ex)
            {
                Msg = ex.ToString();
                return null;
            }
        }

        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="mdl">Student</param>
        /// <param name="Msg"></param>
        /// <returns></returns>
        public bool Save(Student mdl, out string Msg)
        {

            Msg = string.Empty;
            try
            {
                Sql s = new Sql();
                s.Append(@";Select * from Student Where StudentNum='" + mdl.StudentNum + "' And StudentID<>'" + mdl.StudentID + "'");
                Student student = DA<Student>.FetchSingle(s);
                if (student != null)
                {
                    return false;
                }
                else
                {
                    return DA<Student>.Save(mdl, mdl.StudentID);
                }
            }
            catch (Exception ex)
            {
                Msg = ex.ToString();
                return false;
            }
        }
    }
}

这是model的代码

namespace Jyhst.Model
{

    [TableName("Student")]
    [PrimaryKey("StudentID", autoIncrement = false)]
    [ExplicitColumns]
    public partial class Student
    {
        [Column]
        public string StudentID
        {
            get
            {
                return _StudentID;
            }
            set
            {
                _StudentID = value;
            }
        }
        string _StudentID;



        [Column]
        public string StudentNum
        {
            get
            {
                return _StudentNum;
            }
            set
            {
                _StudentNum = value;
            }
        }
        string _StudentNum;



        [Column]
        public string StudentName
        {
            get
            {
                return _StudentName;
            }
            set
            {
                _StudentName = value;
            }
        }
        string _StudentName;



        [Column]
        public int? StudentSex
        {
            get
            {
                return _StudentSex;
            }
            set
            {
                _StudentSex = value;
            }
        }
        int? _StudentSex;
        [ResultColumn]
        public string Sex
        {
            
            get
            {
                switch (_StudentSex)
                {
                    case 0:return "男";
                    case 1:return "女";
                    default:return "未知";
                }
            }

        }



        [Column]
        public string StudentAddress
        {
            get
            {
                return _StudentAddress;
            }
            set
            {
                _StudentAddress = value;
            }
        }
        string _StudentAddress;

    }
}

这是界面层的代码

namespace Jyhst.App.Web.CS.UI
{
    public partial class CSStudentList : PageBase
    {
        StudentBLL studentBLL = new StudentBLL();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                AuthenticationPage.IsLocalSystem = true;
                var action = Request["action"];
                if (!string.IsNullOrEmpty(action))
                    ProRequest(action.ToInt());
            }
        }
        protected void ProRequest(int action)
        {
            Response.Buffer = true;      //输出页面是否被缓冲
            Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1); //去掉当前操作前一秒的时间系统的缓存
            Response.Expires = 0;        //不缓存页面
            Response.CacheControl = "no-cache";
            Response.AddHeader("Pragma", "No-Cache");
            switch (action)
            {
                case 1://查询  
                    Response.Write(QueryData());
                    Response.End();
                    break;
                case 2://删除
                    Response.Write(Delete());
                    Response.End();
                    break;
            }
        }

        //查询
        private string QueryData()
        {
            var pageIndex = Context.Request["page"].ToLong();
            var pageSize = Context.Request["rows"].ToLong();
            var Msg = string.Empty;
            long total = 0;
            var sql = Sql.Builder;
            //查询条件
            //获取学生学号
            var StudentNum = Request["StudentNum"];
            //获取学生姓名
            var StudentName = Request["StudentName"];
            if (!string.IsNullOrEmpty(StudentNum))
            {
                sql.Append("Where Student.StudentNum like '%" + StudentNum + "%'");
            }
            if (!string.IsNullOrEmpty(StudentName))
            {
                sql.Append("Where Student.StudentName like '%" + StudentName + "%'");
            }

            var list = studentBLL.PagedQuery(pageIndex, pageSize, sql, out total, out Msg);
            var json = ConvertJson<Student>.ListToJson(list);
            var s = "{\"total\":" + total + ",\"rows\":" + json + "}";
            return s;
        }
        //删除
        private string Delete()
        {
            var StudentID = Request["id"];
            string Msg = string.Empty;
            var isOK = studentBLL.Delete(StudentID, out Msg);
            return isOK ? "1" : "0";
        }

    }
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CSStudentList.aspx.cs" Inherits="Jyhst.App.Web.CS.UI.CSStudentList" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript">
        $(function () {
            $('#tblData').datagrid({
                title: '学生信息',
                noheader: true,
                loadMsg: "正在接收数据...",
                iconCls: 'icon-reload',
                striped: true,
                height: document.documentElement.clientHeight - 5,
                url: '',
                idField: 'StudentID',
                columns: [[
                    { field: 'StudentID', checkbox: true },
                    { field: 'StudentNum', title: '学生编号', width: 200 },
                    { field: 'StudentName', title: '学生姓名', width: 200 },
                    { field: 'Sex', title: '性别', width: 200 },
                    { field: 'StudentAddress', title: '住址', width: 200 },
                ]],
                singleSelect: true,
                rownumbers: true,
                pagination: true,
                toolbar: '#toolbar'
            });

            $(window).resize(function () {
                $('#tblData').datagrid('resize');
            });
        })

        /**
         * 定义新增事件
         */
        function AddNew() {
            return OpenWindow("学生信息维护", "/CS/UI/CSStudentEdit.aspx?id=", 700, 350,
                function () { $('#tblData').datagrid("reload"); })
        }

        /**
         * 定义查看事件
         */
        function View() {
            var id = GetDataGridSelectedRow('tblData', 'StudentID');
            if (id == "") {
                Alert("请选择后再查看!");
                return false;
            }
            return OpenWindow("学生信息查看", "/CS/UI/CSStudentEdit.aspx?id=" + id + "&IsView=T", 700, 350,
                function () { $('#tblData').datagrid("reload"); })
        }

        /**
         * 定义修改事件
         */
        function Update() {
            //var row = $('#tblData').datagrid('getSelected');
            var id = GetDataGridSelectedRow('tblData', 'StudentID');
            if (id == "") {
                Alert("请选择后再修改!");
                return false;
            }
            return OpenWindow("学生信息维护", "/CS/UI/CSStudentEdit.aspx?id=" + id, 700, 280,
                function () { $('#tblData').datagrid("reload"); })
        }

       /**
         * 定义查询事件
         */
        function Search() {
            var StudentNum = $("#txtStudentNum").val();//学号
            var StudentName = $("#txtStudentName").val();//姓名
            $("#tblData").datagrid({
                url: 'CSStudentList.aspx?action=1&rnd=' + GetRand(),
                queryParams: { StudentNum: StudentNum, StudentName: StudentName }
            });
        }

        /**
         * 定义删除事件
         */
        function Delete() {
            //var row = $('#tblData').datagrid('getSelected');
            var id = GetDataGridSelectedRow('tblData', 'StudentID');
            if (id == "") {
                Alert("请选择后再删除!");
                return false;
            }
            Confirm("确定要删除吗?", function () {
                var url = "CSStudentList.aspx?action=2&id=" + id + "&d=" + new Date().toString();
                DataService.AjaxGet(url, function (data) {
                    if (data == "0")
                        Notice("删除失败!");
                    if (data == "1") {
                        Notice("删除成功!");
                        $("#tblData").datagrid("reload");
                    }
                });
            });
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div id="toolbar">
            <table class="tblEdit" border="0">
                <tr>
                    <td class="datalabel">学生学号:</td>
                    <td>
                        <asp:TextBox ID="txtStudentNum" runat="server" ClientIDMode="Static"></asp:TextBox>
                    </td>
                    <td class="datalabel">学生姓名:</td>
                    <td>
                        <asp:TextBox ID="txtStudentName" runat="server" ClientIDMode="Static"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td></td>
                    <td colspan="3">
                        <uc1:LoadButton runat="server" ID="LoadButton1" />
                    </td>
                </tr>
            </table>
        </div>
        <div class="tblTop2">
            <table id="tblData">
            </table>
        </div>
    </form>
</body>
</html>

仅供参考,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值