Exemple #1
0
        public async Task <MsgDetailRepositoryModel> GetMsgDetailsAsync(EaUser user, uint mid, int s, int t, bool isdes = false)
        {
            var msgs = await NonTrackingAsyncEnum.SingleOrDefault(m => m.IsEnable && m.Id == mid && m.Creator == user.Id || m.Target == user.Id);

            if (msgs == null)
            {
                return(new MsgDetailRepositoryModel(false));
            }
            var mds = _msgDetailRepository.Where(m => m.MsgId == msgs.Id && m.IsEnable);

            if (isdes)
            {
                mds = mds.OrderBy(m => m.Id);
            }
            else
            {
                mds = mds.OrderByDescending(m => m.Id);
            }
            var count = await mds.Count();

            var datas = await mds.Skip(s).Take(t).ToArray();

            await _msgDetailRepository.AutoFillAsync(datas);

            var mdpm = new MsgDetailRepositoryModel(count, s, t, datas);

            return(mdpm);
        }
Exemple #2
0
        public async Task <bool> DeleteMsgAsync(EaUser user, uint mid)
        {
            var msg = await NonTrackingAsyncEnum.SingleOrDefault(m => m.IsEnable && m.Id == mid && m.Creator == user.Id);

            if (msg == null)
            {
                return(false);
            }
            msg.IsEnable = false;
            DbSet.Update(msg);
            var res = DbContext.SaveChanges();

            return(res > 0);
        }
Exemple #3
0
        public async Task <bool> SendMsgAsync(EaUser user, MsgSendModel model)
        {
            var msg = await NonTrackingAsyncEnum.SingleOrDefault(s => s.Id == model.Mid);

            if (msg == null)
            {
                return(false);
            }
            _msgDetailRepository.DbSet.Add(new MsgDetail()
            {
                Content = model.Text,
                MsgId   = model.Mid,
                Cmds    = model.Cmd
            });
            var res = DbContext.SaveChanges();

            return(res > 0);
        }
Exemple #4
0
        public async Task <bool> QuireNeedUpdateAsync(EaUser user, uint mid, uint lmid)
        {
            var msg = await NonTrackingAsyncEnum.SingleOrDefault(s => s.Id == mid);

            if (msg == null)
            {
                return(false);
            }
            var rlmid = await _msgDetailRepository.Where(md => md.MsgId == msg.Id)
                        .OrderBy(md => md.Id)
                        .LastOrDefault();

            if (rlmid == null)//没有消息具体
            {
                return(true);
            }
            return(rlmid.Id > lmid);
        }
        /// <summary>
        /// 获取一个内容
        /// </summary>
        /// <param name="cid"></param>
        /// <returns></returns>
        public async Task <Content> GetContentAsync(uint cid)
        {
            var content = await NonTrackingAsyncEnum.SingleOrDefault(c => c.Id == cid);

            return(content);
        }