Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 5
0
        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();
                    }
                }
            }
        }