啊鑫
2024-07-11 afbf8700d137710713db61955879d0f5acb73738
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#region
 
using System;
using System.Data;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.CodeGenerator;
using CSFrameworkV5.Interfaces;
using CSFrameworkV5.Models;
 
#endregion
 
/*==========================================
 *   程序说明: UserCustomAction的数据访问层
 *   作者姓名:
 *   创建日期: 2013-07-17 05:46:08
 *   最后修改: 2013-07-17 05:46:08
 *
 *   注: 本代码由ClassGenerator自动生成
 *   版权所有
 *==========================================*/
 
namespace CSFrameworkV5.DataAccess
{
    /// <summary>
    ///     dalUserCustomAction
    /// </summary>
    [DefaultORM_UpdateMode(typeof(sys_UserCustomAction), true)]
    public class dalUserCustomAction : dalBaseDataDict, IBridge_CustomModule
    {
        /// <summary>
        ///     构造器
        /// </summary>
        /// <param name="loginer">当前登录用户</param>
        public dalUserCustomAction(Loginer loginer)
            : base(loginer)
        {
            _KeyName = sys_UserCustomAction.__KeyName; //主键字段
            _TableName = sys_UserCustomAction.__TableName; //表名
            _ModelType = typeof(sys_UserCustomAction);
            _Database = DatabaseProvider.SystemDatabase;
        }
 
        public bool Delete(string Account, string FormFullName, string MenuName)
        {
            var p = _Database.ParamSymboName;
            var sql =
                $"DELETE FROM sys_UserCustomAction WHERE Account={p}Account AND FormFullName={p}FormFullName AND MenuName={p}MenuName";
            var cmd = _Database.CreateCommand(sql);
            cmd.AddParam("Account", DbType.String, Account);
            cmd.AddParam("FormFullName", DbType.String, FormFullName);
            cmd.AddParam("MenuName", DbType.String, MenuName);
            return _Database.ExecuteCommand(cmd.Command) > 0;
        }
 
        public bool Exist(string Account, string FormFullName, string MenuName)
        {
            var p = _Database.ParamSymboName;
            var sql =
                $"SELECT COUNT(*) FROM sys_UserCustomAction WHERE Account={p}Account AND FormFullName={p}FormFullName AND MenuName={p}MenuName";
            var cmd = _Database.CreateCommand(sql);
            cmd.AddParam("Account", DbType.String, Account);
            cmd.AddParam("FormFullName", DbType.String, FormFullName);
            cmd.AddParam("MenuName", DbType.String, MenuName);
            return ConvertEx.ToInt(_Database.ExecuteScalar(cmd.Command)) > 0;
        }
 
        /// <summary>
        ///     根据账户名称获得自定义常用功能列表
        /// </summary>
        /// <param name="Account"></param>
        /// <returns></returns>
        public DataTable GetCustomAction(string Account)
        {
            var sql =
                $"SELECT * FROM sys_UserCustomAction WHERE Account={_Database.ParamSymboName}Account ORDER BY RowIndex,OrderID";
            var cmd = _Database.CreateCommand(sql);
            cmd.AddParam("Account", DbType.String, Account);
            return _Database.GetTable(cmd.Command,
                sys_UserCustomAction.__TableName);
        }
 
        public DataTable GetMenuItems()
        {
            var sp = _Database.CreateSqlProc("usp_GetUserCustomActionMenu");
            sp.AddParam("Account", DbType.String, _Loginer.Account);
            sp.AddParam("DataSet", DbType.String, _Loginer.DBID);
            return _Database.GetTable(sp.Command);
        }
 
        /// <summary>
        ///     排序編號
        /// </summary>
        /// <param name="Account"></param>
        /// <returns></returns>
        public DataTable GetRowIndexAOrderID(string Account, int maxRows,
            int maxCols)
        {
            var cmd = _Database.CreateSqlProc("usp_GetRowIndexAOrderID");
            cmd.AddParam("Account", DbType.String, Account);
            cmd.AddParam("MaxRows", DbType.Int32, maxRows);
            cmd.AddParam("MaxCols", DbType.Int32, maxCols);
            return _Database.GetTable(cmd.Command);
        }
 
        public bool ResetCustomActions(string Account)
        {
            var p = _Database.ParamSymboName;
            var sql =
                $"DELETE FROM sys_UserCustomAction WHERE Account={p}Account";
            var cmd = _Database.CreateCommand(sql);
            cmd.AddParam("Account", DbType.String, Account);
            var i = _Database.ExecuteCommand(cmd.Command);
            return true;
        }
 
        /// <summary>
        ///     根据表名获取该表的SQL命令生成器
        /// </summary>
        /// <param name="table">当前提交的资料表</param>
        /// <returns></returns>
        protected override IGenerateSqlCommand CreateSqlGenerator(
            DataTable table)
        {
            Type ORM = null;
            if (table.TableName == sys_UserCustomAction.__TableName)
                ORM = typeof(sys_UserCustomAction);
 
            if (ORM == null)
                throw new Exception(table.TableName + "表没有建立ORM模型!");
 
            return new GenerateSqlCmdByTableFields(ORM, table,
                GeneratorFactory);
        }
    }
}