/// <summary> /// 가천 라이브러리에서 새로운 게시글이 올라오면 이 함수를 이벤트로 실행시킵니다. /// </summary> /// <param name="gclass">게시글이 올라온 강의</param> /// <param name="postItem">게시글</param> public static void NewPost(GachonClass gclass, PostItem postItem) { MysqlNode node = new MysqlNode(private_data.mysqlOption, "SELECT * FROM keyword"); JArray array = new JArray(); string ignore_id = ""; using (node.ExecuteReader()) { while (node.Read()) { if (ignore_id == node.GetString("student_id")) { continue; } string keyword = node.GetString("keyword"); if (CheckValid(keyword, gclass.Title, postItem.Title)) { ignore_id = node.GetString("student_id"); PostSystem.SendPost( string.Format("[{0}] 새로운 게시글 등록", gclass.Title), string.Format("[게시글 정보]\r\n{0} - {1}\r\n\r\n{2}\r\n\r\nURL : {3}", postItem.Title, postItem.Publisher, postItem.Content, postItem.url), "admin_keyword", ignore_id , false); ESocket socket = GachonSocket.GetOnlineUser(ignore_id); if (socket != null) { if (User.Items.ContainsKey(socket)) { User.Items[socket].ToChatMessage("[" + gclass.Title + "] 에 새로운 게시글이 등록되었습니다.", ChatType.System); if (postItem.posttype == BoardType.PostType.Homework) { NetworkMessageList.AddHomework(socket, gclass.Title, postItem.Title, postItem.e_time); } } } } } } }
public static void SendPost(string title, string content, string sender, string receiver, bool notice = true) { DateTime date = DateTime.Now; MysqlNode Node = new MysqlNode(private_data.mysqlOption, "INSERT INTO post(title, content, sender, receiver, date) VALUES (?title, ?content, ?sender, ?receiver, ?date)"); Node["title"] = title; Node["content"] = content; Node["sender"] = sender; Node["receiver"] = receiver; Node["date"] = date.ToString("yyyy-MM-dd HH:mm:ss"); Node.ExecuteNonQuery(); JObject json = new JObject(); json["type"] = NetworkProtocol.PostAlarm; json["title"] = title; json["content"] = content; json["receiver"] = receiver; json["date"] = date; if (notice == true) { // 받는사람이 게임 또는 스마트폰을 통해 접속중인가 ESocket socket = GachonSocket.GetOnlineUser(receiver); if (socket != null) { if (User.Items.ContainsKey(socket)) { User.Items[socket].ToChatMessage("[우편함] 새로운 메세지가 도착했습니다.", ChatType.System); } else { socket.Send(json); } } else { AddQueue(receiver, json); } } }