public static void SendTakesList(ESocket socket) { string id = GachonSocket.GetId(socket); if (id != null) { MysqlNode node = new MysqlNode(private_data.mysqlOption, "SELECT * FROM takes_course JOIN course ON takes_course.course_no=course.no WHERE student_id=?id"); node["id"] = id; JArray group = new JArray(); JArray course = new JArray(); using (node.ExecuteReader()) { while (node.Read()) { if (node.GetString("type") == "Class") { course.Add(node.GetString("name")); } else if (node.GetString("type") == "Group") { group.Add(node.GetString("name")); } } } JObject json = new JObject(); json["type"] = AndroidProtocol.GroupList; json["group"] = group; json["class"] = course; socket.Send(json); } }
public static void NewKeyword(ESocket socket, string keyword) { string id = GachonSocket.GetId(socket); if (id != null) { keyword = keyword.Trim(); if (keyword.Length == 0) { NetworkMessageList.TipMessage(socket, "추가하실 키워드를 입력해주세요."); return; } MysqlNode node = new MysqlNode(private_data.mysqlOption, "INSERT INTO keyword(student_id, keyword) VALUES (?id, ?keyword)"); node["id"] = id; node["keyword"] = keyword; int result = node.ExecuteNonQuery(); if (result != 1) { NetworkMessageList.TipMessage(socket, "이미 등록된 키워드입니다."); } else if (result == 0) { NetworkMessageList.TipMessage(socket, "오류로 인해 키워드 추가가 불가능합니다 (ERROR CODE : " + result + ")"); } else { NetworkMessageList.TipMessage(socket, "[키워드] \"" + keyword + "\" 가 추가되었습니다."); KeywordList(socket); } } }
public static void GetPostList(ESocket socket, int no) { string id = GachonSocket.GetId(socket); if (id != null) { MysqlNode mysqlNode = new MysqlNode(private_data.mysqlOption, "SELECT * FROM post_name where receiver=?id and no > ?no order by date"); mysqlNode["no"] = no; mysqlNode["id"] = id; JArray array = new JArray(); using (mysqlNode.ExecuteReader()) { while (mysqlNode.Read()) { JObject item = new JObject(); item["title"] = mysqlNode.GetString("title"); item["content"] = mysqlNode.GetString("content"); item["no"] = mysqlNode.GetInt("no"); item["sender"] = mysqlNode.GetString("sender_name"); item["sender_id"] = mysqlNode.GetString("sender"); item["date"] = (mysqlNode.GetDateTime("date")).ToString("yyyy-MM-dd HH:mm:ss"); array.Add(item); } } JObject json = new JObject(); json["type"] = AndroidProtocol.PostList; json["items"] = array; socket.Send(json); return; } }
public static void ReturnInfo(ESocket socket) { string id = GachonSocket.GetId(socket); if (id != null) { JObject json = new JObject(); json["type"] = AndroidProtocol.Info; json["name"] = GachonObjects.AllUser[id].Name; json["department"] = GachonObjects.AllUser[id].Department; json["number"] = GachonObjects.AllUser[id].StudentNumber; socket.Send(json); } }
public static void KeywordList(ESocket socket) { string id = GachonSocket.GetId(socket); if (id != null) { MysqlNode node = new MysqlNode(private_data.mysqlOption, "SELECT * FROM keyword WHERE student_id=?id"); node["id"] = id; JArray array = new JArray(); using (node.ExecuteReader()) { while (node.Read()) { array.Add(node.GetString("keyword")); } } JObject json = new JObject(); json["type"] = AndroidProtocol.KeywordList; json["list"] = array; socket.Send(json); } }
public static bool SendPost(ESocket socket, JObject message) { // 유효성 검사 string id = GachonSocket.GetId(socket); if (id == null) { NetworkMessageList.TipMessage(socket, "로그인 권한을 얻을 수 없습니다. 다시 접속해주세요."); return(false); } string title = ((string)message["title"]).Trim(); if (string.IsNullOrEmpty(title)) { NetworkMessageList.TipMessage(socket, "우편 제목을 입력해주세요."); return(false); } string content = ((string)message["content"]); if (string.IsNullOrEmpty(content)) { content = ""; // 우편 내용은 없어도 가능 } string receiver = ((string)message["receiver"]); if (string.IsNullOrEmpty(receiver)) { NetworkMessageList.TipMessage(socket, "받을 사람을 입력해주세요."); return(false); } string receiver_id = GachonLibrary.GachonUser.GetID(receiver); if (receiver_id == null) { NetworkMessageList.TipMessage(socket, "데이터베이스에서 해당 유저를 찾을 수 없습니다. (가천빌리지에 한번이라도 로그인 해야함)"); return(false); } else if (receiver_id == "") { NetworkMessageList.TipMessage(socket, "수신자가 중복으로 존재합니다. 이름 뿐만 아니라 학번 또는 아이디 정보를 입력하여 받는 사람을 정확히 지정해주세요."); return(false); } if (User.Items.ContainsKey(socket)) // 게임 접속 유저일경우 { User user = User.Items[socket]; int file_no = -1; if (message["file"] != null) { file_no = (int)message["file"]; if (!user.HaveItem(file_no)) { NetworkMessageList.TipMessage(socket, "해당 파일에 대한 권한이 없습니다. 인벤토리를 확인해주세요."); return(false); } } SendPost(title, content, id, receiver_id, true, file_no); NetworkMessageList.TipMessage(socket, "우편을 성공적으로 전송하였습니다."); GetPage(user, 1); // 우편 리스트를 보며주는 UI로 연결 return(true); } else // 게임 유저가 아닐경우 (안드로이드) { SendPost(title, content, id, receiver_id); return(true); } }