/// <summary> /// 添加管理员 /// </summary> /// <returns></returns> public JsonResult AddManger() { //检查访问权限 CheckPermission(); using (ResponseResult <object> result = new ResponseResult <object>()) { string loginUserName = Request.Form["LoginUserName"].ToString(); //检查手机号是否存在 if (this._adminUserRepository.Count(u => u.UserName == loginUserName) > 0) { result.IsSuccess = false; result.Message = ResponeString.LoginUserNameExist; return(Json(result)); } var adminUser = new T_ADMIN_USER() { RealName = Request.Form["UserName"].ToString(), UserName = Request.Form["LoginUserName"], Password = Encrypt.MD5Encrypt(Request.Form["Password"].ToString()), Province = Request.Form["Province"].ToString(), City = Request.Form["City"].ToString(), Region = Request.Form["Region"].ToString(), Township = Request.Form["Township"].ToString(), Village = Request.Form["Village"].ToString(), CreateTime = Utility.TimeHelper.GetChinaLocalTime(), }; T_USER_ROLE_RELATION rolemodel = new T_USER_ROLE_RELATION() { UserID = 1, RoleID = Convert.ToInt32(Request.Form["Role"].DefaultIfEmpty("0")), AuditUserId = Convert.ToInt32(Request.Form["AuditUserId"].DefaultIfEmpty("0")), CreateTime = Utility.TimeHelper.GetChinaLocalTime(), MemberType = false }; if (this._adminUserRepository.CreateUser(adminUser, rolemodel)) { result.IsSuccess = true; result.Message = ResponeString.AddOk; result.Entity = 1; } else { result.IsSuccess = false; result.Message = ResponeString.AddFaile; } return(new JsonResultEx(result)); } }
public bool CreateUser(T_ADMIN_USER adminUser, T_USER_ROLE_RELATION userRoleRelation) { using (var ctx = GetDbContextInstance()) { var tran = ctx.Database.BeginTransaction(); Batch(ctx, EntityState.Added, adminUser); ctx.SaveChanges(); userRoleRelation.UserID = adminUser.Id; var userRoleRelationEntry = ctx.Entry <T_USER_ROLE_RELATION>(userRoleRelation); userRoleRelationEntry.State = EntityState.Added; var effect = ctx.SaveChanges(); //如果添加的用户为经销商角色还需要添加经销商的分管区域记录 if (userRoleRelation.RoleID == (int)RoleType.Dealer) { string manageAID = null; Func <string, bool> IsValidAddressValue = (areaCode) => !(string.IsNullOrEmpty(areaCode) || areaCode == "0"); if (IsValidAddressValue(adminUser.Village)) { manageAID = adminUser.Village; } else if (IsValidAddressValue(adminUser.Township)) { manageAID = adminUser.Township; } else if (IsValidAddressValue(adminUser.Region)) { manageAID = adminUser.Region; } else if (IsValidAddressValue(adminUser.Province)) { manageAID = adminUser.Province; } var supplesAreaEntry = ctx.Entry <T_SUPPLIERS_AREA>(new T_SUPPLIERS_AREA { AID = manageAID, UserID = adminUser.Id, CreateDateTime = userRoleRelation.CreateTime, State = true }); supplesAreaEntry.State = EntityState.Added; effect = ctx.SaveChanges(); } tran.Commit(); return(effect > 0); } }
public int CreateUser(T_USER entity, T_USER_ROLE_RELATION rolemodel) { using (var dbContext = new DuPont_TestContext()) { //创建事务,如果操作过程中出现异常,操作会回滚,防止产生脏数据 using (var tran = dbContext.Database.BeginTransaction()) { dbContext.T_USER.Add(entity); dbContext.SaveChanges(); rolemodel.MemberType = true; rolemodel.UserID = entity.Id; dbContext.T_USER_ROLE_RELATION.Add(rolemodel); dbContext.SaveChanges(); //如果是经销商 if (rolemodel.RoleID == (int)RoleType.Dealer) { string controlAreaLevel = ""; if (!string.IsNullOrEmpty(entity.Village) && entity.Village != "0") { controlAreaLevel = entity.Village; } else if (!string.IsNullOrEmpty(entity.Region) && entity.Region != "0") { controlAreaLevel = entity.Region; } else if (!string.IsNullOrEmpty(entity.City) && entity.City != "0") { controlAreaLevel = entity.City; } else if (!string.IsNullOrEmpty(entity.Province) && entity.Province != "0") { controlAreaLevel = entity.Province; } else { throw new Exception("经销商的地址不能为空!"); } var supplier_area = new T_SUPPLIERS_AREA { AID = controlAreaLevel, CreateDateTime = DateTime.Now, State = true, UserID = entity.Id }; var paras = new SqlParameter[] { new SqlParameter("@aid", supplier_area.AID), new SqlParameter("@createdatetime", supplier_area.CreateDateTime), new SqlParameter("@state", supplier_area.State), new SqlParameter("@userid", supplier_area.UserID) }; var sql = "insert into T_SUPPLIERS_AREA(aid,createdatetime,state,userid)"; sql += "values(@aid,@createdatetime,@state,@userid)"; dbContext.Database.ExecuteSqlCommand(sql, paras); dbContext.SaveChanges(); } tran.Commit();//提交事务 return(1); } } }
public long UpdateUserInfo(T_USER model, Dictionary <int, byte?> demandLevelInfoList, long loginid) { using (var dbContext = new DuPont_TestContext()) { //创建事务,如果操作过程中出现异常,操作会回滚,防止产生脏数据 using (var tran = dbContext.Database.BeginTransaction()) { //数据库操作 #region 修改用户基本信息 T_USER updmodel = dbContext.T_USER.Find(model.Id); updmodel.UserName = model.UserName; //updmodel.PhoneNumber = model.PhoneNumber; updmodel.DPoint = model.DPoint; updmodel.Province = model.Province; updmodel.City = model.City; updmodel.Region = model.Region; updmodel.Township = model.Township; updmodel.Village = model.Village; updmodel.ModifiedUserId = loginid; updmodel.ModifiedTime = Utility.TimeHelper.GetChinaLocalTime(); //执行修改操作 var upd = dbContext.T_USER.Find(updmodel.Id); if (upd != null) { ClassValueCopyHelper.Copy(upd, updmodel); dbContext.SaveChanges(); } #endregion #region 修改用户的角色信息以及技能信息 //1获取各角色的最高星星数 byte?farmerstar = demandLevelInfoList[0]; byte?operatorstar = 0; byte?businesstar = 0; T_USER_ROLE_DEMANDTYPELEVEL_RELATION skillmodel = new T_USER_ROLE_DEMANDTYPELEVEL_RELATION(); //农机手 for (int i = 100101; i <= 100108; i++) { //添加农机手的技能信息及星星数 skillmodel = new T_USER_ROLE_DEMANDTYPELEVEL_RELATION { UserId = model.Id, RoleId = (int)RoleType.MachineryOperator, DemandId = i, Star = Convert.ToInt32(demandLevelInfoList[i]), CreateTime = Utility.TimeHelper.GetChinaLocalTime() }; if (demandLevelInfoList[i] > 0) { //先删除原有记录 var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId); if (dbEntry != null) { dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } //执行添加操作 dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Add(skillmodel); dbContext.SaveChanges(); } else { //删除原有记录 var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId); if (dbEntry != null) { dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } } } //获取农机手角色的最大星星数 var operatorstarmodel = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Where(u => u.UserId == model.Id && u.RoleId == (int)RoleType.MachineryOperator).OrderByDescending(u => u.Star).FirstOrDefault(); if (operatorstarmodel != null) { operatorstar = (byte?)operatorstarmodel.Star; } //产业商 for (int i = 100201; i <= 100202; i++) { //添加产业商的技能信息及星星数 skillmodel = new T_USER_ROLE_DEMANDTYPELEVEL_RELATION { UserId = model.Id, RoleId = (int)RoleType.Business, DemandId = i, Star = Convert.ToInt32(demandLevelInfoList[i]), CreateTime = Utility.TimeHelper.GetChinaLocalTime() }; if (demandLevelInfoList[i] > 0) { //先删除原有记录 var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId); if (dbEntry != null) { dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } //执行添加操作 dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Add(skillmodel); dbContext.SaveChanges(); } else { //删除原有记录 var dbEntry = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.SingleOrDefault(u => u.UserId == skillmodel.UserId && u.RoleId == skillmodel.RoleId && u.DemandId == skillmodel.DemandId); if (dbEntry != null) { dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } } } //获取产业商角色的最大星星数 var businessstarmodel = dbContext.T_USER_ROLE_DEMANDTYPELEVEL_RELATION.Where(u => u.UserId == model.Id && u.RoleId == (int)RoleType.Business).OrderByDescending(u => u.Star).FirstOrDefault(); if (businessstarmodel != null) { businesstar = (byte?)businessstarmodel.Star; } //2判断各角色的星星数是否大于0,大于0执行添加操作,如果之前已经存在该角色的记录信息先删除在添加,等于0执行删除操作。 T_USER_ROLE_RELATION rolemodel = new T_USER_ROLE_RELATION(); if (farmerstar >= 0)//ww增加=,否则会删除角色表的数据 { rolemodel = new T_USER_ROLE_RELATION { UserID = model.Id, MemberType = true, RoleID = (int)RoleType.Farmer, Star = farmerstar, AuditUserId = loginid, CreateTime = Utility.TimeHelper.GetChinaLocalTime() }; //先删除原有记录 var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == rolemodel.UserID && u.RoleID == rolemodel.RoleID); if (dbEntry != null) { dbContext.T_USER_ROLE_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } //执行添加操作 dbContext.T_USER_ROLE_RELATION.Add(rolemodel); dbContext.SaveChanges(); } else { //删除原有记录 var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == model.Id && u.RoleID == (int)RoleType.Farmer); if (dbEntry != null) { dbContext.T_USER_ROLE_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } } if (operatorstar > 0) { rolemodel = new T_USER_ROLE_RELATION { UserID = model.Id, MemberType = true, RoleID = (int)RoleType.MachineryOperator, Star = operatorstar, AuditUserId = loginid, CreateTime = Utility.TimeHelper.GetChinaLocalTime() }; //先删除原有记录 var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == rolemodel.UserID && u.RoleID == rolemodel.RoleID); if (dbEntry != null) { dbContext.T_USER_ROLE_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } //执行添加操作 dbContext.T_USER_ROLE_RELATION.Add(rolemodel); dbContext.SaveChanges(); } else { //删除原有记录 var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == model.Id && u.RoleID == (int)RoleType.MachineryOperator); if (dbEntry != null) { dbContext.T_USER_ROLE_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } } if (businesstar > 0) { rolemodel = new T_USER_ROLE_RELATION { UserID = model.Id, MemberType = true, RoleID = (int)RoleType.Business, Star = businesstar, AuditUserId = loginid, CreateTime = Utility.TimeHelper.GetChinaLocalTime() }; //先删除原有记录 var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == rolemodel.UserID && u.RoleID == rolemodel.RoleID); if (dbEntry != null) { dbContext.T_USER_ROLE_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } //执行添加操作 dbContext.T_USER_ROLE_RELATION.Add(rolemodel); dbContext.SaveChanges(); } else { //删除原有记录 var dbEntry = dbContext.T_USER_ROLE_RELATION.SingleOrDefault(u => u.MemberType && u.UserID == model.Id && u.RoleID == (int)RoleType.Business); if (dbEntry != null) { dbContext.T_USER_ROLE_RELATION.Remove(dbEntry); dbContext.SaveChanges(); } } #endregion tran.Commit();//提交事务 return(1); } } }
/// <summary> /// 添加user /// </summary> /// <returns></returns> public JsonResult AddUser() { //检查访问权限 CheckPermission(); using (ResponseResult <object> result = new ResponseResult <object>()) { string loginUserName = Request.Form["LoginUserName"].ToString(); //检查手机号是否存在 if (this._adminUserRepository.Count(u => u.UserName == loginUserName) > 0) { result.IsSuccess = false; result.Message = ResponeString.LoginUserNameExist; return(Json(result)); } //创建一个后端用户 var dealerUser = new T_ADMIN_USER() { RealName = Request.Form["UserName"].ToString(), UserName = Request.Form["LoginUserName"], Password = Encrypt.MD5Encrypt(Request.Form["Password"].ToString()), Province = Request.Form["Province"].ToString(), City = Request.Form["City"].ToString(), Region = Request.Form["Region"].ToString(), Township = Request.Form["Township"].ToString(), Village = Request.Form["Village"].ToString(), CreateTime = Utility.TimeHelper.GetChinaLocalTime(), }; //生成用户角色关联信息 var rolemodel = new T_USER_ROLE_RELATION() { UserID = 0, RoleID = (int)RoleType.Dealer, AuditUserId = Convert.ToInt32(Request.Form["AuditUserId"].DefaultIfEmpty("0")), CreateTime = Utility.TimeHelper.GetChinaLocalTime(), MemberType = false }; if (this._adminUserRepository.CreateUser(dealerUser, rolemodel)) { result.IsSuccess = true; result.Message = ResponeString.AddOk; result.Entity = 1; var lognet = new DP_Log() { CreateTime = DateTime.Now, Message = "完成添加经销商" + rolemodel.UserID + "操作", StackTrace = string.Empty }; } else { result.IsSuccess = false; result.Message = ResponeString.AddFaile; } return(new JsonResultEx(result)); } }