Exemplo n.º 1
0
        //同步关注状态
        public void TBGZSTATUS(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptRoot == -1 && d.ComId == UserInfo.User.ComId);

                #region  步用户关注状态
                WXHelp wx = new WXHelp(UserInfo.QYinfo);
                GetDepartmentMemberInfoResult yg = wx.WX_GetDepartmentMemberInfo(branchModel.WXBMCode.Value);

                if (yg != null && yg.userlist != null)
                {
                    foreach (var u in yg.userlist)
                    {
                        JH_Auth_User user = new JH_Auth_UserB().GetEntity(d => d.ComId == UserInfo.User.ComId && d.UserName == u.userid);

                        if (user != null && u != null && (u.status == 1 || u.status == 4))
                        {
                            user.isgz = u.status.ToString();
                            new JH_Auth_UserB().Update(user);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.Message;
            }
            #endregion
        }
Exemplo n.º 2
0
        /// <summary>
        /// 将SDK中的部门成员详情信息转换为Zap.WeChat.SDK中的部门成员详情信息
        /// </summary>
        /// <param name="result"></param>
        /// <returns></returns>
        public static List <MemberResult> ToDepartmentMemberInfoResult(this GetDepartmentMemberInfoResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }
            var list = result.userlist?.Select(user => new MemberResult
            {
                ErrorCode    = user.ErrorCodeValue,
                ErrorMessage = user.errmsg,
                UserID       = user.userid,
                Name         = user.name,
                Department   = user.department,
                Order        = user.order,
                Position     = user.position,
                Mobile       = user.mobile,
                Gender       = user.gender,
                Email        = user.email,
                IsLeader     = user.isleader,
                Avatar       = user.avatar,
                TelePhone    = user.telephone,
                EnglishName  = user.english_name,
                Extattr      = new AdvancedAPIs.AddressList.Extattr
                {
                    Attrs = user.extattr.attrs.Select(m => new AdvancedAPIs.AddressList.Attr
                    {
                        Name  = m.name,
                        Value = m.value
                    }).ToList()
                },
                Status = user.status
            })?.ToList();

            return(list);
        }
Exemplo n.º 3
0
        public GetDepartmentMemberInfoResult WX_GetDepartmentMemberInfo(int depid)
        {
            GetDepartmentMemberInfoResult Ret = new GetDepartmentMemberInfoResult();

            if (Qyinfo.IsUseWX == "Y")
            {
                Ret = MailListApi.GetDepartmentMemberInfo(GetToken(), depid, 1);
            }
            return(Ret);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 同步通讯录
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1">初始化密码</param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>


        #region 企业号相关
        /// <summary>
        /// 将系统的组织架构同步到微信中去
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1"></param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void TBBRANCHUSER(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            //判断是否启用微信后,启用部门需要同步添加微信部门
            if (UserInfo.QYinfo.IsUseWX == "Y")
            {
                #region  步部门

                //系统部门
                List <JH_Auth_Branch> branchList = new JH_Auth_BranchB().GetEntities(d => d.ComId == UserInfo.User.ComId && d.WXBMCode == null).ToList();

                WXHelp wx = new WXHelp(UserInfo.QYinfo);
                //微信部门
                GetDepartmentListResult bmlist = wx.WX_GetBranchList("");
                foreach (JH_Auth_Branch branch in branchList)
                {
                    List <DepartmentList> departList = bmlist.department.Where(d => d.name == branch.DeptName).ToList();
                    WorkJsonResult        result     = null;
                    if (departList.Count() > 0)
                    {
                        branch.WXBMCode = int.Parse(departList[0].id.ToString());
                        result          = wx.WX_UpdateBranch(branch);
                    }
                    else
                    {
                        int branchWxCode = int.Parse(wx.WX_CreateBranchTB(branch).ToString());
                        branch.WXBMCode = branchWxCode;
                    }
                    new JH_Auth_BranchB().Update(branch);
                }

                #endregion

                #region  步人员
                JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptRoot == -1 && d.ComId == UserInfo.User.ComId);

                GetDepartmentMemberInfoResult yg       = wx.WX_GetDepartmentMemberInfo(branchModel.WXBMCode.Value);
                List <JH_Auth_User>           userList = new JH_Auth_UserB().GetEntities(d => d.ComId == UserInfo.User.ComId && d.UserName != "administrator").ToList();
                foreach (JH_Auth_User user in userList)
                {
                    if (yg.userlist.Where(d => d.name == user.UserName || d.mobile == user.mobphone).Count() > 0)
                    {
                        wx.WX_UpdateUser(user);
                    }
                    else
                    {
                        wx.WX_CreateUser(user);
                    }
                }
                #endregion
            }
        }
 /// <summary>
 /// 当前用户是否在指定部门
 /// </summary>
 /// <param name="deptName">部门名称,可以是子部门</param>
 /// <returns>true|false</returns>
 public bool IsInDept(string deptName, WorkOption option)
 {
     if(string.IsNullOrEmpty(option.AccessToken))
         option.AccessToken = AccessTokenContainer.TryGetToken(option.CorpId, option.Secret);
     GetDepartmentMemberInfoResult membersinfo = MailListApi.GetDepartmentMemberInfo(option.AccessToken, 1, 1);
     GetMemberResult user = membersinfo.userlist.FirstOrDefault(m => m.name == CurrentUser);
     GetDepartmentListResult depts = MailListApi.GetDepartmentList(option.AccessToken);
     long landDeptId = depts.department.First(d => d.name == deptName).id;
     foreach (var deptId in user.department)
     {
         if (deptId == landDeptId)
             return true;
     }
     return false;
 }
Exemplo n.º 6
0
        public ActionResult GetUserList(QyDeptUserModel model)
        {
            #region 校验
            var account = GetAccount(model.corpid);
            if (account == null)
            {
                LogWriter.Info(string.Format("corpid为“{0}”的GetUserList获取失败,原因:企业号不存在", model.corpid));
                return(Json(new
                {
                    errorcode = "500",
                    errormsg = "企业号不存在",
                }));
            }

            if (!ValidateAccessToken(account, model.accesstoken))
            {
                LogWriter.Info(string.Format("corpid为“{0}”的GetUserList获取失败,原因:accesstoken错误", model.corpid));
                return(Json(new
                {
                    errorcode = "500",
                    errormsg = "非法访问",
                }));
            }
            #endregion

            #region 获取用户信息
            var wxFO = Formula.FormulaHelper.CreateFO <WxFO>();

            GetDepartmentMemberInfoResult userinfo = null;

            try
            {
                userinfo = wxFO.GetUserList(model.corpid, model.department_id, model.fetch_child, model.status);
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    errorcode = "500",
                    errormsg = ex.Message,
                }));
            }
            #endregion

            return(Json(userinfo));
        }
Exemplo n.º 7
0
Arquivo: WxFO.cs Projeto: Luyingjin/Qy
        /// <summary>
        /// 获取部门成员
        /// </summary>
        /// <param name="QyID">企业ID</param>
        /// <param name="departmentId">获取的部门id</param>
        /// <param name="fetchChild">1/0:是否递归获取子部门下面的成员</param>
        /// <param name="status">0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加</param>
        /// <returns></returns>
        public GetDepartmentMemberInfoResult GetUserList(string QyID, int departmentId, int fetchChild, int status)
        {
            GetDepartmentMemberInfoResult result = null;

            try
            {
                result = MailListApi.GetDepartmentMemberInfo(GetAccessToken(QyID), departmentId, fetchChild, status);
            }
            catch (Exception ex)
            {
                LogWriter.Error(ex, string.Format("获取QyID为{0}的部门成员失败", QyID));
                result = MailListApi.GetDepartmentMemberInfo(GetAccessToken(QyID, true), departmentId, fetchChild, status);
            }
            if (result.errcode != ReturnCode_QY.请求成功)
            {
                LogWriter.Info(string.Format("获取QyID为{0}的部门成员失败,原因:{1}", QyID, result.errmsg));
            }
            return(result);
        }
Exemplo n.º 8
0
Arquivo: WxFO.cs Projeto: Luyingjin/Qy
        /// <summary>
        /// 更新用户
        /// </summary>
        /// <param name="QyID"></param>
        private void ReFreshDepartUser(string QyID)
        {
            GetDepartmentMemberInfoResult result = null;

            try
            {
                result = MailListApi.GetDepartmentMemberInfo(GetAccessToken(QyID), 1, 1, 0);
            }
            catch (Exception ex)
            {
                LogWriter.Error(ex, string.Format("获取QyID为{0}的部门成员失败", QyID));
                result = MailListApi.GetDepartmentMemberInfo(GetAccessToken(QyID, true), 1, 1, 0);
            }
            if (result.errcode != ReturnCode_QY.请求成功)
            {
                LogWriter.Info(string.Format("获取QyID为{0}的部门成员失败,原因:{1}", QyID, result.errmsg));
                throw new Exception(string.Format("获取QyID为{0}的部门成员失败,原因:{1}", QyID, result.errmsg));
            }
            var oldusers = entities.Set <QyUser>().Where(c => c.QyID == QyID).ToList();
            var depts    = entities.Set <QyDepart>().Where(c => c.QyID == QyID).ToList();

            //新增
            foreach (var add in result.userlist.Where(c => !oldusers.Select(d => d.UserID).Contains(c.userid)))
            {
                QyUser qu = new QyUser();
                qu.ID            = FormulaHelper.CreateGuid();
                qu.QyID          = QyID;
                qu.UserID        = add.userid;
                qu.UserName      = add.name;
                qu.Position      = add.position;
                qu.Mobile        = add.mobile;
                qu.Gender        = add.gender;
                qu.Email         = add.email;
                qu.WeixinID      = add.weixinid;
                qu.AvatarMediaid = add.avatar;
                qu.Status        = add.status;
                qu.DepartIDs     = add.department == null ? "" : string.Join(",", depts.Where(c => add.department.Contains(c.DepartID.Value)).Select(c => c.ID));
                entities.Set <QyUser>().Add(qu);
            }
            //修改
            foreach (var update in oldusers.Where(c => result.userlist.Select(d => d.userid).Contains(c.UserID)))
            {
                var item = result.userlist.Where(c => c.userid == update.UserID).FirstOrDefault();
                update.UserName      = item.name;
                update.Position      = item.position;
                update.Mobile        = item.mobile;
                update.Gender        = item.gender;
                update.Email         = item.email;
                update.WeixinID      = item.weixinid;
                update.AvatarMediaid = item.avatar;
                update.Status        = item.status;
                update.DepartIDs     = item.department == null ? "" : string.Join(",", depts.Where(c => item.department.Contains(c.DepartID.Value)).Select(c => c.ID));
            }
            //删除
            foreach (var delete in oldusers.Where(c => !result.userlist.Select(d => d.userid).Contains(c.UserID)))
            {
                var relateexts = entities.Set <QyUserExt>().Where(c => c.UserID == delete.ID).ToList();
                for (int i = 0; i < relateexts.Count(); i++)
                {
                    entities.Set <QyUserExt>().Remove(relateexts[i]);
                }
                entities.Set <QyUser>().Remove(delete);
            }
            entities.SaveChanges();
        }
Exemplo n.º 9
0
        public ActionResult GetNewUserList(string tagname, string clientId)
        {
            if (!VerifyNewParam("tagname", clientId, _signCheckService))
            {
                return(ErrMsg());
            }
            GetTagMemberResult            tagMemberResult  = new GetTagMemberResult();
            GetDepartmentMemberInfoResult departmentResult = new GetDepartmentMemberInfoResult();
            var strToken = GetToken();
            var tag      = WeChatCommonService.lstTag.FirstOrDefault(x => x.tagname == tagname);
            int tagid    = tag != null?Convert.ToInt32(tag.tagid) : 0;


            if (tagid != 0)
            {
                tagMemberResult = MailListApi.GetTagMember(strToken, tagid);
            }

            if (tagMemberResult != null && tagMemberResult.userlist != null)
            {
                var ids      = tagMemberResult.userlist.Select(x => x.userid).ToList();
                var partyIds = tagMemberResult.partylist.ToList();
                if (partyIds.Count > 0)
                {
                    foreach (var item in partyIds)
                    {
                        departmentResult = MailListApi.GetDepartmentMemberInfo(strToken, item, 1, 0);
                        if (departmentResult != null && departmentResult.userlist.Count > 0)
                        {
                            var dIds = departmentResult.userlist.Select(d => d.userid).ToList();
                            ids.AddRange(dIds);
                        }
                    }
                }

                var userInfo = WeChatCommonService.lstUser.Where(x => ids.Any(y => x.userid == y)).Select(x => new
                {
                    userid = x.userid,
                    name   = x.name,
                    avatar = x.avatar,
                    status = x.status,
                    email  = x.email
                }).ToList();

                var strJson1 = Newtonsoft.Json.JsonConvert.SerializeObject(new
                {
                    message = "",
                    success = true,
                    item    = new
                    {
                        userInfo
                    }
                });
                return(Content(strJson1, "application/json"));
            }
            else
            {
                return(Json(new
                {
                    message = "标签不存在或者标签中无成员!",
                    success = false
                }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 从企业微信同步到系统里
        /// </summary>
        /// <param name="context"></param>
        /// <param name="msg"></param>
        /// <param name="P1"></param>
        /// <param name="P2"></param>
        /// <param name="UserInfo"></param>
        public void TBTXL(HttpContext context, Msg_Result msg, string P1, string P2, JH_Auth_UserB.UserInfo UserInfo)
        {
            try
            {
                int bmcount = 0;
                int rycount = 0;
                if (P1 == "")
                {
                    msg.ErrorMsg = "请输入初始密码";
                    return;
                }
                WXHelp wx = new WXHelp(UserInfo.QYinfo);
                #region 更新部门
                GetDepartmentListResult bmlist = wx.WX_GetBranchList("");
                foreach (var wxbm in bmlist.department.OrderBy(d => d.parentid))
                {
                    var bm = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == wxbm.id);
                    if (bm == null)
                    {
                        #region 新增部门
                        JH_Auth_Branch jab = new JH_Auth_Branch();
                        jab.WXBMCode  = int.Parse(wxbm.id.ToString());
                        jab.ComId     = UserInfo.User.ComId;
                        jab.DeptName  = wxbm.name;
                        jab.DeptDesc  = wxbm.name;
                        jab.DeptShort = int.Parse(wxbm.order.ToString());

                        if (wxbm.parentid == 0)//如果是跟部门,设置其跟部门为-1
                        {
                            jab.DeptRoot = -1;
                        }
                        else
                        {
                            var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == wxbm.parentid);
                            jab.DeptRoot = bm1.DeptCode;
                            jab.Remark1  = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, jab.DeptRoot);
                        }


                        new JH_Auth_BranchB().Insert(jab);
                        jab.Remark1 = new JH_Auth_BranchB().GetBranchNo(UserInfo.User.ComId.Value, jab.DeptRoot) + jab.DeptCode;
                        new JH_Auth_BranchB().Update(jab);


                        bmcount = bmcount + 1;
                        #endregion
                    }
                    else
                    {
                        //同步部门时放弃更新现有部门
                    }
                }
                #endregion

                #region 更新人员
                JH_Auth_Branch branchModel = new JH_Auth_BranchB().GetEntity(d => d.DeptRoot == -1 && d.ComId == UserInfo.User.ComId);

                GetDepartmentMemberInfoResult yg = wx.WX_GetDepartmentMemberInfo(branchModel.WXBMCode.Value);
                foreach (var u in yg.userlist)
                {
                    var user = new JH_Auth_UserB().GetUserByUserName(UserInfo.QYinfo.ComId, u.userid);
                    if (user == null)
                    {
                        #region 新增人员
                        JH_Auth_User jau = new JH_Auth_User();
                        jau.ComId        = UserInfo.User.ComId;
                        jau.UserName     = u.userid;
                        jau.UserPass     = CommonHelp.GetMD5(P1);
                        jau.UserRealName = u.name;
                        jau.Sex          = u.gender == 1 ? "男" : "女";
                        if (u.department.Length > 0)
                        {
                            int id  = int.Parse(u.department[0].ToString());
                            var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == id);
                            jau.BranchCode = bm1.DeptCode;
                            jau.remark     = bm1.Remark1.Split('-')[0];//用户得部门路径
                        }
                        jau.mailbox  = u.email;
                        jau.mobphone = u.mobile;
                        jau.zhiwu    = string.IsNullOrEmpty(u.position) ? "员工" : u.position;
                        jau.IsUse    = "Y";

                        if (u.status == 1 || u.status == 4)
                        {
                            jau.isgz = u.status.ToString();
                        }
                        jau.txurl = u.avatar;

                        new JH_Auth_UserB().Insert(jau);

                        rycount = rycount + 1;
                        #endregion

                        //为所有人增加普通员工的权限
                        JH_Auth_Role rdefault = new JH_Auth_RoleB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.isSysRole == "Y" && p.RoleName == "员工");//找到默认角色
                        if (rdefault != null)
                        {
                            JH_Auth_UserRole jaurdefault = new JH_Auth_UserRole();
                            jaurdefault.ComId    = UserInfo.User.ComId;
                            jaurdefault.RoleCode = rdefault.RoleCode;
                            jaurdefault.UserName = jau.UserName;
                            new JH_Auth_UserRoleB().Insert(jaurdefault);
                        }
                    }
                    else
                    {
                        //同步人员时放弃更新现有人员
                        #region 更新人员
                        user.UserRealName = u.name;
                        if (u.department.Length > 0)
                        {
                            int id  = int.Parse(u.department[0].ToString());
                            var bm1 = new JH_Auth_BranchB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.WXBMCode == id);
                            user.BranchCode = bm1.DeptCode;
                        }
                        user.mailbox  = u.email;
                        user.mobphone = u.mobile;
                        user.zhiwu    = string.IsNullOrEmpty(u.position) ? "员工" : u.position;
                        user.Sex      = u.gender == 1 ? "男" : "女";
                        if (u.status == 1 || u.status == 4)
                        {
                            user.IsUse = "Y";
                            user.isgz  = u.status.ToString();
                        }
                        else if (u.status == 2)
                        {
                            user.IsUse = "N";
                        }
                        user.txurl = u.avatar;

                        new JH_Auth_UserB().Update(user);
                        #endregion
                    }

                    #region 更新角色(职务)
                    if (!string.IsNullOrEmpty(u.position))
                    {
                        var r = new JH_Auth_RoleB().GetEntity(p => p.ComId == UserInfo.User.ComId && p.RoleName == u.position);

                        if (r == null)
                        {
                            JH_Auth_Role jar = new JH_Auth_Role();
                            jar.ComId        = UserInfo.User.ComId;
                            jar.RoleName     = u.position;
                            jar.RoleDec      = u.position;
                            jar.PRoleCode    = 0;
                            jar.isSysRole    = "N";
                            jar.IsUse        = "Y";
                            jar.leve         = 0;
                            jar.DisplayOrder = 0;

                            new JH_Auth_RoleB().Insert(jar);

                            JH_Auth_UserRole jaur = new JH_Auth_UserRole();
                            jaur.ComId    = UserInfo.User.ComId;
                            jaur.RoleCode = jar.RoleCode;
                            jaur.UserName = u.userid;
                            new JH_Auth_UserRoleB().Insert(jaur);
                        }
                        else
                        {
                        }
                    }
                    #endregion
                }
                #endregion



                msg.Result1 = bmcount;
                msg.Result2 = rycount;
            }
            catch (Exception ex)
            {
                msg.ErrorMsg = ex.ToString();
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Get the wechat users and save to database.
        /// </summary>
        /// <returns></returns>
        public static bool GetWechatUserToDB()
        {
            string        token   = AccessTokenContainer.TryGetToken(corpID, corpSecret);
            WechatContext context = new WechatContext();

            //todo: 清空现有用户数据

            //获取微信企业号内的用户架构信息
            Dictionary <string, List <Tag> > _userTags  = new Dictionary <string, List <Tag> >();
            Dictionary <int, List <Tag> >    _partyTags = new Dictionary <int, List <Tag> >();

            Dictionary <string, User> Users = new Dictionary <string, User>();

            //查找所有Tag并插入数据库
            GetTagListResult tagList = MailListApi.GetTagList(token);

            if (tagList != null && tagList.taglist != null && tagList.taglist.Count > 0)
            {
                foreach (var tag in tagList.taglist)
                {
                    int tagId = -1;
                    if (Int32.TryParse(tag.tagid, out tagId))
                    {
                        Tag tempTag = new Tag()
                        {
                            TagId = tagId, TagName = tag.tagname
                        };

                        GetTagMemberResult tagMemberResult = MailListApi.GetTagMember(token, tagId);
                        if (tagMemberResult != null && tagMemberResult.partylist != null && tagMemberResult.partylist.Length > 0)
                        {
                            foreach (int party in tagMemberResult.partylist)
                            {
                                if (!_partyTags.ContainsKey(party))
                                {
                                    _partyTags[party] = new List <Tag>();
                                }

                                _partyTags[party].Add(tempTag);
                            }
                        }

                        if (tagMemberResult != null && tagMemberResult.userlist != null && tagMemberResult.userlist.Count > 0)
                        {
                            foreach (var tagUser in tagMemberResult.userlist)
                            {
                                if (!_userTags.ContainsKey(tagUser.userid))
                                {
                                    _userTags[tagUser.userid] = new List <Tag>();
                                }

                                _userTags[tagUser.userid].Add(tempTag);
                            }
                        }

                        context.Tags.Add(tempTag);
                    }
                }
                context.SaveChanges();
            }

            //查找所有部门并插入数据库
            GetDepartmentListResult departmentList = MailListApi.GetDepartmentList(token);

            if (departmentList != null && departmentList.department != null)
            {
                foreach (var party in departmentList.department)
                {
                    var tempParty = new Party()
                    {
                        PartyId = party.id, Name = party.name, Order = party.order, ParentPartyId = party.parentid
                    };

                    //此处需要查询所有的Tag保存到库中
                    if (_partyTags.ContainsKey(party.id))
                    {
                        tempParty.PartyTags = _partyTags[party.id].Select(f => new PartyTag()
                        {
                            PartyId = tempParty.PartyId, TagId = f.TagId
                        }).ToList();
                    }

                    //根据部门查找所有用户并存入缓存
                    GetDepartmentMemberInfoResult memberInfos = MailListApi.GetDepartmentMemberInfo(token, party.id, 1, 0);
                    if (memberInfos != null && memberInfos.userlist != null && memberInfos.userlist.Count > 0)
                    {
                        foreach (var member in memberInfos.userlist)
                        {
                            if (!Users.ContainsKey(member.userid))
                            {
                                Users[member.userid] = new User()
                                {
                                    Avatar   = member.avatar,
                                    Email    = member.email,
                                    Gender   = member.gender,
                                    Mobile   = member.mobile,
                                    Name     = member.name,
                                    Position = member.position,
                                    Status   = member.status,
                                    UserId   = member.userid,
                                    Weixinid = member.weixinid,
                                    UserTags = (_userTags.ContainsKey(member.userid) && _userTags[member.userid].Count > 0) ? _userTags[member.userid].Select(f => new UserTag()
                                    {
                                        UserId = member.userid, TagId = f.TagId
                                    }).ToList() : null
                                };
                            }
                            Users[member.userid].UserPartys.Add(new UserParty()
                            {
                                PartyId = tempParty.PartyId, UserId = member.userid
                            });
                        }
                    }

                    context.Partys.Add(tempParty);
                }
                context.SaveChanges();
            }

            if (Users != null && Users.Count > 0)
            {
                foreach (var user in  Users.Values)
                {
                    context.Users.Add(user);
                }

                context.SaveChanges();
            }

            return(true);
        }