public int UpdateAndSetRole(SysUser model, string password, string[] roleIds) { using (var db = GetInstance()) { try { db.Ado.BeginTran(); model.ModifyUser = OperatorProvider.Instance.Current.Account; model.ModifyTime = DateTime.Now; int row = db.Updateable <SysUser>(model).UpdateColumns(it => new { it.Account, it.RealName, it.RoleId, it.MobilePhone, it.IsEnabled, it.ModifyUser, it.ModifyTime }).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } //修改密码 if (!string.IsNullOrEmpty(password)) { var logOnModel = db.Queryable <SysUserLogOn>().Where(it => it.UserId == model.Id).First(); logOnModel.Password = password.MD5Encrypt().DESEncrypt(logOnModel.SecretKey).MD5Encrypt(); row = db.Updateable <SysUserLogOn>(logOnModel).UpdateColumns(it => new { it.Password }).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } } //删除原来的角色 row = db.Deleteable <SysUserRoleRelation>().Where(it => it.UserId == model.Id).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } //新增新的角色 List <SysUserRoleRelation> list = new List <SysUserRoleRelation>(); foreach (string roleId in roleIds) { SysUserRoleRelation roleRelation = new SysUserRoleRelation { Id = Guid.NewGuid().ToString().Replace("-", ""), UserId = model.Id, RoleId = roleId, CreateUser = OperatorProvider.Instance.Current.Account, CreateTime = DateTime.Now }; list.Add(roleRelation); } row = db.Insertable <SysUserRoleRelation>(list).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } db.Ado.CommitTran(); return(row); } catch { db.Ado.RollbackTran(); return(0); } } }
public int Insert(SysUser model, string password, string[] roleIds) { using (var db = GetInstance()) { try { db.Ado.BeginTran(); ////新增用户基本信息。 model.Id = Guid.NewGuid().ToString().Replace("-", ""); model.DeleteMark = "0"; model.CreateUser = OperatorProvider.Instance.Current.Account; model.CreateTime = DateTime.Now; model.ModifyUser = model.CreateUser; model.ModifyTime = model.CreateTime; model.Avatar = "/Content/framework/images/avatar.png"; int row = db.Insertable <SysUser>(model).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } //新增新的角色 List <SysUserRoleRelation> list = new List <SysUserRoleRelation>(); foreach (string roleId in roleIds) { SysUserRoleRelation roleRelation = new SysUserRoleRelation { Id = Guid.NewGuid().ToString().Replace("-", ""), UserId = model.Id, RoleId = roleId, CreateUser = OperatorProvider.Instance.Current.Account, CreateTime = DateTime.Now }; list.Add(roleRelation); } row = db.Insertable <SysUserRoleRelation>(list).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } //新增用户登陆信息。 SysUserLogOn userLogOnEntity = new SysUserLogOn(); userLogOnEntity.Id = Guid.NewGuid().ToString().Replace("-", ""); userLogOnEntity.UserId = model.Id; userLogOnEntity.SecretKey = userLogOnEntity.Id.DESEncrypt().Substring(0, 8); userLogOnEntity.Password = password.MD5Encrypt().DESEncrypt(userLogOnEntity.SecretKey).MD5Encrypt(); userLogOnEntity.LoginCount = 0; userLogOnEntity.IsOnLine = "0"; row = db.Insertable <SysUserLogOn>(userLogOnEntity).ExecuteCommand(); //初始化返点 SysRebateEntity rebateModel = new SysRebateEntity { ShopID = model.ShopID, UserID = model.Id, TipRebate = 0, HourRebate = 0, ModifiedBy = OperatorProvider.Instance.Current.Account, CreateTime = DateTime.Now, ModifiedTime = DateTime.Now }; row = db.Insertable <SysRebateEntity>(rebateModel).ExecuteCommand(); if (row == 0) { db.Ado.RollbackTran(); return(row); } db.Ado.CommitTran(); return(row); } catch (Exception ex) { db.Ado.RollbackTran(); new LogLogic().Write(Level.Error, "新增用户", ex.Message, ex.StackTrace); return(0); } } }