private void SendReqest(ProtocolOfExchange req, NetworkTransferObjects obj, TcpModule tcp) { if (m_IsConnectedToServer || req == ProtocolOfExchange.CheckConnection) { // m_tcpModule.Receive += Tcp_Receive; tcp.SendData(obj, req); } }
private void deleteBaseBtn_Click(object sender, EventArgs e) { if (MessageBox.Show("Действительно удалить базу??", "Предупреждение", MessageBoxButtons.OKCancel) == DialogResult.OK) { if (DataBaseCollectionListBox.SelectedIndex != -1) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBase = (DataBase.DataBase)DataBaseCollectionListBox.SelectedItem; SendReqest(ProtocolOfExchange.DelBase, obj, m_tcpModule); } } }
private void addDabaseBtn_Click(object sender, EventArgs e) { AddEditDataBase add = new AddEditDataBase(); add.DictDb = m_DbDict; if (add.ShowDialog() == DialogResult.OK) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBase = new DataBase.DataBase(((DictionaryItem)add.typeDataCmbx.SelectedItem).TypeId, ((DictionaryItem)add.typeDataCmbx.SelectedItem).DataDescr, ((DictionaryItem)add.ProduktTypeCmb.SelectedItem).DataDescr, (ArrayItem)add.ProduktValueCmb.SelectedItem); SendReqest(ProtocolOfExchange.AddBase, obj, m_tcpModule); } }
/// <summary> /// Первый шаг автооперации /// </summary> private void AutoOperationBegin() { if (autoModeCxb.Checked) { if (AddInPacketTreeView.Nodes.Count == autoModeQrInPacketCount.Value) { auto_operation_statusPanel.BackColor = Color.Red; // 1 - добавляем данные в базу NetworkTransferObjects obj = new NetworkTransferObjects(); obj.QrCodeData = m_CurrentPrintQrCode; m_AutoOperationFlags[0] = true; SendReqest(ProtocolOfExchange.AddQrItemInBase, obj, m_tcpModule); } } }
private void DeleteDbItem_Click(object sender, EventArgs e) { if (DataBasItemCollectionListBox.SelectedIndices.Count > 0) { if (DataBaseCollectionListBox.SelectedIndex != -1) { List <DataBaseItem> deleteItems = new List <DataBaseItem>(); foreach (DataBaseItem dbi in DataBasItemCollectionListBox.SelectedItems) { deleteItems.Add(dbi); } NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBaseItemsList = deleteItems; obj.DbIndex = DataBaseCollectionListBox.SelectedIndex; SendReqest(ProtocolOfExchange.DelDbItems, obj, m_tcpModule); } } }
//вызывает ворму авторизации пользователя, после получения списка всех пользователей private void UserListRecieved() { AuthorizationForm authForm = new AuthorizationForm(); authForm.ListUser = m_UserInfoArray; DialogResult dr = authForm.ShowDialog(); if (dr == DialogResult.OK) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.AuthInfo = new AuthInfo(((UserInfo)authForm.userCmb.SelectedItem).Id, authForm.passwordTxb.Text); SendReqest(ProtocolOfExchange.TryAuth, obj); } else if (dr == DialogResult.No) { this.Close(); } else { UserListRecieved(); } }
private void addToBaseBtn_Click(object sender, EventArgs e) { //находим в текущем qr - коде элемент для определения в какую базу добавлять if (m_DbCollection.IsHaveDbWithQrParametrs(m_CurrentPrintQrCode)) { if (MessageBox.Show("Добавить данные в базу?", "Внимание!", MessageBoxButtons.OKCancel) == DialogResult.OK) { if (OncePrintingRadioBtn.Checked || CopyOfPagesRadioBtn.Checked) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.QrCodeData = m_CurrentPrintQrCode; SendReqest(ProtocolOfExchange.AddQrItemInBase, obj, m_tcpModule); } else { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.QrCodeDataArray = m_QrProcessor.GenerateQrDataArrayForSerialPrint(m_CurrentPrintQrCode, m_DbDict, (int)SerialCopyNumericUpDown.Value); SendReqest(ProtocolOfExchange.AddQrItemSInBase, obj, m_tcpModule); } } } }
//оброботка входящих данных из сети private void M_TcpClient_Receive(object sender, SocketData s) { // TcpModule tcp = (TcpModule)sender; NetworkTransferObjects obj = (NetworkTransferObjects)sender; //проверка соединения if (obj.ProtocolMessage == ProtocolOfExchange.CheckConnectionOK) { m_IsConnectedToServer = true; this.Invoke((new Action(() => connectionStatusLabel.BackColor = Color.Green))); TimeOutTimer.Stop(); SendReqest(ProtocolOfExchange.AskUserInfoList, new NetworkTransferObjects()); } //получение списка пользователей для выбора при авторизации if (obj.ProtocolMessage == ProtocolOfExchange.UserInfoListOk) { m_UserInfoArray = (List <UserInfo>)obj.ListUserInfo; this.Invoke((new Action(() => UserListRecieved()))); } if (obj.ProtocolMessage == ProtocolOfExchange.AuthOk) { m_CurrentUser = obj.User; m_CurrentAuth = obj.AuthInfo; this.Invoke((new Action(() => MessageBox.Show("Вы авторизированы")))); this.Invoke((new Action(() => this.Text = m_CurrentUser.FullName))); this.Invoke((new Action(() => SyncTimer_Tick(null, null)))); this.Invoke((new Action(() => SyncTimer.Start()))); } if (obj.ProtocolMessage == ProtocolOfExchange.AuthFail) { this.Invoke((new Action(() => UserListRecieved()))); } //временно /* if (e.sendInfo.ProtocolMsg== ProtocolOfExchange.AddUserOK) * this.Invoke((new Action(() => MessageBox.Show("UserAdded"))));*/ if (obj.ProtocolMessage == ProtocolOfExchange.SyncMessages) { if (obj.AuthInfo.UserId == m_CurrentUser.Id) { if (obj.Message != null) { m_inbox.Add(obj.Message); } if (obj.Message_1 != null) { m_outbox.Add(obj.Message_1); } this.Invoke((new Action(() => SyncMessageInbox()))); } } if (obj.ProtocolMessage == ProtocolOfExchange.NewVersionClientNone) { this.Invoke((new Action(() => MessageBox.Show("Нет новых обновлений")))); } if (obj.ProtocolMessage == ProtocolOfExchange.NewVersionClientOk) { this.Invoke((new Action(() => System.Diagnostics.Process.Start("Updater.exe", m_ServerIp + " 5454")))); this.Invoke((new Action(() => this.Close()))); } }
private static void _tcpMod_Receive(object sender, DataBase.ReceiveEventArgs e) { TcpModule tcp = (TcpModule)sender; if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.CheckConnection) { Thread.Sleep(10); tcp.SendData(null, ProtocolOfExchange.CheckConnectionOK); } if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AskDictionary) { Dictionary di = new Dictionary(); di.ReadFromIni(); NetworkTransferObjects obj = new NetworkTransferObjects(); obj.Dictionary = di; Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.AskDictionaryOk); } if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AskDbCollection) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBaseCollection = m_DbCollection; Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.AskDbCollectionOk); } if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AddBase) { NetworkTransferObjects obj = new NetworkTransferObjects(); DataBase.DataBase addDb = (DataBase.DataBase)e.NetDataObj.DataBase; if (addDb != null) { if (m_DbCollection.AddDataBase(addDb)) { Functions.SaveConfig(m_DbCollection, "DataBase.qrdb"); obj.DataBaseCollection = m_DbCollection; Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.AddBaseOk); } else { Thread.Sleep(10); tcp.SendData(null, ProtocolOfExchange.AddBaseFail); } } } if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.DelBase) { DataBase.DataBase addDb = (DataBase.DataBase)e.NetDataObj.DataBase; if (addDb != null) { if (m_DbCollection.DeleteDataBase(addDb)) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBaseCollection = m_DbCollection; Functions.SaveConfig(m_DbCollection, "DataBase.qrdb"); Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.DelBaseOk); } } } //ADDQRITEMINBASE if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AddQrItemInBase) { QrCodeData qrcode = (QrCodeData)e.NetDataObj.QrCodeData; if (qrcode != null) { if (m_DbCollection.AddQrCodeToDataBases(qrcode)) { Functions.SaveConfig(m_DbCollection, "DataBase.qrdb"); NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBaseCollection = m_DbCollection; Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.AddQrItemInBaseOk); } else { Thread.Sleep(10); tcp.SendData(null, ProtocolOfExchange.AddQrItemInBaseFail); } } } //ADDQRITEMSINBASE if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AddQrItemSInBase) { QrCodeData[] qrcode = (QrCodeData[])e.NetDataObj.QrCodeDataArray; if (qrcode != null) { if (m_DbCollection.AddQrCodeSerialToDataBases(qrcode)) { Functions.SaveConfig(m_DbCollection, "DataBase.qrdb"); NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBaseCollection = m_DbCollection; Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.AddQrItemSInBaseOk); } else { Thread.Sleep(10); tcp.SendData(null, ProtocolOfExchange.AddQrItemSInBaseFail); } } } if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.DelDbItems) { int db_index = e.NetDataObj.DbIndex; if (db_index != -1) { if (m_DbCollection.DeleteItemsFromDb((List <DataBaseItem>)e.NetDataObj.DataBaseItemsList, db_index)) { Functions.SaveConfig(m_DbCollection, "DataBase.qrdb"); NetworkTransferObjects obj = new NetworkTransferObjects(); obj.DataBaseCollection = m_DbCollection; Thread.Sleep(10); tcp.SendData(obj, ProtocolOfExchange.DelDbItemsOK); } else { Thread.Sleep(10); tcp.SendData(null, ProtocolOfExchange.DelDbItemsFail); } } } }
private static void M_Tcp_Receive(object sender, SocketData m) { NetworkTransferObjects e = (NetworkTransferObjects)sender; if (e.ProtocolMessage == ProtocolOfExchange.CheckConnection) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.ProtocolMessage = ProtocolOfExchange.CheckConnectionOK; m_Tcp.Send(m.Socket, obj); } if (e.ProtocolMessage == ProtocolOfExchange.AskUserInfoList) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.ListUserInfo = m_UserDataBase.GetListUserInfo(); obj.ProtocolMessage = ProtocolOfExchange.UserInfoListOk; m_Tcp.Send(m.Socket, obj); } if (e.ProtocolMessage == ProtocolOfExchange.AddUser) { if (m_UserDataBase.Add(e.User)) { Func.SaveConfig(m_UserDataBase, "usersdb.bin"); NetworkTransferObjects obj = new NetworkTransferObjects(); obj.ListUserInfo = m_UserDataBase.GetListUserInfo(); obj.ProtocolMessage = ProtocolOfExchange.AddUserOK; m_Tcp.Send(m.Socket, obj); } } if (e.ProtocolMessage == ProtocolOfExchange.TryAuth) { AuthInfo authinfo = e.AuthInfo; if (m_UserDataBase.IsUserAuth(authinfo.UserId, authinfo.Password)) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.User = (m_UserDataBase.GetUserObject(authinfo.UserId)); obj.AuthInfo = authinfo; obj.ProtocolMessage = ProtocolOfExchange.AuthOk; m_Tcp.Send(m.Socket, obj); } else { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.ProtocolMessage = ProtocolOfExchange.AuthFail; m_Tcp.Send(m.Socket, obj); } } if (e.ProtocolMessage == ProtocolOfExchange.NewMessages) { //object[] obj = (object[])e.NetDataObj List <CoreLib.Message> toList = e.ListMessages; foreach (CoreLib.Message to in toList) { //UserInfo userFrom = new UserInfo(((User)e.sendInfo.InfoObject).Id, ((User)e.sendInfo.InfoObject).IdParent, ((User)e.sendInfo.InfoObject).FullName, ((User)e.sendInfo.InfoObject).PostName); m_MessageDataBase.NewMessage(to); Console.WriteLine("Получено сообщение от " + to.FromId + "для" + to.ToId); } //m_MessageDataBase.NewMessage(new Message()) } if (e.ProtocolMessage == ProtocolOfExchange.SyncMessages) { if (m_UserDataBase.IsUserAuth(e.AuthInfo)) { NetworkTransferObjects obj = new NetworkTransferObjects(); List <CoreLib.Message> inbox = m_MessageDataBase.SyncMessages(e.UserInfo, e.MessageUids, false); obj.AuthInfo = e.AuthInfo; obj.ProtocolMessage = ProtocolOfExchange.SyncMessages; foreach (CoreLib.Message msg in inbox) { obj.Message = msg; m_Tcp.Send(m.Socket, obj); Thread.Sleep(20); } List <CoreLib.Message> outbox = m_MessageDataBase.SyncMessages(e.UserInfo, e.MessageUids_1, true); obj.Message = null; foreach (CoreLib.Message msg in outbox) { obj.Message_1 = msg; m_Tcp.Send(m.Socket, obj); Thread.Sleep(20); } } } if (e.ProtocolMessage == ProtocolOfExchange.MessageRead) { m_MessageDataBase.MessageReaded(e.UserInfo, e.MessageUids[0]); } /*if (e.sendInfo.message == "File") * { * UserFile uf = (UserFile)e.Object; * if(System.IO.Directory.Exists(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase")) * uf.SaveToLocal(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase" + @"\" + uf.FileName); * else * { * System.IO.Directory.CreateDirectory(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase"); * uf.SaveToLocal(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase" + @"\" + uf.FileName); * } * }*/ if (e.ProtocolMessage == ProtocolOfExchange.AskNewVersionClient) { NetworkTransferObjects obj = new NetworkTransferObjects(); if (m_UpdateExist) { obj.ProtocolMessage = ProtocolOfExchange.NewVersionClientOk; //obj.Data = Func.LoadFile("ClientPanel.exe"); m_Tcp.Send(m.Socket, obj); } else { obj.ProtocolMessage = ProtocolOfExchange.NewVersionClientNone; m_Tcp.Send(m.Socket, obj); } } if (e.ProtocolMessage == ProtocolOfExchange.GetNewVersionClient) { NetworkTransferObjects obj = new NetworkTransferObjects(); obj.ProtocolMessage = ProtocolOfExchange.GetNewVersionClient; obj.Data = Func.LoadFile("ClientPanel.exe"); m_Tcp.Send(m.Socket, obj); } }