//获取信息列表,该函数保存形参nickname的消息记录 public List <Messages> GetMessages(string nickname) { //创建一个数据环境变量 DataMessageDataContext dmdc = new DataMessageDataContext(); //查询得到符合条件的结果集 var ms = from m in dm.Messages where m.Receiver == nickname select m; //将结果集转换成List List <Messages> message = ms.ToList(); //为了不让下面的删除操作影响结果查询集,我们在这里把结果集复制一份 message = CopyMessageList(message); //如果不删除,则系统每隔2秒就从Messages表中提取信息到txtMessages文本框 //这样说来,数据表Messages就起什么作用呢?就是暂存发言信息 //然后调用copyMessagesList方法,将发言信息拷贝到内存对象中, //txtMessages文本框的信息来自内存对象 //最后删除Messages表的内容,防止发言重复出现。 dm.Messages.DeleteAllOnSubmit(ms); dm.SubmitChanges(); //返回结果 return(message); }
//判断是否存在该群 public bool IsExistTheGroup(string groupName) { DataMessageDataContext dmdc = new DataMessageDataContext(); int num = dm.Groups.Count(u => u.GroupName == groupName); bool result = num > 0; return(result); }
//判断群中是否包含该用户 public bool IsExistTheMember(string userName, string groupName) { DataMessageDataContext dmdc = new DataMessageDataContext(); int num = dm.GroupMembers.Count(u => u.GroupName == groupName && u.GroupMember == userName && u.IsPass == true); bool result = num > 0; return(result); }
//发送消息,该函数根据Classify的取值不同执行不同的动作。 public void SendMessage(Messages msg) { if (msg.Classify == 3) { AddFriend(msg); } else if (msg.Classify == 4) { AgreeFriend(msg); } else if (msg.Classify == 5) { RejectFriend(msg); } //创建一个数据环境变量 DataMessageDataContext dmdc = new DataMessageDataContext(); dmdc.Messages.InsertOnSubmit(msg); dmdc.SubmitChanges(); }