Example #1
0
 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);
         }
     }
 }
Example #2
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);
         }
     }
 }