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("用户信息修改失败")));
                }
            }
        }
        public HttpResponseMessage AddOrg(int userId, [FromBody] OrgModel model)
        {
            using (var entity = new SecureCloud_Entities())
            {
                var org = new T_DIM_ORGANIZATION();
                org.ABB_NAME_CN            = model.OrgName;
                org.ProvinceCode           = model.ProvinceCode;
                org.CityCode               = model.CityCode;
                org.CountryCode            = model.CountryCode;
                org.ADDRESS_STREET_CN      = model.Street;
                org.ZIPCODE                = model.ZipCode;
                org.MOBILE_PHONE_NUMBER    = model.Phone;
                org.FAX_NUMBER             = model.Fax;
                org.WEBSITE                = model.Website;
                org.IsDeleted              = false;
                org.SystemName             = model.SystemName;
                org.SystemNameAbbreviation = model.SystemAbbreviation;
                org.Logo = model.Logo;

                var entry = entity.Entry(org);
                entry.State = System.Data.EntityState.Added;

                #region 日志信息

                var province =
                    entity.T_DIM_REGION.Where(r => r.REGION_ID == model.ProvinceCode)
                    .Select(r => r.REGION_NAME_CN)
                    .FirstOrDefault();

                var city =
                    entity.T_DIM_REGION.Where(r => r.REGION_ID == model.CityCode)
                    .Select(r => r.REGION_NAME_CN)
                    .FirstOrDefault();

                var country =
                    entity.T_DIM_REGION.Where(r => r.REGION_ID == model.CountryCode)
                    .Select(r => r.REGION_NAME_CN)
                    .FirstOrDefault();

                this.Request.Properties["ActionParameter"]     = JsonConvert.SerializeObject(model);
                this.Request.Properties["ActionParameterShow"] =
                    string.Format(
                        "组织名称:{0},{1}-{2}-{3},{4},邮编:{5},联系电话:{6},传真:{7},网址:{8},系统名称:{9},组织logo:{10}",
                        model.OrgName ?? string.Empty,
                        province ?? string.Empty,
                        city ?? string.Empty,
                        country ?? string.Empty,
                        string.IsNullOrEmpty(model.Street) ? string.Empty : model.Street,
                        string.IsNullOrEmpty(model.ZipCode) ? string.Empty : model.ZipCode,
                        string.IsNullOrEmpty(model.Phone) ? string.Empty : model.Phone,
                        string.IsNullOrEmpty(model.Fax) ? string.Empty : model.Fax,
                        string.IsNullOrEmpty(model.Website) ? string.Empty : model.Website,
                        string.IsNullOrEmpty(model.SystemName) ? string.Empty : model.SystemName,
                        string.IsNullOrEmpty(model.Logo) ? string.Empty : model.Logo);

                #endregion

                try
                {
                    entity.SaveChanges();

                    /****start*add 用户自动关注组织*****/
                    int pk = org.ID;
                    var uo = new T_DIM_USER_ORG();
                    uo.ORGANIZATION_ID = pk;
                    uo.USER_NO         = userId;
                    var entryUserOrg = entity.Entry(uo);
                    entryUserOrg.State = System.Data.EntityState.Added;
                    entity.SaveChanges();
                    /****end******/

                    return(Request.CreateResponse(
                               HttpStatusCode.Accepted,
                               StringHelper.GetMessageString("新增组织成功")));
                }
                catch (Exception)
                {
                    return(Request.CreateResponse(
                               HttpStatusCode.BadRequest,
                               StringHelper.GetMessageString("新增组织失败,请检查组织名称是否重复")));
                }
            }
        }
Esempio n. 3
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("用户添加失败")));
                }
            }
        }