コード例 #1
0
 private void SendReqest(ProtocolOfExchange req, NetworkTransferObjects obj, TcpModule tcp)
 {
     if (m_IsConnectedToServer || req == ProtocolOfExchange.CheckConnection)
     {
         // m_tcpModule.Receive += Tcp_Receive;
         tcp.SendData(obj, req);
     }
 }
コード例 #2
0
 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);
         }
     }
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 /// <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);
         }
     }
 }
コード例 #5
0
 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);
         }
     }
 }
コード例 #6
0
        //вызывает ворму авторизации пользователя, после получения списка всех пользователей
        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();
            }
        }
コード例 #7
0
 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);
             }
         }
     }
 }
コード例 #8
0
        //оброботка входящих данных из сети
        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())));
            }
        }
コード例 #9
0
        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);
                    }
                }
            }
        }
コード例 #10
0
        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);
            }
        }