public ActionResult GetMessagebyUser(UserMappingMessage model) { model.UserID = UserInfo.UserID; var result = this.UserAndMeServer.GetMessagebyUser(model); return(JsonResult <UserMappingMessage>(result)); }
public Tuple <int, List <UserMappingMessage> > GetMessagebyUser(UserMappingMessage model) { using (var dal = BaseInfo._container.Resolve <UnitOfWork>()) { var um = dal.GetRepository <UserMappingMessage>(); var conditions = ExpandHelper.True <UserMappingMessage>().And(a => a.UserID == model.UserID); var templist = um.Get(filter: conditions, includeProperties: "MessageInfo"); var count = templist.Count(); if (model.order != null && model.order.Count() > 0) { foreach (var item in model.order) { var column = model.columns.ElementAt(int.Parse(item.column)); templist = templist.OrderSort(column.data, item.dir); } } var result = templist.PageBy(model.pageIndex, model.pageSize).ToList(); result.ForEach(a => { a.MessageInfo.SendUserInfo = new User() { UserName = dal.GetRepository <User>().Get(b => b.UserID == a.MessageInfo.SendUser).FirstOrDefault().UserReallyname }; }); return(new Tuple <int, List <UserMappingMessage> >(count, result)); } }
public ActionResult SetRead(UserMappingMessage model) { this.UserAndMeServer.SetMessageRead(model); return(Json(new ResultEntity() { result = true })); }
public void SetMessageRead(UserMappingMessage model) { using (var dal = BaseInfo._container.Resolve <UnitOfWork>()) { model.IsRead = true; var userMesR = dal.GetRepository <UserMappingMessage>(); userMesR.UpdateSup(model, new List <string>() { "IsRead" }); userMesR.Save(); } }
public void DetectionMessage(int currentUserId) { using (var dal = BaseInfo._container.Resolve <UnitOfWork>()) { var messageR = dal.GetRepository <Message>(); var stringtoid = currentUserId.ToString(); var conditions = ExpandHelper.True <Message>().And(a => a.RecUser.StartsWith(stringtoid + ",") || a.RecUser.Contains("," + stringtoid + ",") || a.RecUser.EndsWith("," + stringtoid) || a.RecUser == stringtoid); var today = DateTime.Now; conditions = conditions.And(a => a.ExpirationTime == null || today <= a.ExpirationTime); var currentUserMessage = messageR.Get(conditions).Select(a => a.MessageID); if (currentUserMessage.Count() > 0) { var userMesR = dal.GetRepository <UserMappingMessage>(); var usermes = userMesR.Get(a => a.UserID == currentUserId).Select(a => a.MessageID); var list = currentUserMessage.ToList().Except(usermes.ToList()); if (list.Count() > 0) { var addUserMessage = new List <UserMappingMessage>(); Parallel.ForEach(list, (a => { var mes = new UserMappingMessage { MessageID = a, UserID = currentUserId, IsRead = false }; addUserMessage.Add(mes); })); userMesR.Insert(addUserMessage); dal.Save(); } } } }