Beispiel #1
0
        static void DoDisconnect(string msg, string ip)
        {
            Console.WriteLine($"{DateTime.Now.ToString()}:{msg}");
            IOs.Logger.MakeLog(msg);

            Client newClient = ClientMethods.GetClient(ip);

            if (newClient != null)
            {
                newClient.Disconnect();
            }
        }
Beispiel #2
0
        //létezik-e a client
        public static bool ValidClient(string ip)
        {
            Client client = ClientMethods.GetClient(ip);

            if (client == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        //két cikk egy asztalra küldés
        //asztalszám;ip;monitorszám adatstruktura
        public void SendDoubleStandardToOneAsztal(string asztalszam, string[] cikkek)
        {
            //a gép infók kiolvasása
            string[] gepRaw = DataOperations.GetSearchedData(asztalszam, CommonDatas.GepInfoPath);

            //ip kiszedése az adatstrukturából
            string ip = gepRaw[1];

            //a pdfraws kiolvasása és összeállítása egy listává, két cikk alapján
            List <string[]> pdfRaws = DataOperations.MakePDFRaws(cikkek);

            //a kliens streamjének megszerzése az IP cím alapján
            Client client = ClientMethods.GetClient(ip);

            //a pdfraws adatok ellenőrzése ha megfelelő, akkor visszaadja azokat, ha nem akkor pedig mást add vissza
            for (int i = 0; i < cikkek.Length; i++)
            {
                pdfRaws[i] = InfoChecker.ValidInfos(gepRaw[1], asztalszam, cikkek[i], pdfRaws[i]);
            }

            //a két pdfRawból egy összetett pdfRaw állít elő, veszi a két pdfRaw első két standardját és azt állítja össze
            string[] compliedPDFRaw = DataOperations.MakeCompliedPDFRaw(pdfRaws);

            if (compliedPDFRaw == null)
            {
                throw new ApplicationException($"A PDFek kiolvasása a {asztalszam} sikertelen volt, mert nem tudta kiolvasni a {CommonDatas.PathtoCikkek} fájlból az adatokat");
            }

            //az elküldés elindítása egy másik szálon, hogy gyorsabban menjen a folyamat
            Task.Run(() => {
                ServerSendingProtocol.SendDatas(client, gepRaw, compliedPDFRaw);
            });

            //az adatok GUIra való állítása

            if (pdfRaws[0][0] == null)
            {
                CommonDatas.GUI.DGVManager.ReplaceInfo(asztalszam, pdfRaws[0][1], pdfRaws[1][1], pdfRaws[1][0]);
            }
            else
            {
                CommonDatas.GUI.DGVManager.ReplaceInfo(asztalszam, pdfRaws[0][1], pdfRaws[1][1], pdfRaws[0][0] + CommonDatas.MarkBetweenTwoCikk + pdfRaws[1][0]);
            }
        }
Beispiel #4
0
        //az adatok elküldése a klienseknek
        public static void SendDatasToClient(string cikk, string asztal)
        {
            string[] gepRaw;
            string[] pdfRaw;

            try {
                //paraméterek vizsgálása
                ParameterChecking.CheckParamValidate(cikk);
                ParameterChecking.CheckParamValidate(asztal);

                //a gepinfók beolvasása
                gepRaw = DataOperations.GetSearchedData(asztal, CommonDatas.GepInfoPath);
                //a cikk infók beolvasása
                pdfRaw = DataOperations.GetSearchedData(cikk, CommonDatas.PathtoCikkek);

                //a beolvasott adatok vizsgálata
                ParameterChecking.CheckgepInfosValidate(gepRaw, asztal);
                ParameterChecking.CheckpdfInfosValidate(pdfRaw, cikk, asztal);
            }
            catch (ApplicationException ex) {
                Console.WriteLine($"{DateTime.Now.ToString()}: {ex.Message}");
                Logger.MakeLog(ex.Message);
                return;
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{DateTime.Now.ToString()}: Ismeretlen hiba lépett fel: {ex.Message}");
                Logger.MakeLog($"Ismeretlen hiba lépett fel: {ex.Message}");
                return;
            }

            Client client = ClientMethods.GetClient(gepRaw[1]);

            //a kliens beállítása
            if (client != null)
            {
                //az adatok elküldése
                ServerSendingProtocol.SendDatas(client, gepRaw, pdfRaw);
            }

            //az adatok beállítása a GUIban
            CommonDatas.GUI.DGVManager.ReplaceInfo(asztal, pdfRaw[1], pdfRaw[2], cikk);
        }
Beispiel #5
0
        public void Disconnect()
        {
            //már nem küld semmi adatot
            SendingDatas = false;

            //a kliens kiszedése a kliens listából
            ClientMethods.RemoveClient(this);

            try
            {
                //a kapcsolat bezárása
                ClientTCP.Close();
                //a stream bezárása
                ClientStream.Close();
            }
            catch (Exception)
            {
            }

            Checking = false;

            DisconnectOperations.SetKilokosOffline(ClientIP.ToString());
        }