Example #1
0
        public ResultPakage <List <GetMessageReturnDto> > GetMessageForPatient(GetMssageDto dto)
        {
            var returnDto = GetMessage(dto);

            var db = new Db();



            var firstOrDefault = db.Patients.FirstOrDefault(a => a.Id == dto.PatientId);

            if (firstOrDefault != null)
            {
                var pUserId = firstOrDefault.User.Id;
                //只查指定两人的对话信息
                returnDto.Result = returnDto.Result.Where(a => (a.ToUser == dto.UserId || a.ToUser == pUserId) && (a.FromUser == dto.UserId || a.FromUser == pUserId)).ToList();
                //设置消息为已读
                var allNotReadMessage = db.Messages.Where(a => a.ToUser == dto.UserId && a.FromUser == pUserId && a.IsRead == false);
                allNotReadMessage.ForEach(a =>
                {
                    a.IsRead = true;
                });
                db.SaveChanges();
            }


            //db.Users.Add(new User(){Doctors = });
            return(returnDto);
        }
Example #2
0
        public ResultPakage <List <GetMessageReturnDto> > GetMessage(GetMssageDto dto)
        {
            var db = new Db();

            var returnMessageList = db.Messages.Where(a => a.FromUser == dto.UserId || a.ToUser == dto.UserId).Select(a => new { a.CreateTime, a.FromUser, a.ToUser, a.Messge, a.IsRead, a.Id, a.User.UserType }).OrderBy(a => a.CreateTime).ToList();
            var allNotReadMessage = db.Messages.Where(a => a.ToUser == dto.UserId && a.IsRead == false);

            allNotReadMessage.ForEach(a =>
            {
                a.IsRead = true;
            });
            db.SaveChanges();

            List <GetMessageReturnDto> messageList = new List <GetMessageReturnDto>();

            returnMessageList.ForEach(a =>
            {
                GetMessageReturnDto mesage = new GetMessageReturnDto();
                mesage.ToUser     = a.ToUser;
                mesage.FromUser   = a.FromUser;
                mesage.Id         = a.Id;
                mesage.UserType   = a.UserType != null?int.Parse(a.UserType.ToString()):0;
                mesage.CreateTime = a.CreateTime?.ToString("yyyy-MM-dd hh:mm:ss");
                mesage.Messge     = a.Messge;
                mesage.IsRead     = a.IsRead;
                messageList.Add(mesage);
            });

            //db.Users.Add(new User(){Doctors = });
            return(Util.ReturnOkResult(messageList));
        }