yantian yue
2023-12-29 cd7c9e15bc51e65be0b456129d7d380667b9351e
提交 | 用户 | 时间
e46d3b 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Data.SqlClient;
7 using System.Data.Entity;
8 using YX.Entity;
9 using System.Transactions;
10 namespace YX.DAL
11 {
12     public class SystemUserInfo_Dal
13     {
14       
15        public DataTable GetUserInfoByOrganization_Id(StringBuilder SqlWhere, IList<SqlParameter> IList_param)
16         {
17             DataTable dt = new DataTable();
18             try
19             {
20                 using (Sam_DBEntities db=new Sam_DBEntities())
21                 {
22
23                     StringBuilder strSql = new StringBuilder();
24                     strSql.Append(@"SELECT 
25                  U.User_ID,
26                 U.User_Code as '用户工号',
27                 U.User_Name as '用户名称',
28                 U.User_Account as '登录账户',
29  
30                 U.User_Sex as '性别',
31                 U.Title as '职称',
32                 U.DeleteMark as '状态',
33                 U.User_Remark as '备注',
34                 U.CreateDate  as'创建时间',
35                 U.Email as '邮箱'
36                 from Base_UserInfo U 
37                 LEFT JOIN Base_StaffOrganize S 
38                 ON U.User_ID = S.User_ID where U.DeleteMark !=0");
39                     strSql.Append(SqlWhere);
40                     strSql.Append(" GROUP BY U.User_ID,U.User_Code,U.User_Name,U.User_Account,U.User_Sex,U.Title,U.DeleteMark,U.User_Remark,U.CreateDate,U.Email");
41
42                     dt = SqlHelper.ExecuteDataset(db.Database.Connection.ConnectionString, CommandType.Text, strSql.ToString(), IList_param.ToArray()).Tables[0];
43                 }
44
45             }
46             catch (Exception ex)
47             {
48                 
49                 throw ex;
50             }
51             return dt;
52         }
53        /// <summary>
54        /// 后台登陆验证
55        /// </summary>
56        /// <param name="name">账户</param>
57        /// <param name="pwd">密码</param>
58        /// <returns></returns>
59        public Base_UserInfo UserLogin(string name, string pwd)
60        {
61
62            try
63            {
64                using (Sam_DBEntities db = new Sam_DBEntities())
65                {
66                   // var password = Md5Helper.Md5(pwd);
67                    return db.Base_UserInfo.Where(o => o.User_Account == name && o.User_Pwd == pwd).FirstOrDefault();
68                }
69
70            }
71            catch (Exception ex)
72            {
73
74                throw ex;
75            }
76        }
77        /// <summary>
78        /// 添加用户
79        /// </summary>
80        /// <param name="UserInfo"></param>
81        /// <returns></returns>
82        public int AddUserInfo(Base_UserInfo UserInfo)
83        {
84            int result = 0;
85            try
86            {
87                using (Sam_DBEntities db = new Sam_DBEntities())
88                {
89                    using (TransactionScope trans = new TransactionScope())
90                    {
91                       // UserInfo.User_Pwd = Md5Helper.Md5("123456");
92                        db.Base_UserInfo.Add(UserInfo);
93                        result = db.SaveChanges();
94                        trans.Complete();
95                        return result;
96                    }
97
98                }
99            }
100            catch (Exception ex)
101            {
102
103                throw ex;
104            }
105        }
106        /// <summary>
107        /// 修改用户
108        /// </summary>
109        /// <param name="UserInfo"></param>
110        /// <returns></returns>
111        public int EditUserInfo(Base_UserInfo UserInfo)
112        {
113            int result = 0;
114            try
115            {
116                using (Sam_DBEntities db = new Sam_DBEntities())
117                {
118
119                    using (TransactionScope trans = new TransactionScope())
120                    {
121                        //先删除所属部门                       
122                        db.Database.ExecuteSqlCommand("delete from Base_StaffOrganize where User_ID={0}", UserInfo.User_ID);
123                        //先删除用户权限               
124                        db.Database.ExecuteSqlCommand("delete from Base_UserRight where User_ID={0}", UserInfo.User_ID);
125                        //先删除属性
126                        db.Database.ExecuteSqlCommand("delete from Base_AppendPropertyInstance where PropertyInstance_Key={0}", UserInfo.User_ID);
127                         //先删除用户角色
128                        db.Database.ExecuteSqlCommand("delete from Base_UserRole where User_ID={0}",UserInfo.User_ID);
129
130                        //添加用户权限
131
132                        if (UserInfo.Base_UserRight != null && UserInfo.Base_UserRight.Count>0)
133                        {
134                            string sql_userright = "";
135                            foreach (var item in UserInfo.Base_UserRight)
136                            {
137                                sql_userright += string.Format(@"insert into Base_UserRight ([UserRight_ID]
138                                                       ,[User_ID]
139                                                       ,[Menu_Id]
140                                                       ,[CreateDate]
141                                                       ,[CreateUserId]
142                                                       ,[CreateUserName])
143                                         values('{0}','{1}','{2}','{3}','{4}','{5}');"
144                                    , Guid.NewGuid().ToString(), UserInfo.User_ID, item.Menu_Id, DateTime.Now.ToString("yyyy-MM-dd HH: mm:ss"), item.CreateUserId, item.CreateUserName);
145                            }
146                            db.Database.ExecuteSqlCommand(sql_userright);
147                        }
148
149                        //添加所属部门
150                        if (UserInfo.Base_StaffOrganize != null && UserInfo.Base_StaffOrganize.Count>0)
151                        {
152                            string sql_staff = "";
153                            foreach (var item in UserInfo.Base_StaffOrganize)
154                            {
155                                sql_staff += string.Format(@"insert into Base_StaffOrganize 
156                             ([StaffOrganize_Id]  ,[Organization_ID],[User_ID] ,[CreateDate] ,[CreateUserId],[CreateUserName] )
157                             values('{0}','{1}','{2}','{3}','{4}','{5}');", Guid.NewGuid().ToString(), item.Organization_ID, UserInfo.User_ID, DateTime.Now.ToString("yyyy-MM-dd HH: mm:ss"),
158                                                                        item.CreateUserId, item.CreateUserName);
159                            }
160                            db.Database.ExecuteSqlCommand(sql_staff);
161                        }
162                         //添加所属角色
163                         if (UserInfo.Base_UserRole != null && UserInfo.Base_UserRole.Count>0)
164                         {
165                             string sql_user_role = "";
166                             foreach (var item in UserInfo.Base_UserRole)
167                             {
168                                 sql_user_role += string.Format(@"insert into Base_UserRole( [UserRole_ID]
169                                   ,[User_ID],[Roles_ID],[CreateDate],[CreateUserId],[CreateUserName])
170                                     values('{0}','{1}','{2}','{3}','{4}','{5}')",Guid.NewGuid().ToString(),UserInfo.User_ID,item.Roles_ID,DateTime.Now.ToString("yyyy-MM-dd HH: mm:ss"),
171                                     item.CreateUserId,item.CreateUserName);
172                             }
173                             db.Database.ExecuteSqlCommand(sql_user_role);
174                         }
175                        //添加属性
176                        if (UserInfo.Base_AppendPropertyInstance != null && UserInfo.Base_AppendPropertyInstance.Count>0)
177                        {
178                            string sql_append = "";
179                            foreach (var item in UserInfo.Base_AppendPropertyInstance)
180                            {
181                                sql_append += string.Format(@"insert into Base_AppendPropertyInstance([PropertyInstance_ID] ,[Property_Control_ID] ,
182                                 [PropertyInstance_Value],[PropertyInstance_Key])values('{0}','{1}','{2}','{3}');",
183                                             Guid.NewGuid().ToString(), item.Property_Control_ID, item.PropertyInstance_Value, UserInfo.User_ID);
184                            }
185                            db.Database.ExecuteSqlCommand(sql_append);
186                        }
187                       
188                        //修改信息
189                        db.Base_UserInfo.Attach(UserInfo);
190                        //把当前实体的状态改为Modified
191                        db.Entry(UserInfo).State = EntityState.Modified;//会全部字段修改
192                        db.Entry(UserInfo).Property("User_Pwd").IsModified = false;//不修改某字段
193                        db.Entry(UserInfo).Property("CreateDate").IsModified = false;//不修改某字段
194                        db.Entry(UserInfo).Property("CreateUserId").IsModified = false;//不修改某字段
195                        db.Entry(UserInfo).Property("CreateUserName").IsModified = false;//不修改某字段
196                        result = db.SaveChanges();
197                        trans.Complete();
198                        return result;
199                    }
200
201                }
202            }
203            catch (Exception ex)
204            {
205
206                throw ex;
207            }
208        }
209     }
210 }