private static void IncomingMessageSeller(PacketHeader packetHeader, Connection connection, Seller incomingObject) { Console.WriteLine("\nA message was received from " + connection.ToString() + " which said '" + incomingObject.SellerId + "'."); IPEndPoint remoteIpEndPoint = connection.ConnectionInfo.RemoteEndPoint as IPEndPoint; string addresse = remoteIpEndPoint.Address.ToString(); SellerDataBase sellerDataBase = new SellerDataBase(); if (incomingObject.SellerId == -1 || incomingObject.CreateNewSeller == true) { if (incomingObject.CreateNewSeller == false) { incomingObject.SellerId = sellerDataBase.Count() + 1; NetworkComms.SendObject("MessageNewSellerId", addresse, remoteIpEndPoint.Port, incomingObject.SellerId.ToString()); } sellerDataBase.Upsert(incomingObject); } else { Seller findSeller = sellerDataBase.FindOne(x => x.SellerId == incomingObject.SellerId); if (findSeller == null) { //no Seller with the id found send it back NetworkComms.SendObject("MessageSellerIdNotFound", addresse, remoteIpEndPoint.Port, "Die Verkäufer Id konnte nicht gefunden werden!"); return; } findSeller.Match(incomingObject); sellerDataBase.Upsert(findSeller); } NetworkComms.SendObject("MessageSellerCount", addresse, remoteIpEndPoint.Port, "Anzahl Verkäufernummer: " + sellerDataBase.Count().ToString()); }
private static void IncomingMessageString(PacketHeader packetHeader, Connection connection, string incomingObject) { IPEndPoint remoteIpEndPoint = connection.ConnectionInfo.RemoteEndPoint as IPEndPoint; string addresse = remoteIpEndPoint.Address.ToString(); switch (packetHeader.PacketType) { case "MessageSellerFind": string[] splittedString = incomingObject.Split(';'); SellerDataBase sellerDataBase = new SellerDataBase(); IEnumerable <Seller> list = null; if (splittedString.Count() == 1) { list = sellerDataBase.Search(Convert.ToInt32(splittedString[0])); } else if (splittedString.Count() == 2) { list = sellerDataBase.Search(splittedString[0], splittedString[1]); } if (list != null) { NetworkComms.SendObject("MessageSellerListStart", addresse, remoteIpEndPoint.Port, "true"); foreach (Seller seller in list) { NetworkComms.SendObject("MessageSellerList", addresse, remoteIpEndPoint.Port, seller); } } break; case "MessageHeartBeat": NetworkComms.SendObject("MessageHeartBeatBack", addresse, remoteIpEndPoint.Port, DateTime.Now.ToShortTimeString()); break; case "MessageGetStatistik": NetworkComms.SendObject("MessageStatistikListStart", addresse, remoteIpEndPoint.Port, "true"); StatistikDataBase statistikDataBase = new StatistikDataBase(); IEnumerable <Statistik> listStatistik = null; listStatistik = statistikDataBase.FindAll(); foreach (Statistik seller in listStatistik) { NetworkComms.SendObject("MessageStatistikList", addresse, remoteIpEndPoint.Port, seller); } NetworkComms.SendObject("MessageStatistikListStart", addresse, remoteIpEndPoint.Port, "false"); break; } }
private void Search_Click(object sender, EventArgs e) { SellerDataBase sellerDataBase = new SellerDataBase(); string sendMessage = ""; switch (comboBox1.Items[comboBox1.SelectedIndex].ToString().ToLower()) { case "verkäuferid": sendMessage = textFieldFirstFilter.Text; break; case "name": sendMessage = textFieldFirstFilter.Text + ";" + textFieldSecondFilter.Text; break; } NetworkComms.SendObject("MessageSellerFind", _Model.ServerIpAddresse, Convert.ToInt32(_Model.ServerPort), sendMessage); }
private static void IncomingMessagePartInformations(PacketHeader packetHeader, Connection connection, PartInformations incomingObject) { Console.WriteLine("\nA message was received from " + connection.ToString() + " which said '" + incomingObject.PartDescription + "'."); IPEndPoint remoteIpEndPoint = connection.ConnectionInfo.RemoteEndPoint as IPEndPoint; string addresse = remoteIpEndPoint.Address.ToString(); SellerDataBase sellerDataBase = new SellerDataBase(); PartInformationsDataBase partInformationsDataBase = new PartInformationsDataBase(); StatistikDataBase statistikDataBase = new StatistikDataBase(); //Seller foundedSeller = sellerDataBase.FindOne(x => x.SellerId == incomingObject.SellerId); Seller foundedSeller = sellerDataBase.FindOne(x => x.SaleNumbers.Contains(incomingObject.SellerId)); switch (packetHeader.PacketType) { case "MessagePartInformations": if (foundedSeller != null) { NetworkComms.SendObject("MessageSellerIsFound", addresse, remoteIpEndPoint.Port, incomingObject); } else { //TODO Send to Seller Client --> the seller id is not found in die Seller DataBase NetworkComms.SendObject("MessageSellerIdFromPartNotFound", addresse, remoteIpEndPoint.Port, "Die Verkäufernummer wurde nicht gefunden..."); } break; case "MessagePartInformationsConfirmed": //added only date and the ip address from the sender Statistik statistik = new Statistik(DateTime.Now, remoteIpEndPoint.ToString()); statistikDataBase.Upsert(statistik); //added part to the database partInformationsDataBase.Upsert(incomingObject); break; } }