//egy kiloko model alapján kiküldi az adatokat, két cikket void SendDoubleCikkToMachine(IKilokoModel kiloko) { try { if (kiloko.Cikkek.Length > 2) { string[] cikkek = new string[2] { kiloko.Cikkek[0], kiloko.Cikkek[1] }; OperationModel.DoubleLineOperations.SendDoubleStandardToOneAsztal(kiloko.Kiloko, cikkek); } else { OperationModel.DoubleLineOperations.SendDoubleStandardToOneAsztal(kiloko.Kiloko, kiloko.Cikkek.ToArray()); } } catch (ApplicationException ex) { Console.WriteLine($"{DateTime.Now.ToString()}:{ex.Message}"); Logger.MakeLog(ex.Message); } catch (Exception ex) { if (kiloko.Client != null) { Console.WriteLine($"{DateTime.Now.ToString()}: Ismeretlen hiba lépett fel a cikkek elküldése közben a {kiloko.Client?.ClientIP.ToString()} kliensre: {ex.Message}"); Logger.MakeLog($"Ismeretlen hiba lépett fel a cikkek elküldése közben a {kiloko.Client?.ClientIP.ToString()} kliensre: {ex.Message}"); } } }
void SendOutDatasToClients() { List <Task> sendingTasks = new List <Task>(); //végig megy a listán és mindegyiknél eldönti hogy kell küldeni a cikkeket for (int i = 0; i < CommonDatas.Kilokok.Length; i++) { //az elöző model lekérése IKilokoModel prevModel = PrevModels[i]; //az új model lekérése IKilokoModel newModel = CommonDatas.Kilokok[i]; if (CommonDatas.NetworkSpareLevel > 10) { if (!_first) { if (prevModel.Cikkek == newModel.Cikkek) { continue; } } } ManageCikks(newModel); } Task.WaitAll(sendingTasks.ToArray()); }
//új cikk hozzáadása a kilőkőmodelhez public static void AddNewCikkToModel(string cikk, string toGUI, string kiloko) { IKilokoModel kilokoModel = GetKilokoModel(kiloko); if (kilokoModel != null) { if (!kilokoModel.Cikkek.Contains(cikk)) { kilokoModel.AddNewCikk(cikk, toGUI); } } }
//egy kiloko model alapján kiküldi az adatokat, egy cikket void SendCikkToMachine(IKilokoModel kiloko) { try { string cikk = (from cikkRaw in kiloko.Cikkek where cikkRaw != null select cikkRaw).First(); LuxScanDatas.SendDatasToClient(cikk, kiloko.Kiloko); } catch (ApplicationException ex) { Console.WriteLine($"{DateTime.Now.ToString()}:{ex.Message}"); Logger.MakeLog(ex.Message); } catch (Exception ex) { Logger.MakeLog(ex.Message); } }
void SetUpNewDatas(string kilokoSzam, List <string> kilokok, string cikk, string toGUI, string rawKiloko) { IKilokoModel kilokoModel = DataOperations.GetKilokoModel(kilokoSzam); if (kilokoModel != null) { if (rawKiloko.Contains(MarkLeftSide)) { kilokoModel.AddNewCikk(cikk, toGUI, 0); } else if (rawKiloko.Contains(MarkRightSide)) { kilokoModel.AddNewCikk(cikk, toGUI, 1); } else { SetNewCikksToModels(kilokok, kilokoSzam, cikk, toGUI); } } }
public void ReplaceInfo(string asztal, string stand1, string stand2, string cikk) { //ha külső szálból lépne be a frissitésbe akkor nem fogja lefagyasztani a GUI szálat if (MyTable.dgw_Asztalok.InvokeRequired) { MyTable.dgw_Asztalok.BeginInvoke((Action)(() => { ReplaceInfo(asztal, stand1, stand2, cikk); })); return; } //a megfelelő kilőkőmodel megszerzése IKilokoModel kiloko = DataOperations.GetKilokoModel(asztal); if (kiloko == null) { return; } //ha az egyik standard üres akkor állítsa be a "Nincs PDF" szöveget if (stand1 == "" || stand1.Contains("Nincs semmi") || stand1.Contains("/")) { stand1 = "Nincs PDF"; } if (stand2 == "" || stand2.Contains("Nincs semmi") || stand2.Contains("/")) { stand2 = "Nincs PDF"; } stand1 = stand1.Split('#')[0]; stand2 = stand2.Split('#')[0]; //inicialízálja az adatokat LoadDataGridView(asztal, stand1, stand2, kiloko.GetGUICikk(cikk)); //frissítse a datagridviewt ManageDGV(); }
public static void SendFirstDocs(List <string> asztalSzamok) { //a luxscanfile frissitése LuxScanFileGetter.SetLuxscanFilePath(); //ha nincs beállítva akkor ne küldje el if (!CommonDatas.HasLuxscanFile) { return; } //a kilőkő modelen a cikkek frissitése OperationModel.LineMaker.SetLineModel(asztalSzamok); //végig menni az asztalokon és aztán elküldeni rájuk a megfelelő cikket foreach (var kilokoSzama in asztalSzamok) { IKilokoModel model = DataOperations.GetKilokoModel(kilokoSzama); OperationModel.SendingOperations.ManageCikks(model); CommonDatas.GUI.Setter.SetKilokoOnline(kilokoSzama); } }
//a kilőkő model alapján megállapítja, hogy hány cikket kell kiküldeni public void ManageCikks(IKilokoModel kiloko) { var cikkek = (from cikk in kiloko.Cikkek where cikk != null select cikk).ToArray(); switch (cikkek?.Length) { case 0: CommonDatas.GUI.DGVManager.ReplaceInfo(kiloko.Kiloko, "A kilökő üres", "A kilökő üres", "A kilökő nem aktív"); break; case 1: SendCikkToMachine(kiloko); break; case 2: SendDoubleCikkToMachine(kiloko); break; default: SendDoubleCikkToMachine(kiloko); break; } }
public static void SetKilokosOffline(string ip) { //az asztalok kiszedése List <string> Asztalok = GetMachineInfosOperations.GetAsztalokFromIP(ip); if (Asztalok != null) { //az asztalokon végig menni és az összeset nullázni foreach (var asztal in Asztalok) { try { CommonDatas.GUI.Setter.SetKilokoOffline(asztal); IKilokoModel kiloko = DataOperations.GetKilokoModel(asztal); kiloko.DeleteClient(); } catch (Exception) { } } } }