public HttpResponseMessage Modify([FromUri] int userId, [FromBody] User user) { using (var db = new SecureCloud_Entities()) { var paraShow = new StringBuilder(20); try { var userEntity = db.T_DIM_USER.FirstOrDefault(u => u.USER_NO == userId); if (userEntity == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, StringHelper.GetMessageString("用户不存在"))); } paraShow.AppendFormat("用户名:{0},", userEntity.USER_NAME); if (user.Password != default(string)) { userEntity.USER_PWD = user.Password; paraShow.AppendFormat("密码改为:{0},", StringHelper.Confuse(user.Password)); } if (user.Email != default(string)) { userEntity.USER_EMAIL = user.Email; paraShow.AppendFormat("邮箱改为:{0},", StringHelper.Confuse(user.Email)); } if (user.Phone != default(string)) { userEntity.USER_PHONE = user.Phone; paraShow.AppendFormat("联系电话改为:{0},", user.Phone); } if (user.RoleId != default(int)) { userEntity.ROLE_ID = user.RoleId; var role = db.T_DIM_ROLE.FirstOrDefault(r => r.ROLE_ID == user.RoleId); var roleName = role != null ? role.ROLE_DESCRIPTION : string.Empty; paraShow.AppendFormat("角色改为:{0},", roleName); } // 配置组织 if (user.Orgs != null || user.Orgs == "clear") { var queryOrg = from uo in db.T_DIM_USER_ORG where uo.USER_NO == userId select uo; foreach (var userOrg in queryOrg) { var entry = db.Entry(userOrg); entry.State = System.Data.EntityState.Deleted; } if (user.Orgs == "clear") { paraShow.AppendFormat("清除所属组织单位,"); } if (user.Orgs.Length != 0 && user.Orgs != "clear") { var orgs = user.Orgs.Split(',').Select(o => Convert.ToInt32(o)); var org = db.T_DIM_ORGANIZATION.Where(o => orgs.Contains(o.ID)).Select(o => o.ABB_NAME_CN); paraShow.AppendFormat("所属组织单位改为:{0},", string.Join(",", org)); foreach (var orgId in orgs) { var uo = new T_DIM_USER_ORG { USER_NO = userId, ORGANIZATION_ID = orgId }; var entry2 = db.Entry(uo); entry2.State = System.Data.EntityState.Added; } } } //配置结构物 if (user.Structs != null || user.Structs == "clear") { var queryStc = from us in db.T_DIM_USER_STRUCTURE where us.USER_NO == userId select us; foreach (var userStructure in queryStc) { var entry = db.Entry(userStructure); entry.State = System.Data.EntityState.Deleted; } if (user.Orgs == "clear") { paraShow.AppendFormat("清除关注结构物,"); } if (user.Structs.Length != 0 && user.Structs != "clear") { var stcs = user.Structs.Split(',').Select(o => Convert.ToInt32(o)); var stc = db.T_DIM_STRUCTURE.Where(o => stcs.Contains(o.ID)).Select(o => o.STRUCTURE_NAME_CN); paraShow.AppendFormat("关注结构物改为:{0},", string.Join(",", stc)); foreach (var stcId in user.Structs.Split(',').Select(o => Convert.ToInt32(o))) { var us = new T_DIM_USER_STRUCTURE { USER_NO = userId, STRUCTURE_ID = stcId }; var entry3 = db.Entry(us); entry3.State = System.Data.EntityState.Added; } } } #region 日志信息 this.Request.Properties["ActionParameter"] = JsonConvert.SerializeObject(user); this.Request.Properties["ActionParameterShow"] = paraShow.ToString(); #endregion db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Accepted, StringHelper.GetMessageString("用户信息修改成功"))); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, StringHelper.GetMessageString("用户信息修改失败"))); } } }
public HttpResponseMessage Add([FromBody] User user) { using (var db = new SecureCloud_Entities()) { try { var newUser = new T_DIM_USER { USER_NAME = user.UserName, USER_PWD = user.Password, USER_EMAIL = user.Email, USER_PHONE = user.Phone, USER_IS_TRIL = false, USER_IS_ENABLED = true, ROLE_ID = user.RoleId, USER_ORG = user.beOrg }; db.T_DIM_USER.Add(newUser); db.SaveChanges(); int userId = newUser.USER_NO; string sbOrg = string.Empty; // 配置组织 if (user.Orgs != null) { var orgs = user.Orgs.Split(',').Select(o => Convert.ToInt32(o)); var org = db.T_DIM_ORGANIZATION.Where(o => orgs.Contains(o.ID)).Select(o => o.ABB_NAME_CN); sbOrg = string.Join(",", org); foreach (var orgId in orgs) { var uo = new T_DIM_USER_ORG { USER_NO = userId, ORGANIZATION_ID = orgId }; var entry2 = db.Entry(uo); entry2.State = System.Data.EntityState.Added; } } string sbStc = string.Empty; //配置结构物 if (user.Structs != null) { var stcs = user.Structs.Split(',').Select(o => Convert.ToInt32(o)); var st = db.T_DIM_STRUCTURE.Where(s => stcs.Contains(s.ID)).Select(s => s.STRUCTURE_NAME_CN); sbStc = string.Join(",", st); foreach (var stcId in stcs) { var us = new T_DIM_USER_STRUCTURE { USER_NO = userId, STRUCTURE_ID = stcId }; var entry3 = db.Entry(us); entry3.State = System.Data.EntityState.Added; } } db.SaveChanges(); var role = db.T_DIM_ROLE.FirstOrDefault(r => r.ROLE_ID == user.RoleId); var roleName = role != null ? role.ROLE_DESCRIPTION : string.Empty; #region 日志信息 this.Request.Properties["ActionParameter"] = JsonConvert.SerializeObject(user); this.Request.Properties["ActionParameterShow"] = string.Format("用户名:{0},密码:{1},邮箱:{2},联系电话:{3},角色:{4},所属组织:{5},关注结构物:{6}", user.UserName, StringHelper.Confuse(user.Password), StringHelper.Confuse(user.Email), user.Phone, roleName, sbOrg, sbStc); #endregion return(Request.CreateResponse(HttpStatusCode.Accepted, StringHelper.GetMessageString("用户添加成功"))); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, StringHelper.GetMessageString("用户添加失败"))); } } }