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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
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(); } }
/// <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); }
/// <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)); }
/// <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); }
// // 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)); }
/// <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)); }
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(); } }
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(); } }
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(); } }
/// <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)); }
/// <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)); }