private void ProcTaskListTime(HEADER obj) { mCount = 0; ICD.WorkList msg = (ICD.WorkList)obj; HEADER msgHis = new HEADER(); msgHis.FillClientHeader(DEF.CMD_TaskHistory); foreach (Work item in msg.works) { if (mTracks.ContainsKey(item.recordID)) { continue; } TrackingInfo info = new TrackingInfo(); info.workBase = item; info.his = null; mTracks[item.recordID] = info; mCount++; msgHis.ext1 = item.recordID.ToString(); ICDPacketMgr.GetInst().sendMsgToServer(msgHis); } }
private void ICD_Login(int clientID, HEADER obj) { User msg = obj as User; DataRow row = DatabaseMgr.GetUserInfo(msg.userID); User pack = new User(); pack.FillServerHeader(DEF.CMD_Login); if (row != null) { if (row["password"].ToString() == msg.userPW) { AddUser(clientID, msg.userID); pack.userID = row["recordID"].ToString(); pack.userPW = row["password"].ToString(); } else { pack.msgErr = DEF.ERR_WorngPW; } } else { pack.msgErr = DEF.ERR_NoID; } ICDPacketMgr.GetInst().sendMsgToClient(clientID, pack); }
private void MyTasks_Load(object sender, EventArgs e) { ICDPacketMgr.GetInst().OnRecv += OnRecv_ICDMessages; FormClosed += delegate { ICDPacketMgr.GetInst().OnRecv -= OnRecv_ICDMessages; Dispose(); //Relese All //Close databases //Close Network Socket Process.GetCurrentProcess().Kill(); }; InitListView(); ICD.HEADER msg = new ICD.HEADER(); msg.FillClientHeader(ICD.DEF.CMD_TaskIDList); ICDPacketMgr.GetInst().sendMsgToServer(msg); /* * ICD.HEADER chatMsg = new ICD.HEADER(); * chatMsg.FillClientHeader(ICD.DEF.CMD_ChatRoomList); * ICDPacketMgr.GetInst().sendMsgToServer(chatMsg); */ }
private void TaskWindow_Load(object sender, EventArgs e) { InitListViews(); updateTaskInfo(); if (mTask.director == MyInfo.mMyInfo.userID && mTask.director != mTask.worker) { btnReport.Text = "확인"; btnReport.Enabled = (mTask.state == "완료대기") ? true : false; } ICDPacketMgr.GetInst().OnRecv += OnRecvEditTask; FormClosed += delegate { ICDPacketMgr.GetInst().OnRecv -= OnRecvEditTask; ChatRoomInfo msgOut = new ChatRoomInfo(); msgOut.FillClientHeader(DEF.CMD_HideChat, 0); msgOut.body.recordID = mTask.chatID; ICDPacketMgr.GetInst().sendMsgToServer(msgOut); }; ChatRoomInfo msgAll = new ChatRoomInfo(); msgAll.FillClientHeader(DEF.CMD_ChatMsgAll, 0); msgAll.body.recordID = mTask.chatID; ICDPacketMgr.GetInst().sendMsgToServer(msgAll); ChatRoomInfo msgIn = new ChatRoomInfo(); msgIn.FillClientHeader(DEF.CMD_ShowChat, 0); msgIn.body.recordID = mTask.chatID; ICDPacketMgr.GetInst().sendMsgToServer(msgIn); }
private void DlgChatRoom_Load(object sender, EventArgs e) { InitListViews(); ICDPacketMgr.GetInst().OnRecv += OnProcChatRoom; FormClosed += delegate { ICDPacketMgr.GetInst().OnRecv -= OnProcChatRoom; ChatRoomInfo msgOut = new ChatRoomInfo(); msgOut.FillClientHeader(DEF.CMD_HideChat, 0); msgOut.body.recordID = mRoomID; ICDPacketMgr.GetInst().sendMsgToServer(msgOut); }; ChatRoomInfo msgAll = new ChatRoomInfo(); msgAll.FillClientHeader(DEF.CMD_ChatMsgAll, 0); msgAll.body.recordID = mRoomID; ICDPacketMgr.GetInst().sendMsgToServer(msgAll); ChatRoomInfo msgIn = new ChatRoomInfo(); msgIn.FillClientHeader(DEF.CMD_ShowChat, 0); msgIn.body.recordID = mRoomID; ICDPacketMgr.GetInst().sendMsgToServer(msgIn); }
private void OnRecv_Login(ICD.HEADER obj) { switch (obj.msgErr) { case ICD.DEF.ERR_NoError: { MessageBox.Show(MSG_SUCCESS_LOGIN); MyInfo.mMyInfo = obj as ICD.User; ICDPacketMgr.GetInst().OnRecv -= OnRecv_ICDMessages; Visible = false; MyTasks task = new MyTasks(); task.Show(); task.FormClosed += delegate { Visible = true; ICDPacketMgr.GetInst().OnRecv += OnRecv_ICDMessages; }; } break; case ICD.DEF.ERR_NoID: MessageBox.Show(MSG_UNREGIST_ID); break; case ICD.DEF.ERR_WorngPW: MessageBox.Show(MSG_WRONG_PW); break; default: break; } }
private void button1_Click(object sender, EventArgs e) { if (cbNewUser.Checked) { //회원가입 요청 if (edPassword.Text == edPasswordCheck.Text) { ICD.User obj = new ICD.User(); obj.FillClientHeader(ICD.DEF.CMD_NewUser); obj.userID = edUserID.Text; obj.userPW = edPassword.Text; ICDPacketMgr.GetInst().sendMsgToServer(obj); } else { MessageBox.Show(MSG_DIFF_PW); } } else { //로그인 요청 ICD.User obj = new ICD.User(); obj.FillClientHeader(ICD.DEF.CMD_Login); obj.userID = edUserID.Text; obj.userPW = edPassword.Text; ICDPacketMgr.GetInst().sendMsgToServer(obj); } }
private void btnReport_Click(object sender, EventArgs e) { bool typeReport = (mTask.state == "완료대기") ? false : true; DlgReportTask dlg = new DlgReportTask(typeReport); dlg.ShowDialog(); if (dlg.mIsOK) { WorkHistoryList msg = new WorkHistoryList(); msg.FillClientHeader(DEF.CMD_TaskEdit, 0); msg.workHistory[0].editor = MyInfo.mMyInfo.userID; msg.workHistory[0].taskID = mTask.recordID; if (typeReport) { msg.workHistory[0].columnName = (dlg.Type == "중간보고") ? "reportMid" : "reportDone"; msg.workHistory[0].toInfo = dlg.Time + "," + dlg.Msg; } else { msg.workHistory[0].columnName = (dlg.Type == "승인") ? "confirmOK" : "confirmNO"; msg.workHistory[0].toInfo = dlg.Time + "," + dlg.Msg; } string info = string.Format("[{0}] : {1}", msg.workHistory[0].columnName, msg.workHistory[0].toInfo); SendChatMessage(info, true); ICDPacketMgr.GetInst().sendMsgToServer(msg); } }
private void ICD_Logout(int clientID, HEADER obj) { DelUser(obj.msgUser); HEADER pack = new HEADER(); pack.FillServerHeader(DEF.CMD_Logout); ICDPacketMgr.GetInst().sendMsgToClient(clientID, pack); }
public void ConnectServer() { ICDPacketMgr.GetInst().OnRecv += OnRecv_ICDMessages; //ICDPacketMgr.GetInst().StartServiceServer(); ICDPacketMgr.GetInst().StartServiceClient(IPADDR, PORTNUM); }
public void sendMsg(string user, HEADER obj) { if (user == null || !mUserMap.ContainsKey(user)) { return; } ICDPacketMgr.GetInst().sendMsgToClient(mUserMap[user], obj); }
private void lvUserlist_DoubleClick(object sender, EventArgs e) { if (lvUserlist.SelectedItems.Count == 1) { mSelectedUser = lvUserlist.SelectedItems[0].Text; ICDPacketMgr.GetInst().OnRecv -= OnRecvUserList; Close(); } }
private void btnExit_Click(object sender, EventArgs e) { ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_DelChatUsers, 0); msg.body.recordID = mRoomID; msg.body.users = new string[1]; msg.body.users[0] = MyInfo.mMyInfo.userID; ICDPacketMgr.GetInst().sendMsgToServer(msg); Close(); }
private void RequestTaskList(DateTime from, DateTime to) { HEADER msg = new HEADER(); msg.FillClientHeader(DEF.CMD_TaskBaseList); msg.ext1 = from.ToString("yyyy-MM-dd HH:mm:ss"); msg.ext2 = to.ToString("yyyy-MM-dd HH:mm:ss"); ICDPacketMgr.GetInst().sendMsgToServer(msg); }
private void btnNewTask_Click(object sender, EventArgs e) { if (cbType.Text == "채팅") { ICD.ChatRoomInfo msgNewChat = new ICD.ChatRoomInfo(); msgNewChat.FillClientHeader(ICD.DEF.CMD_NewChat, 0); msgNewChat.body.access = cbAccess.Text; if (btnDirector.Text == btnWorker.Text) { msgNewChat.body.users = new string[1]; msgNewChat.body.users[0] = btnDirector.Text; } else { msgNewChat.body.users = new string[2]; msgNewChat.body.users[0] = btnDirector.Text; msgNewChat.body.users[1] = btnWorker.Text; } ICDPacketMgr.GetInst().sendMsgToServer(msgNewChat); } else { ICD.WorkList msg = new ICD.WorkList(); msg.FillClientHeader(ICD.DEF.CMD_TaskNew, 0); ICD.Work msgTask = msg.works[0]; //comboBox listing msgTask.type = cbType.Text; msgTask.access = cbAccess.Text; msgTask.mainCate = cbMainCate.Text; msgTask.subCate = cbSubCate.Text; //formatting date msgTask.launch = dtLaunch.Value.ToString("yyyy-MM-dd HH:mm:ss"); msgTask.due = dtDue.Value.ToString("yyyy-MM-dd HH:mm:ss"); msgTask.term = dtTerm.Value.ToString("yyyy-MM-dd HH:mm:ss"); msgTask.priority = cbPriority.Text; //user listing msgTask.creator = MyInfo.mMyInfo.userID; msgTask.director = btnDirector.Text; msgTask.worker = btnWorker.Text; msgTask.title = tbTitle.Text; msgTask.comment = tbComment.Text; msgTask.state = "예정"; msgTask.timeFirst = msg.msgTime; msgTask.timeDone = DateTime.MaxValue.ToString("yyyy-MM-dd HH:mm:ss"); ICDPacketMgr.GetInst().sendMsgToServer(msg); } Close(); }
private void SendChatMessage(string message, bool isSystem = false) { ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_ChatMsg, 0); if (isSystem) { msg.msgUser = "******"; } msg.body.recordID = mTask.chatID; msg.body.mesgs = new MesgInfo[1]; msg.body.mesgs[0] = new MesgInfo(); msg.body.mesgs[0].message = message; ICDPacketMgr.GetInst().sendMsgToServer(msg); }
private void btnExit_Click(object sender, EventArgs e) { string me = MyInfo.mMyInfo.userID; if (mTask.director != me && mTask.worker != me) { ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_DelChatUsers, 0); msg.body.recordID = mTask.chatID; msg.body.users = new string[1]; msg.body.users[0] = me; ICDPacketMgr.GetInst().sendMsgToServer(msg); } Close(); }
private void btnUser_Click(object sender, EventArgs e) { DlgEditChatUsers dlg = new DlgEditChatUsers(mRoomID); dlg.ShowDialog(); string[] pre = dlg.mChatUserList; string[] after = dlg.mChatNewList; if (pre == null || after == null) { LOG.warn(); return; } { ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_DelChatUsers, 0); msg.body.recordID = mRoomID; List <string> oldUsers = new List <string>(); foreach (string item in pre) { if (!after.Contains(item)) { oldUsers.Add(item); } } msg.body.users = oldUsers.ToArray(); ICDPacketMgr.GetInst().sendMsgToServer(msg); } { ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_AddChatUsers, 0); msg.body.recordID = mRoomID; List <string> newUsers = new List <string>(); foreach (string item in after) { if (!pre.Contains(item)) { newUsers.Add(item); } } msg.body.users = newUsers.ToArray(); ICDPacketMgr.GetInst().sendMsgToServer(msg); } }
private void DlgEditChatUsers_Load(object sender, EventArgs e) { InitListViews(); InitUserAll(); ICDPacketMgr.GetInst().OnRecv += OnProcUserList; FormClosed += delegate { ICDPacketMgr.GetInst().OnRecv -= OnProcUserList; }; ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_ChatRoomInfo, 0); msg.body.recordID = mRoomID; ICDPacketMgr.GetInst().sendMsgToServer(msg); }
private void DlgTaskTracking_Load(object sender, EventArgs e) { mCurrentTime = DateTime.Now; InitListViews(); ICDPacketMgr.GetInst().OnRecv += OnProcTaskHistroy; FormClosed += delegate { ICDPacketMgr.GetInst().OnRecv -= OnProcTaskHistroy; }; TimeSpan span = new TimeSpan(VIEW_PERIOD, 0, 0, 0); DateTime from = mCurrentTime - span; DateTime to = mCurrentTime + span; RequestTaskList(from, to); }
private void btnSend_Click(object sender, EventArgs e) { if (tbMsg.Text.Length == 0) { return; } ChatRoomInfo msg = new ChatRoomInfo(); msg.FillClientHeader(DEF.CMD_ChatMsg, 0); msg.body.recordID = mRoomID; msg.body.mesgs = new MesgInfo[1]; msg.body.mesgs[0] = new MesgInfo(); msg.body.mesgs[0].message = tbMsg.Text; ICDPacketMgr.GetInst().sendMsgToServer(msg); tbMsg.Text = ""; }
public void StartService() { if (mFuncArray != null) { return; } mFuncArray = new ICDPacketMgr.PacketHandler[DEF.CMD_MAX_COUNT]; mFuncArray[DEF.CMD_NewUser] = ICD_NewUser; mFuncArray[DEF.CMD_UserList] = ICD_UserList; mFuncArray[DEF.CMD_Login] = ICD_Login; mFuncArray[DEF.CMD_Logout] = ICD_Logout; mFuncArray[DEF.CMD_TaskNew] = ICD_NewTask; mFuncArray[DEF.CMD_TaskEdit] = ICD_EditTask; mFuncArray[DEF.CMD_TaskIDList] = ICD_TaskList; mFuncArray[DEF.CMD_NewChat] = ICD_NewChat; mFuncArray[DEF.CMD_ChatMsg] = ICD_ProcChat; mFuncArray[DEF.CMD_AddChatUsers] = ICD_ProcChat; mFuncArray[DEF.CMD_DelChatUsers] = ICD_ProcChat; mFuncArray[DEF.CMD_ShowChat] = ICD_ProcChat; mFuncArray[DEF.CMD_HideChat] = ICD_ProcChat; mFuncArray[DEF.CMD_ChatMsgAll] = ICD_ProcChat; mFuncArray[DEF.CMD_ChatRoomInfo] = ICD_ProcChat; mFuncArray[DEF.CMD_ChatRoomList] = ICD_ChatRoomList; mFuncArray[DEF.CMD_TaskBaseList] = ICD_ProcWorkList; mFuncArray[DEF.CMD_TaskHistory] = ICD_ProcWorkHistory; InitChatRooms(); ICDPacketMgr.GetInst().StartServiceServer(); ICDPacketMgr.GetInst().OnRecv += (id, obj) => { mFuncArray[obj.msgID]?.Invoke(id, obj); }; ICDPacketMgr.GetInst().OnDisConnected += (id, obj) => { DelUser(id); }; }
private void ICD_NewUser(int clientID, HEADER obj) { User msg = obj as User; if (DatabaseMgr.GetUserInfo(msg.userID) != null) { HEADER pack = new HEADER(); pack.FillServerHeader(DEF.CMD_NewUser); pack.msgErr = DEF.ERR_HaveID; ICDPacketMgr.GetInst().sendMsgToClient(clientID, pack); } else { DatabaseMgr.NewUser(msg); HEADER pack = new HEADER(); pack.FillServerHeader(DEF.CMD_NewUser); ICDPacketMgr.GetInst().sendMsgToClient(clientID, pack); } }
private void ICD_UserList(int clientID, HEADER obj) { DataTable table = DatabaseMgr.GetUsers(); if (table == null) { return; } Message pack = new Message(); pack.FillServerHeader(DEF.CMD_UserList); foreach (DataRow user in table.Rows) { pack.message += user["recordID"].ToString(); pack.message += ","; } ICDPacketMgr.GetInst().sendMsgToClient(clientID, pack); }
private void btnUpdate_Click(object sender, EventArgs e) { ICD.HEADER msg = new ICD.HEADER(); msg.FillClientHeader(ICD.DEF.CMD_UserList); ICDPacketMgr.GetInst().sendMsgToServer(msg); }
public UserList() { InitializeComponent(); InitListView(); ICDPacketMgr.GetInst().OnRecv += OnRecvUserList; }
private void sendEditInfo() { List <WorkHistory> vec = new List <WorkHistory>(); List <string> newUsers = new List <string>(); if (cbAccess.Text != mTask.access) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "access"; item.fromInfo = mTask.access; item.toInfo = cbAccess.Text; vec.Add(item); } if (cbMainCate.Text != mTask.mainCate) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "mainCate"; item.fromInfo = mTask.mainCate; item.toInfo = cbMainCate.Text; vec.Add(item); } if (cbSubCate.Text != mTask.subCate) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "subCate"; item.fromInfo = mTask.subCate; item.toInfo = cbSubCate.Text; vec.Add(item); } if (tbTitle.Text != mTask.title) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "title"; item.fromInfo = mTask.title; item.toInfo = tbTitle.Text; vec.Add(item); } if (tbComment.Text != mTask.comment) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "comment"; item.fromInfo = mTask.comment; item.toInfo = tbComment.Text; vec.Add(item); } if (btnDirector.Text != mTask.director) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "director"; item.fromInfo = mTask.director; item.toInfo = btnDirector.Text; vec.Add(item); newUsers.Add(item.toInfo); } if (btnWorker.Text != mTask.worker) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "worker"; item.fromInfo = mTask.worker; item.toInfo = btnWorker.Text; vec.Add(item); newUsers.Add(item.toInfo); } if (dtLaunch.Value.Ticks != DateTime.Parse(mTask.launch).Ticks) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "launch"; item.fromInfo = mTask.launch.ToString(); item.toInfo = dtLaunch.Value.ToString("yyyy-MM-dd HH:mm:ss"); vec.Add(item); } if (dtDue.Value.Ticks != DateTime.Parse(mTask.due).Ticks) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "due"; item.fromInfo = mTask.due.ToString(); item.toInfo = dtDue.Value.ToString("yyyy-MM-dd HH:mm:ss"); vec.Add(item); } if (dtTerm.Value.Ticks != DateTime.Parse(mTask.term).Ticks) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "term"; item.fromInfo = mTask.term.ToString(); item.toInfo = dtTerm.Value.ToString("yyyy-MM-dd HH:mm:ss"); vec.Add(item); } if (cbPriority.Text != mTask.priority) { WorkHistory item = new WorkHistory(); item.taskID = mTask.recordID; item.editor = MyInfo.mMyInfo.userID; item.columnName = "priority"; item.fromInfo = mTask.priority; item.toInfo = cbPriority.Text; vec.Add(item); } if (vec.Count == 0) { MessageBox.Show("변경점이 없습니다."); } else { if (newUsers.Count > 0) { ChatRoomInfo addUserMsg = new ChatRoomInfo(); addUserMsg.FillClientHeader(DEF.CMD_AddChatUsers, 0); addUserMsg.body.recordID = mTask.chatID; addUserMsg.body.users = newUsers.ToArray(); ICDPacketMgr.GetInst().sendMsgToServer(addUserMsg); } ICD.WorkHistoryList msg = new ICD.WorkHistoryList(); msg.FillClientHeader(ICD.DEF.CMD_TaskEdit, 0); msg.workHistory = vec.ToArray(); ICDPacketMgr.GetInst().sendMsgToServer(msg); string editedInfo = " <Task 변경>\n"; foreach (var item in msg.workHistory) { string info = string.Format("[{0}] : {1} => {2}\n", item.columnName, item.fromInfo, item.toInfo); editedInfo += info; } SendChatMessage(editedInfo, true); } }