Exemple #1
0
        public ActionResult QuitGroup(long groupUserID)
        {
            BizResultInfo result = new BizResultInfo();


            var bizModel = BizGroupUser.LoadByGroupUserID(groupUserID);

            if (groupUserID == 0 || bizModel == null)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "取不到这个数据啊呀...不要逗我玩吧。";
                return(Json(result));
            }

            var groupInfo = BizGroupInfo.LoadByGroupID(bizModel.GroupInfoID);

            if (UILoginHelper.GetUIDFromHttpContext(HttpContext) == groupInfo.CreateUesrID)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "不允许移除自己....";
                return(Json(result));
            }

            if (bizModel.IsPass == (int)ApplyStatus.Pass)
            {
                MessageBo.CreateMessage(0, MessageTypeEnum.QuitGroupSuccess, bizModel);
            }
            bizModel.IsPass = (int)ApplyStatus.Quit;
            bizModel.Save();
            result.IsSuccess = true;
            return(Json(result));
        }
Exemple #2
0
        /// <summary>
        /// 修改群组信息
        /// </summary>
        /// <param name="groupName"></param>
        /// <param name="groupIntro"></param>
        /// <param name="groupID"></param>
        /// <returns></returns>
        public ActionResult ModifyUserGroupInfo(string groupName, string groupIntro, long groupID)
        {
            long          uid    = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            BizResultInfo result = new BizResultInfo();

            if (string.IsNullOrEmpty(groupName))
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "群组名称不能为空呀....";
                return(Json(result));
            }


            if (groupID == 0)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "群组ID不能为空呀,这个数据目测有问题....";
                return(Json(result));
            }

            BizGroupInfo groupInfo = BizGroupInfo.LoadByGroupID(groupID);

            if (groupInfo != null)
            {
                groupInfo.GroupName  = groupName;
                groupInfo.GroupIntro = !string.IsNullOrEmpty(groupIntro) ? groupIntro : "";
                groupInfo.Save();
            }

            result.IsSuccess      = true;
            result.SuccessMessage = "保存成功!";
            return(Json(result));
        }
Exemple #3
0
        /// <summary>
        /// 保存群组信息
        /// </summary>
        /// <param name="groupName"></param>
        /// <param name="groupIntro"></param>
        /// <returns></returns>
        public ActionResult SaveUserGroupInfo(string groupName, string groupIntro)
        {
            long          uid    = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            BizResultInfo result = new BizResultInfo();

            if (string.IsNullOrEmpty(groupName))
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "群组名称不能为空呀....";
                return(Json(result));
            }
            BizGroupInfo groupInfo = new BizGroupInfo();

            groupInfo.CreateTime    = DateTime.Now;
            groupInfo.CreateUesrID  = uid;
            groupInfo.GroupName     = groupName;
            groupInfo.GroupIntro    = !string.IsNullOrEmpty(groupIntro) ? groupIntro : "";
            groupInfo.ObjectHascode = groupInfo.GetHashCode();
            groupInfo.Save();

            BizGroupUser groupUser = new BizGroupUser();

            groupUser.UserInfoID  = uid;
            groupUser.GroupInfoID = groupInfo.GroupInfoID;
            groupUser.IsPass      = (int)ApplyStatus.Pass;
            groupUser.CreateTime  = DateTime.Now;
            groupUser.Save();
            result.IsSuccess      = true;
            result.SuccessMessage = "创建成功!";
            return(Json(result));
        }
Exemple #4
0
        /// <summary>
        /// 群组详细信息
        /// </summary>
        /// <param name="groupID"></param>
        /// <returns></returns>
        public ActionResult ShowGroupDetail(long groupID)
        {
            UIGroupInfo groupInfo = null;

            if (groupID == 0)
            {
                return(View(groupInfo));
            }
            var bizGroupInfo = BizGroupInfo.LoadByGroupID(groupID);

            if (bizGroupInfo == null)
            {
                return(View(groupInfo));
            }
            var createUser = BizUserInfo.LoadByUserInfoID(bizGroupInfo.CreateUesrID);

            groupInfo = new UIGroupInfo()
            {
                GroupName      = bizGroupInfo.GroupName,
                GroupInfoID    = bizGroupInfo.GroupInfoID,
                GroupIntro     = bizGroupInfo.GroupIntro,
                CreateTime     = bizGroupInfo.CreateTime,
                CreateUesrInfo = new UIUserInfo()
                {
                    UserEmail       = createUser.UserEmail,
                    UserName        = createUser.UserName,
                    UserImagURL     = createUser.UserImagURL,
                    UserInfoComment = createUser.UserInfoComment,
                },
                CreateUesrID = bizGroupInfo.CreateUesrID,
            };
            return(View(groupInfo));
        }
Exemple #5
0
        /// <summary>
        /// 申请加入群组
        /// </summary>
        /// <param name="groupID"></param>
        /// <returns></returns>
        public ActionResult ApplyToGroup(long groupID)
        {
            BizResultInfo result = new BizResultInfo();

            if (groupID == 0 || BizGroupInfo.LoadByGroupID(groupID) == null)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "群组ID不能为空呀,这个数据肯定有问题...不要逗我玩吧。";
                return(Json(result));
            }
            var lstGroupUser = BizGroupUser.LoadGroupUser(UILoginHelper.GetUIDFromHttpContext(HttpContext));

            if (lstGroupUser != null && lstGroupUser.Any(model => model.GroupInfoID == groupID))
            {
                result.IsSuccess    = false;
                result.ErrorMessage = "已经申请加入了,再等等吧....";
                return(Json(result));
            }


            BizGroupUser groupUser = new BizGroupUser();

            groupUser.GroupInfoID = groupID;
            groupUser.IsPass      = (int)ApplyStatus.Waiting;
            groupUser.CreateTime  = DateTime.Now;
            groupUser.UserInfoID  = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            groupUser.Save();
            MessageBo.CreateMessage(0, MessageTypeEnum.ApplyJoinGroup, groupUser);
            result.IsSuccess      = true;
            result.SuccessMessage = "申请成功....";


            return(Json(result));
        }
Exemple #6
0
        private static void QuitGroup(object info)
        {
            var groupUser = info as BizGroupUser;

            if (groupUser != null)
            {
                var groupInfo     = BizGroupInfo.LoadByGroupID(groupUser.GroupInfoID);
                var applyUserInfo = BizUserInfo.LoadByUserInfoID(groupUser.UserInfoID);

                BizMessageInfo messageInfo = new BizMessageInfo();
                messageInfo.CreateTime     = DateTime.Now;
                messageInfo.IsRead         = (int)MessageReadStatus.NotRead;
                messageInfo.MessageTitle   = string.Format("已退出群组【{0}】", groupInfo.GroupName);
                messageInfo.MessageContent = string.Format("你已经成功退出群组【{0}】。点击下面的链接可以查看你的申请记录哦。",
                                                           groupInfo.GroupName);
                messageInfo.MessageURL      = "~/ShowMyAllGroup";
                messageInfo.UserInfoID      = applyUserInfo.UserInfoID;
                messageInfo.MessageInfoType = (int)MessageTypeEnum.QuitGroupSuccess;
                messageInfo.Save();


                BizMessageInfo quitGroupMessage = new BizMessageInfo();
                quitGroupMessage.CreateTime     = DateTime.Now;
                quitGroupMessage.IsRead         = (int)MessageReadStatus.NotRead;
                quitGroupMessage.MessageTitle   = string.Format("用户【{0}】已退出群组【{1}】", applyUserInfo.UserName, groupInfo.GroupName);
                quitGroupMessage.MessageContent = string.Format("用户【{0}】已退出群组【{1}】。点击下面的链接去查看该群组相关成员。",
                                                                applyUserInfo.UserName, groupInfo.GroupName);
                quitGroupMessage.MessageURL      = "~/GroupInfo/ShowGroupDetail?groupID=" + groupInfo.GroupInfoID;
                quitGroupMessage.UserInfoID      = groupInfo.CreateUesrID;
                quitGroupMessage.MessageInfoType = (int)MessageTypeEnum.QuitGroupSuccess;
                quitGroupMessage.Save();
            }
        }
Exemple #7
0
        /// <summary>
        /// 获取用户所在的群组信息(带有未通过的记录)
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public static List <BizGroupInfo> GetAllUserGroup(long userID)
        {
            var lstGroupUser = BizGroupUser.LoadGroupUser(userID);

            if (lstGroupUser == null)
            {
                return(new List <BizGroupInfo>());
            }
            var lstGroupInfo = BizGroupInfo.LoadByGroupIDList(lstGroupUser.Select(model => model.GroupInfoID).ToList());

            return(lstGroupInfo);
        }
Exemple #8
0
        /// <summary>
        /// 展示用户所在的群组(已通过审核的)
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public ActionResult ShowUserGroupListAndPass(long userID)
        {
            if (userID == 0)
            {
                return(View("ShowUserGroupListAndPass", null));
            }
            List <UIUserGroupInfo> lstUIUserGroupInfo = null;

            var lstGroupUser = BizGroupUser.LoadGroupUser(userID);



            if (lstGroupUser == null)
            {
                return(View("ShowUserGroupListAndPass", null));
            }

            var lstGroupInfo = BizGroupInfo.LoadByGroupIDList(lstGroupUser.Select(model => model.GroupInfoID).ToList());
            var lstUserInfo  = UserInfoBo.GetListByUIDList(lstGroupInfo.Select(model => model.CreateUesrID).Distinct().ToList());
            Dictionary <long, BizUserInfo> dicUserInfo = new Dictionary <long, BizUserInfo>();

            if (lstUserInfo != null)
            {
                dicUserInfo = lstUserInfo.ToDictionary(model => model.UserInfoID, model => model);
            }

            var dicGroupInfo = lstGroupInfo.Select(info => new UIGroupInfo()
            {
                CreateTime     = info.CreateTime,
                CreateUesrID   = info.CreateUesrID,
                GroupInfoID    = info.GroupInfoID,
                GroupIntro     = info.GroupIntro,
                GroupName      = info.GroupName,
                CreateUesrInfo = ToUIUserInfo(info.CreateUesrID, dicUserInfo),
            }).ToDictionary(model => model.GroupInfoID, model => model);

            lstUIUserGroupInfo = lstGroupUser.Where(model => model.IsPass == (int)ApplyStatus.Pass).Select(model => new UIUserGroupInfo()
            {
                GroupInfo   = dicGroupInfo.ContainsKey(model.GroupInfoID) ? dicGroupInfo[model.GroupInfoID] : null,
                GroupInfoID = model.GroupInfoID,
                GroupUserID = model.GroupUserID,
                CreateTime  = model.CreateTime,
                IsPass      = model.IsPass,
                UserInfoID  = model.UserInfoID,
            }).ToList();


            return(View("ShowUserGroupListAndPass", lstUIUserGroupInfo));
        }
Exemple #9
0
        /// <summary>
        /// 获取用户所在的群组信息
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="auditStatus">通过/未通过</param>
        /// <returns></returns>
        public static List <BizGroupInfo> GetUserGroupList(long userID, ApplyStatus status)
        {
            var lstGroupUser = BizGroupUser.LoadGroupUser(userID);

            if (lstGroupUser == null)
            {
                return(new List <BizGroupInfo>());
            }

            var groupUsers = lstGroupUser.Where(user => user.IsPass == (int)status);

            var lstGroupInfo = BizGroupInfo.LoadByGroupIDList(groupUsers.Select(model => model.GroupInfoID).ToList());

            return(lstGroupInfo);
        }
Exemple #10
0
        //
        // GET: /ShowMyHasPassGroup/

        public ActionResult Index()
        {
            var userID = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            List <UIUserGroupInfo> lstUIUserGroupInfo = null;

            var lstGroupUser = BizGroupUser.LoadGroupUser(userID);



            if (lstGroupUser == null)
            {
                return(View());
            }

            var lstGroupInfo = BizGroupInfo.LoadByGroupIDList(lstGroupUser.Select(model => model.GroupInfoID).ToList());
            var lstUserInfo  = UserInfoBo.GetListByUIDList(lstGroupInfo.Select(model => model.CreateUesrID).Distinct().ToList());
            Dictionary <long, BizUserInfo> dicUserInfo = new Dictionary <long, BizUserInfo>();

            if (lstUserInfo != null)
            {
                dicUserInfo = lstUserInfo.ToDictionary(model => model.UserInfoID, model => model);
            }

            var dicGroupInfo = lstGroupInfo.Select(info => new UIGroupInfo()
            {
                CreateTime     = info.CreateTime,
                CreateUesrID   = info.CreateUesrID,
                GroupInfoID    = info.GroupInfoID,
                GroupIntro     = info.GroupIntro,
                GroupName      = info.GroupName,
                CreateUesrInfo = GroupInfoController.ToUIUserInfo(info.CreateUesrID, dicUserInfo),
            }).ToDictionary(model => model.GroupInfoID, model => model);

            lstUIUserGroupInfo = lstGroupUser.Select(model => new UIUserGroupInfo()
            {
                GroupInfo   = dicGroupInfo.ContainsKey(model.GroupInfoID) ? dicGroupInfo[model.GroupInfoID] : null,
                GroupInfoID = model.GroupInfoID,
                GroupUserID = model.GroupUserID,
                CreateTime  = model.CreateTime,
                IsPass      = model.IsPass,
                UserInfoID  = model.UserInfoID,
            }).ToList();


            return(View(lstUIUserGroupInfo));
        }
Exemple #11
0
        /// <summary>
        /// 未通过审核的群组用户
        /// </summary>
        /// <param name="groupID"></param>
        /// <returns></returns>
        public ActionResult ShowGroupUserListNotPass(long groupID)
        {
            if (groupID == 0)
            {
                return(View("ShowGroupUserList", null));
            }
            List <UIUserGroupInfo> lstUIUserGroupInfo = null;

            var lstGroupUser = BizGroupUser.LoadByGroupID(groupID);
            var groupInfo    = BizGroupInfo.LoadByGroupID(groupID);

            var lstUID = lstGroupUser.Select(model => model.UserInfoID).ToList();

            lstUID.Add(groupInfo.CreateUesrID);
            var lstUserInfo = UserInfoBo.GetListByUIDList(lstUID.Distinct().ToList());
            Dictionary <long, BizUserInfo> dicUserInfo = new Dictionary <long, BizUserInfo>();

            if (lstUserInfo != null)
            {
                dicUserInfo = lstUserInfo.ToDictionary(model => model.UserInfoID, model => model);
            }


            lstUIUserGroupInfo = lstGroupUser.Where(model => model.IsPass == (int)ApplyStatus.Waiting).Select(model => new UIUserGroupInfo()
            {
                GroupInfo = new UIGroupInfo()
                {
                    CreateTime     = groupInfo.CreateTime,
                    CreateUesrID   = groupInfo.CreateUesrID,
                    CreateUesrInfo = ToUIUserInfo(groupInfo.CreateUesrID, dicUserInfo),
                    GroupInfoID    = groupInfo.GroupInfoID,
                    GroupName      = groupInfo.GroupName,
                },
                GroupInfoID   = model.GroupInfoID,
                GroupUserID   = model.GroupUserID,
                CreateTime    = model.CreateTime,
                IsPass        = model.IsPass,
                UserInfoID    = model.UserInfoID,
                GroupUserInfo = ToUIUserInfo(model.UserInfoID, dicUserInfo),
            }).ToList();

            return(View("ShowGroupUserList", lstUIUserGroupInfo));
        }
Exemple #12
0
        private static void ApplyJoinGroup(object info)
        {
            var groupUser = info as BizGroupUser;

            if (groupUser != null)
            {
                var groupInfo     = BizGroupInfo.LoadByGroupID(groupUser.GroupInfoID);
                var applyUserInfo = BizUserInfo.LoadByUserInfoID(groupUser.UserInfoID);

                BizMessageInfo messageInfo = new BizMessageInfo();
                messageInfo.CreateTime      = DateTime.Now;
                messageInfo.IsRead          = (int)MessageReadStatus.NotRead;
                messageInfo.MessageTitle    = string.Format("用户【{0}】正在申请加入群组【{1}】。", applyUserInfo.UserName, groupInfo.GroupName);
                messageInfo.MessageContent  = string.Format("用户【{0}】正在申请加入群组【{1}】,可以点击下面的链接去通过申请或者直接驳回。", applyUserInfo.UserName, groupInfo.GroupName);
                messageInfo.MessageURL      = "~/GroupInfo/ShowGroupDetail?groupID=" + groupInfo.GroupInfoID;
                messageInfo.UserInfoID      = groupInfo.CreateUesrID;
                messageInfo.MessageInfoType = (int)MessageTypeEnum.ApplyJoinGroup;
                messageInfo.Save();
            }
        }
Exemple #13
0
        private static void RejectGroupUser(object info)
        {
            var groupUser = info as BizGroupUser;

            if (groupUser != null)
            {
                var groupInfo     = BizGroupInfo.LoadByGroupID(groupUser.GroupInfoID);
                var applyUserInfo = BizUserInfo.LoadByUserInfoID(groupUser.UserInfoID);

                BizMessageInfo messageInfo = new BizMessageInfo();
                messageInfo.CreateTime     = DateTime.Now;
                messageInfo.IsRead         = (int)MessageReadStatus.NotRead;
                messageInfo.MessageTitle   = string.Format("加入群组【{0}】申请被驳回", groupInfo.GroupName);
                messageInfo.MessageContent = string.Format("很遗憾告诉您,你的加入群组【{0}】申请被驳回了。点击下面的链接可以查看你的申请记录。",
                                                           groupInfo.GroupName);
                messageInfo.MessageURL      = "~/ShowMyAllGroup";
                messageInfo.UserInfoID      = applyUserInfo.UserInfoID;
                messageInfo.MessageInfoType = (int)MessageTypeEnum.RejecrApplyJoinGroup;
                messageInfo.Save();
            }
        }
Exemple #14
0
        private static void JoinGroupSuccess(object info)
        {
            var groupUser = info as BizGroupUser;

            if (groupUser != null)
            {
                var groupInfo     = BizGroupInfo.LoadByGroupID(groupUser.GroupInfoID);
                var applyUserInfo = BizUserInfo.LoadByUserInfoID(groupUser.UserInfoID);

                BizMessageInfo messageInfo = new BizMessageInfo();
                messageInfo.CreateTime     = DateTime.Now;
                messageInfo.IsRead         = (int)MessageReadStatus.NotRead;
                messageInfo.MessageTitle   = string.Format("成功加入群组【{0}】", groupInfo.GroupName);
                messageInfo.MessageContent = string.Format("群组大人已经通过了你的申请,现在你已经是群组【{0}】的一员了。撒花~~~~。你可以点击下面的链接去查看你的申请记录哦。",
                                                           groupInfo.GroupName);
                messageInfo.MessageURL      = "~/ShowMyAllGroup";
                messageInfo.UserInfoID      = applyUserInfo.UserInfoID;
                messageInfo.MessageInfoType = (int)MessageTypeEnum.JoinGroupSuccess;
                messageInfo.Save();
            }
        }
Exemple #15
0
        /// <summary>
        /// 未通过审核的群组用户
        /// </summary>
        /// <param name="groupID"></param>
        /// <returns></returns>
        public ActionResult ShowUserAllGroupMessage()
        {
            long loginUID = UILoginHelper.GetUIDFromHttpContext(HttpContext);
            List <UIUserGroupInfo> lstUIUserGroupInfo = null;
            var lstGroupInfo = BizGroupInfo.LoadByCreateUserID(loginUID);

            if (lstGroupInfo == null)
            {
                return(View("ShowUserAllGroupMessage", lstUIUserGroupInfo));
            }


            var lstGroupUser = BizGroupUser.LoadByGroupIDList(lstGroupInfo.Select(info => info.GroupInfoID).ToList());
            var dicGroupInfo = lstGroupInfo.ToDictionary(info => info.GroupInfoID, info => info);

            var dicUserInfo = UserInfoBo.GetListByUIDList(lstGroupUser.Select(model => model.UserInfoID).Distinct().ToList())
                              .ToDictionary(info => info.UserInfoID, info => info);

            lstUIUserGroupInfo = lstGroupUser.Where(model => model.IsPass == (int)ApplyStatus.Waiting).Select(model => new UIUserGroupInfo()
            {
                GroupInfo = dicGroupInfo.ContainsKey(model.GroupInfoID) ?
                            new UIGroupInfo()
                {
                    CreateTime   = dicGroupInfo[model.GroupInfoID].CreateTime,
                    CreateUesrID = dicGroupInfo[model.GroupInfoID].CreateUesrID,
                    GroupInfoID  = dicGroupInfo[model.GroupInfoID].GroupInfoID,
                    GroupName    = dicGroupInfo[model.GroupInfoID].GroupName,
                }:null,
                GroupInfoID   = model.GroupInfoID,
                GroupUserID   = model.GroupUserID,
                CreateTime    = model.CreateTime,
                IsPass        = model.IsPass,
                UserInfoID    = model.UserInfoID,
                GroupUserInfo = ToUIUserInfo(model.UserInfoID, dicUserInfo),
            }).ToList();

            return(View("ShowUserAllGroupMessage", lstUIUserGroupInfo));
        }
Exemple #16
0
        /// <summary>
        /// 用户创建的群组
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public ActionResult ShowUserCreateGroupList(long userID)
        {
            if (userID == 0)
            {
                return(View("ShowUserGroupList", null));
            }
            List <UIGroupInfo> lstModel = null;
            var lstGroupInfo            = BizGroupInfo.LoadByCreateUserID(userID);
            var userInfo = BizUserInfo.LoadByUserInfoID(userID);

            if (lstGroupInfo != null)
            {
                lstModel = lstGroupInfo.Select(info => new UIGroupInfo()
                {
                    CreateTime   = info.CreateTime,
                    CreateUesrID = info.CreateUesrID,
                    GroupInfoID  = info.GroupInfoID,
                    GroupIntro   = info.GroupIntro,
                    GroupName    = info.GroupName
                }).ToList();
            }
            return(View("ShowUserCreateGroupList", lstModel));
        }