public List<PTM> FillListBoxPTM(string Occupation) { List<PTM> messageList = new List<PTM>(); string line; Boolean Blok; Blok = false; int FirstLastLine = 0; int bir = 0; string aPartLine = ""; string[] split; string FlightIdentifier = ""; string FlightDate = ""; int Part = 0; string BoardingAirport = ""; string TransferAirport = ""; string FlightKind = ""; string Destination = ""; try { //MessageRCV-нің соңына дейін бару while (readerPTM.Peek() >= 0) { if (readerPTM.ReadLine() == Occupation) { while (readerPTM.Peek() >= 0) { if (readerPTM.ReadLine().Length == 0) { break; } } break; } } while ((line = readerPTM.ReadLine()) != null) { if (line == "PTM") { Blok = true; FlightIdentifier = ""; aPartLine = ""; TransferAirport = ""; BoardingAirport = ""; FlightDate = ""; Part = 0; FlightKind = ""; Destination = ""; FirstLastLine = 1; } else if (line.Length == 0) { Blok = false; } else if (Blok) { if (line.IndexOf("/") != -1 && line.Contains("TSE PART") && FirstLastLine == 1) { string[] splitF = line.Split('/',' '); foreach (string s in splitF) { if (s.Trim() != "") { if (Part == 0 & bir == 3) { Part = Convert.ToInt32(s.Substring(4, 1)); bir = 4; } if (BoardingAirport == "" & bir == 2) { BoardingAirport = s.Substring(0, 3); TransferAirport = s.Substring(3, 3); bir = 3; } if (FlightDate == "" & bir == 1) { FlightDate = s; bir = 2; } if (FlightIdentifier == "") { FlightIdentifier = s; bir = 1; } Console.WriteLine(s); } } FirstLastLine = 2; } else if (line.Contains("B") && FirstLastLine == 2) { FlightKind = "Arrival"; Destination = BoardingAirport; aPartLine = aPartLine + "\n" + line; } else if (line.StartsWith("NIL") && FirstLastLine == 2) { Blok = false; } else if (FirstLastLine == 2 && line.StartsWith("ENDPTM")) { PTM messagePTM = new PTM(); messagePTM.MessageIdentifier = FlightKind; messagePTM.BoardingAirport = BoardingAirport; messagePTM.TransferAirport = TransferAirport; messagePTM.Part = Part; messagePTM.FlightIdentifier = FlightIdentifier; messagePTM.FlightDate = FlightDate; //messageLDM.MessageIdentifier = aPartLine; Blok = false; FirstLastLine = 0; split = aPartLine.Split('\n'); mYfUNVPTM(split, messagePTM); messageList.Add(messagePTM); } // if (messageLDM.DestinationAirport != null) //{ // messageList.Add(messageLDM); // } } else if (line.StartsWith("Message RCV")) { SaveOccupation(line, "PTM"); } } return messageList; } catch (Exception) { throw; } finally { if (readerPTM != null) { // readerFFM.Close(); // readerFFM.Dispose(); } } }
private void mYfUNVPTM(string[] split1, PTM messagePTM) { string stinfff; string[] split; for (int i = 0; i < split1.Length; i++) { //Darkhan byte bir = 1; bool domestic = true; byte pax = 0; stinfff = split1[i]; split = stinfff.Split(' '); foreach (string s in split) { if (s.Trim() != "") { if (bir == 1 && s.Length == 3) { // s-направление domestic = DefineDomesticAirport(s); bir = 2; } else if(bir == 2 && s.Length == 2) { //s -пасажиры pax = Convert.ToByte(s[0] + ""); if (domestic) messagePTM.TranzitDomesticPAX = messagePTM.TranzitDomesticPAX + pax; else messagePTM.TranzitInternationalPAX = messagePTM.TranzitInternationalPAX + pax; bir = 3; } else if (bir == 3 && SplitWordsPTM(s).Length >= 2) { //s- багаж string[] w = SplitWordsPTM(s); messagePTM.Bags = messagePTM.Bags + Convert.ToInt32(w[1]); if (w[3] != "") messagePTM.Weight = messagePTM.Weight + Convert.ToInt32(w[3]); messagePTM.Passenger = messagePTM.Passenger + pax; bir = 4; } Console.WriteLine(s); } } } }