Esempio n. 1
0
        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("用户信息修改失败")));
                }
            }
        }
Esempio n. 2
0
        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("用户添加失败")));
                }
            }
        }