public JsonResult GetSearchMySocialCircle(string kwords) { var placeIds = GetVerifiedPlaceIds(); MySocialCircleListModel model = new MySocialCircleListModel(); var ownerId = GetCurrentUser().Id; ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); //我创建的圈子查询条件 Expression <Func <T_SocialCircle, bool> > where1 = s => s.CreaterId == ownerId && placeIds.Contains(s.PlaceId); if (!string.IsNullOrEmpty(kwords)) { where1 = PredicateBuilder.And(where1, s => s.Name.Contains(kwords)); } //获取我创建的圈子列表 model.CreateList = socialCircleBLL.GetList(where1).ToList().Select(s => new SocialCircleItemModel() { Id = s.Id, Name = s.Name.Length > 10 ? s.Name.Substring(0, 10) + ".." : s.Name, PlaceName = s.PropertyPlace.Name.Length > 10 ? s.PropertyPlace.Name.Substring(0, 10) + ".." : s.PropertyPlace.Name, HeadPath = s.HeadImgPath }).ToList(); model.CreateCount = socialCircleBLL.Count(where1); //我加入的圈子查询条件 Func <R_UserSocialCircle, bool> where2 = us => us.ApplyStatus == ConstantParam.IsVerified_YES && placeIds.Contains(us.SocialCircle.PlaceId) && (string.IsNullOrEmpty(kwords) ? true : us.SocialCircle.Name.Contains(kwords)); //获取我加入的圈子列表 model.JoinList = GetCurrentUser().UserSocialCircles.Where(where2).ToList().Select(us => new SocialCircleItemModel() { Id = us.SocialCircleId, Name = us.SocialCircle.Name.Length > 10 ? us.SocialCircle.Name.Substring(0, 10) + ".." : us.SocialCircle.Name, PlaceName = us.SocialCircle.PropertyPlace.Name.Length > 10 ? us.SocialCircle.PropertyPlace.Name.Substring(0, 10) + ".." : us.SocialCircle.PropertyPlace.Name, HeadPath = us.SocialCircle.HeadImgPath, NewestChatTime = "" }).Distinct(new SocialCircleComparer()).ToList(); model.JoinCount = model.JoinList.Count; return(Json(model, JsonRequestBehavior.AllowGet)); }
public ActionResult ReceiveMassTexting() { var Owner = GetCurrentUser(); var PlaceIds = GetVerifiedPlaceIds(); //获取有当前用户群发消息的圈子 ISocialCircleBLL socialCircleBll = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); var list = socialCircleBll.GetList(s => PlaceIds.Contains(s.PlaceId) && s.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count( usm => usm.UserId == Owner.Id) > 0) > 0).ToList().Select(s => new ReceiveMassTextSocialCircleItemModel() { Id = s.Id, Name = s.Name.Length > 10 ? s.Name.Substring(0, 10) + ".." : s.Name, PlaceName = s.PropertyPlace.Name.Length > 10 ? s.PropertyPlace.Name.Substring(0, 10) + ".." : s.PropertyPlace.Name, HeadPath = s.HeadImgPath, TotalMassCount = s.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count(usm => usm.UserId == Owner.Id) > 0), NoReadMassCount = s.SocialCircleMassTextings.Count(m => m.UserSocialCircleMassTextings.Count(usm => usm.UserId == Owner.Id && usm.IsNoRead) > 0), NewestChatTime = TimeFormat(s.SocialCircleMassTextings.Last(m => m.UserSocialCircleMassTextings.Count(usm => usm.UserId == Owner.Id) > 0).ChatTime) }).ToList(); return(View(list)); }
public ActionResult MyCircle() { MySocialCircleListModel model = new MySocialCircleListModel(); var Owner = GetCurrentUser(); var PlaceIds = GetVerifiedPlaceIds(); //用户创建的圈子ID集合 var sIds = Owner.SocialCircles.Select(s => s.Id).ToList(); IUserSocialCircleBLL userSocialCircleBll = BLLFactory <IUserSocialCircleBLL> .GetBLL("UserSocialCircleBLL"); var userSocialCircles = userSocialCircleBll.GetList(us => sIds.Contains(us.SocialCircleId) && PlaceIds.Contains(us.SocialCircle.PlaceId) && us.ApplyStatus == ConstantParam.IsVerified_DEFAULT); //获取未处理个数 model.NoDealCount = userSocialCircles.Count(); if (model.NoDealCount > 0) { var usc = userSocialCircles.OrderByDescending(us => us.ApplyTime).First(); model.ApplyInfo = new ApplyInfoModel() { ApplyUserName = usc.ApplyUser.UserName, CircleName = usc.SocialCircle.Name, ApplyTime = TimeFormat(usc.ApplyTime) }; } //获取我接收到的最新群发消息 IUserSocialCircleMassTextingBLL usMassTextingBll = BLLFactory <IUserSocialCircleMassTextingBLL> .GetBLL("UserSocialCircleMassTextingBLL"); var usMassTextings = usMassTextingBll.GetList(m => m.UserId == Owner.Id && PlaceIds.Contains(m.SocialCircleMassTexting.SocialCircle.PlaceId)); //如果有接收到的群发消息 if (usMassTextings.Count() > 0) { var firstMass = usMassTextings.OrderByDescending(m => m.SocialCircleMassTexting.ChatTime).First(); model.NewsetMass = new MassTextingModel() { CircleName = firstMass.SocialCircleMassTexting.SocialCircle.Name, MassSendTime = TimeFormat(firstMass.SocialCircleMassTexting.ChatTime) }; } model.NoReadCount = usMassTextings.Count(um => um.IsNoRead); ISocialCircleBLL socialCircleBLL = BLLFactory <ISocialCircleBLL> .GetBLL("SocialCircleBLL"); //获取我创建的圈子列表 model.CreateList = socialCircleBLL.GetList(s => s.CreaterId == Owner.Id && PlaceIds.Contains(s.PlaceId)).ToList().Select(s => new SocialCircleItemModel() { Id = s.Id, Name = s.Name, PlaceName = s.PropertyPlace.Name, HeadPath = s.HeadImgPath, NewestChatTime = s.SocialCircleChats.Count > 0 ? TimeFormat(s.SocialCircleChats.OrderByDescending(c => c.ChatTime).First().ChatTime) : "" }).ToList(); //获取我加入的圈子列表 model.JoinList = GetCurrentUser().UserSocialCircles.Where(us => us.ApplyStatus == ConstantParam.IsVerified_YES && PlaceIds.Contains(us.SocialCircle.PlaceId)).ToList().Select(us => new SocialCircleItemModel() { Id = us.SocialCircleId, Name = us.SocialCircle.Name, PlaceName = us.SocialCircle.PropertyPlace.Name, HeadPath = us.SocialCircle.HeadImgPath, NewestChatTime = us.SocialCircle.SocialCircleChats.Count > 0 ? TimeFormat(us.SocialCircle.SocialCircleChats.OrderByDescending(c => c.ChatTime).First().ChatTime) : "" }).Distinct(new SocialCircleComparer()).ToList(); return(View(model)); }