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); }
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)); }