Пример #1
0
        public static void GetServices()
        {
            XDocument doc = null;

            doc = XDocument.Load("http://ec2-13-58-26-239.us-east-2.compute.amazonaws.com/RAMPApps/ServicesSettings2.xml");
            // ec2-13-58-26-239.us-east-2.compute.amazonaws.com

            XName name                = "name";
            XName tablename           = "tablename";
            XName fieldname           = "fieldname";
            XName needfname           = "needfname";
            XName FlightKind          = "FlightKind";
            XName type                = "type";
            XName ActivityPrepareTime = "ActivityPrepareTime";
            XName ActivityStartTime   = "ActivityStartTime";
            XName ActivityEndTime     = "ActivityEndTime";
            XName EventPrepareTime    = "EventPrepareTime";
            XName EventStartTime      = "EventStartTime";
            XName EventEndTime        = "EventEndTime";
            XName Category            = "Category";
            XName fieldcountname      = "FieldCountName";
            XName addpossible         = "Addpossible";
            XName typeNumeric         = "typeNumeric";


            ObservableCollection <CLSet> clsets = new ObservableCollection <CLSet>();

            foreach (XElement xset in doc.Element("CheckList").Element("Page").Elements("Set"))
            {
                CLSet clset = new CLSet();

                try
                {
                    clset.Name            = xset.Attribute(name).Value.ToString();
                    clset.ListTypeService = new ObservableCollection <CLSet.typeService>();

                    if (xset.Attribute(fieldname) != null && xset.Attribute(fieldname).Value.ToString() != "")
                    {
                        clset.Fieldname = xset.Attribute(fieldname).Value.ToString();
                    }
                    if (xset.Attribute(fieldcountname) != null && xset.Attribute(fieldcountname).Value.ToString() != "")
                    {
                        clset.Fieldvalue = xset.Attribute(fieldcountname).Value.ToString();
                    }
                    if (xset.Attribute(tablename) != null && xset.Attribute(tablename).Value.ToString() != "")
                    {
                        clset.Tablename = xset.Attribute(tablename).Value.ToString();
                    }
                    if (xset.Attribute(FlightKind) != null)
                    {
                        clset.FlightKind = xset.Attribute(FlightKind).Value.ToString();
                    }
                    if (xset.Attribute(Category) != null && xset.Attribute(Category).Value.ToString() != "")
                    {
                        clset.Category = xset.Attribute(Category).Value.ToString();
                    }
                    if (xset.Attribute(addpossible) != null && xset.Attribute(addpossible).Value.ToString() != "")
                    {
                        clset.Addpossible = xset.Attribute(addpossible).Value.ToString();
                    }
                    if (xset.Attribute(typeNumeric) != null && xset.Attribute(typeNumeric).Value.ToString() != "")
                    {
                        clset.typeNumeric = xset.Attribute(typeNumeric).Value.ToString();
                    }
                    if (clset.Tablename == null && clset.Fieldname == null)
                    {
                        continue;
                    }

                    clset.Needfname = xset.Attribute(needfname).Value.ToString();
                    clset.Type      = short.Parse(xset.Attribute(type).Value);
                    if (xset.Attribute(ActivityPrepareTime) != null && xset.Attribute(ActivityPrepareTime).Value.ToString() != "")
                    {
                        clset.ActivityPrepareTime = xset.Attribute(ActivityPrepareTime).Value.ToString();
                    }
                    if (xset.Attribute(ActivityStartTime) != null && xset.Attribute(ActivityStartTime).Value.ToString() != "")
                    {
                        clset.ActivityStartTime = xset.Attribute(ActivityStartTime).Value.ToString();
                    }
                    if (xset.Attribute(ActivityEndTime) != null && xset.Attribute(ActivityEndTime).Value.ToString() != "")
                    {
                        clset.ActivityEndTime = xset.Attribute(ActivityEndTime).Value.ToString();
                    }

                    if (xset.Attribute(EventPrepareTime) != null && xset.Attribute(EventPrepareTime).Value.ToString() != "")
                    {
                        clset.EventPrepareTime = xset.Attribute(EventPrepareTime).Value.ToString();
                    }
                    if (xset.Attribute(EventStartTime) != null && xset.Attribute(EventStartTime).Value.ToString() != "")
                    {
                        clset.EventStartTime = xset.Attribute(EventStartTime).Value.ToString();
                    }
                    if (xset.Attribute(EventEndTime) != null && xset.Attribute(EventEndTime).Value.ToString() != "")
                    {
                        clset.EventEndTime = xset.Attribute(EventEndTime).Value.ToString();
                    }

                    foreach (XElement xservice in xset.Elements("TypeService"))
                    {
                        try
                        {
                            clset.addType(xservice.Attribute(name).Value.ToString());
                            // CLService clservice = clservices.Where(c => c.Name == xservice.Attribute(name).Value.ToString()).First();
                            //  clset.Listservice.Add(clservice);
                        }
                        catch
                        {
                            continue;
                        }
                    }
                }
                catch
                {
                    continue;
                }

                if (clset.Name != "" && clset.ListTypeService.Count() != 0)
                {
                    clsets.Add(clset);
                }
            }

            ServicesCheklist.listsets = clsets;
            //return version;

            try //проверка файла на соответствие с ид рампа
            {
                //using (var fos = new StreamReader(Android.App.Application.Context.OpenFileInput(@"list_zapros.txt")))
                //{
                //    //get the byte array

                //    List<zapros> fls = JsonConvert.DeserializeObject<List<zapros>>(fos.ReadToEnd().ToString());
                //    if (fls.Count != 0 && fls[0].ramp == Xamarin.Forms.Application.Current.Properties["Username"].ToString())
                //    {
                //        zzz = fls == null ? new List<zapros>() : fls;
                //        lists_processing();
                //    }


                //}
            }

            catch
            { }
        }
Пример #2
0
        private static Flight ParserFlight(XElement FlightsElm)
        {
            //if (!FlightsElm.Value.Contains(App.Current.Properties["Username"].ToString())) return null;

            Flight selFlight = new Flight();

            selFlight.NeedServices = new ObservableCollection <Flight.flightServiceNeed>();
            selFlight.Services     = new ObservableCollection <Flight.flihghtService>();
            selFlight.Activity     = new ObservableCollection <Flight.structActivity>();
            selFlight.Event        = new ObservableCollection <Flight.structEvent>();

            try
            {
                XNamespace ns       = "http://www.sita.aero/ams6-xml-api-datatypes";
                XElement   flightid = FlightsElm.Element(ns + "FlightId");
                selFlight.FlightKind    = flightid.Element(ns + "FlightKind").Value.ToString();
                selFlight.FlightNumber  = flightid.Element(ns + "FlightNumber").Value.ToString();
                selFlight.ScheduledDate = DateTime.Parse(flightid.Element(ns + "ScheduledDate").Value);
                foreach (XElement AirlineDesignator in flightid.Elements(ns + "AirlineDesignator"))
                {
                    if (AirlineDesignator.Attribute("codeContext").Value.Contains("IATA"))
                    {
                        selFlight.AirlineDesignatorIATA = AirlineDesignator.Value;
                    }
                    else if (AirlineDesignator.Attribute("codeContext").Value.Contains("ICAO"))
                    {
                        selFlight.AirlineDesignatorICAO = AirlineDesignator.Value;
                    }
                }

                XElement flightState = FlightsElm.Element(ns + "FlightState");
                try
                {
                    DateTime scht;
                    DateTime.TryParse(flightState.Element(ns + "ScheduledTime").Value, out scht);
                    selFlight.ScheduledTime        = scht;
                    selFlight.AircraftRegistration = flightState.Element(ns + "Aircraft").Element(ns + "AircraftId").Element(ns + "Registration").Value;
                    selFlight.AircraftType         = flightState.Element(ns + "AircraftType").Element(ns + "Value").Value;

                    try
                    {
                        var linked = flightState.Element(ns + "LinkedFlight").Element(ns + "FlightId");

                        selFlight.LinkedFlight.flightKind    = linked.Element(ns + "FlightKind").Value.ToString();
                        selFlight.LinkedFlight.flightNumber  = linked.Element(ns + "FlightNumber").Value.ToString();
                        selFlight.LinkedFlight.scheduledDate = DateTime.Parse(linked.Element(ns + "ScheduledDate").Value);
                        foreach (XElement AirlineDesignator in linked.Elements(ns + "AirlineDesignator"))
                        {
                            if (AirlineDesignator.Attribute("codeContext").Value.Contains("IATA"))
                            {
                                selFlight.LinkedFlight.airlineDesignatorIATA = AirlineDesignator.Value;
                            }
                            else if (AirlineDesignator.Attribute("codeContext").Value.Contains("ICAO"))
                            {
                                selFlight.LinkedFlight.airlineDesignatorICAO = AirlineDesignator.Value;
                            }
                        }

                        var value = flightState.Element(ns + "LinkedFlight").Element(ns + "Value");
                        if (value.Attribute("propertyName").Value.Contains("FlightUniqueID"))
                        {
                            selFlight.LinkedFlightID = value.Value;
                        }
                    }
                    catch
                    {
                    }



                    foreach (XElement value in flightState.Elements(ns + "Value"))
                    {
                        try
                        {
                            if (value.Attribute("propertyName").Value.Contains("DataLocked"))
                            {
                                selFlight.DataLocked = bool.Parse(value.Value);
                            }
                            else if (value.Attribute("propertyName").Value.Contains("Arr_Qualifier"))
                            {
                                selFlight.Arr_Qualifier = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("arr_flight_type"))
                            {
                                selFlight.arr_flight_type = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("FlightUniqueID"))
                            {
                                selFlight.FlightUniqueID = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ramp_id"))
                            {
                                selFlight.Ramp_id = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("AppLinkedFlightID"))
                            {
                                selFlight.AppLinkedFlightID = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("s---_ArrRouteOrigin"))
                            {
                                selFlight.filght_from = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("s---_DepRouteOrigin"))
                            {
                                selFlight.filght_to = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value == "Capt")
                            {
                                selFlight.Capt = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("CrewTrip"))
                            {
                                selFlight.Crew = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("DOW"))
                            {
                                selFlight.DOW = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("RMPFUEL"))
                            {
                                selFlight.RMPFUEL = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("DOI"))
                            {
                                selFlight.DOI = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("CaptainSurname"))
                            {
                                selFlight.FaktFUEL = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("MTOWtrip"))
                            {
                                selFlight.MTOWtrip = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("MZFW"))
                            {
                                selFlight.MZFW = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("TAXI FUEL"))
                            {
                                selFlight.TAXIFUEL = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("T/O FUEL"))
                            {
                                selFlight.TOFUEL = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("MLW"))
                            {
                                selFlight.MLW = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("TRIP FUEL"))
                            {
                                selFlight.TRIPFUEL = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("EET"))
                            {
                                selFlight.EET = value.Value;
                            }
                            else if (value.Attribute("propertyName").Value == "TripInfoChanged")
                            {
                                selFlight.TripInfoChanged = Convert.ToBoolean(value.Value);
                            }
                            else if (value.Attribute("propertyName").Value == "TripInfoChangedCount")
                            {
                                selFlight.TripInfoChangedCount = Convert.ToInt16(value.Value);
                            }


                            else
                            {
                                var list = ServicesCheklist.listsets.Where(c => c.Needfname == value.Attribute("propertyName").Value).Select(c => c);
                                if (list.Count() > 0)
                                {
                                    Flight.flightServiceNeed listserv = new Flight.flightServiceNeed();
                                    listserv.name  = list.First().Needfname;
                                    listserv.value = bool.Parse(value.Value);
                                    selFlight.NeedServices.Add(listserv);
                                }
                                else
                                {
                                    list = ServicesCheklist.listsets.Where(c => c.Fieldname == value.Attribute("propertyName").Value).Select(c => c);
                                    if (list.Count() > 0)
                                    {
                                        CLSet fclset = list.First();
                                        Flight.flihghtService listserv = new Flight.flihghtService();
                                        listserv.name = fclset.Fieldname;
                                        //listserv.fieldcountname = fclset.Fieldvalue;
                                        listserv.value = value.Value;
                                        selFlight.Services.Add(listserv);
                                    }
                                    else
                                    {
                                        list = ServicesCheklist.listsets.Where(c => c.Fieldvalue == value.Attribute("propertyName").Value).Select(c => c);
                                        if (list.Count() > 0)
                                        {
                                            CLSet fclset = list.First();
                                            Flight.flihghtService listserv = new Flight.flihghtService();
                                            listserv.name = fclset.Fieldvalue;
                                            //listserv.fieldcountname = fclset.Fieldvalue;
                                            listserv.value = value.Value;
                                            selFlight.Services.Add(listserv);
                                        }
                                    }
                                }
                            }
                        }
                        catch
                        {
                        }
                    }


                    foreach (XElement tablevalue in flightState.Elements(ns + "TableValue"))
                    {
                        try
                        {
                            var list = ServicesCheklist.listsets.Where(c => c.Tablename == tablevalue.Attribute("propertyName").Value).Select(c => c);
                            if (list.Count() > 0)
                            {
                                Flight.flihghtService listserv = new Flight.flihghtService();
                                listserv.name       = list.First().Tablename;
                                listserv.tablevalue = new ObservableCollection <Flight.TableValue>();
                                foreach (XElement row in tablevalue.Elements(ns + "Row"))
                                {
                                    Flight.TableValue tablerow = new Flight.TableValue();
                                    foreach (XElement value in row.Elements(ns + "Value"))
                                    {
                                        if (value.Attribute("propertyName").Value.Contains("DATE_BEGIN"))
                                        {
                                            DateTime tempdate;
                                            DateTime.TryParse(value.Value, out tempdate);
                                            tablerow.date_begin = tempdate;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("DATE_END"))
                                        {
                                            DateTime tempdate;
                                            DateTime.TryParse(value.Value, out tempdate);
                                            tablerow.date_end = tempdate;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("DATE_ENTERED"))
                                        {
                                            DateTime tempdate;
                                            DateTime.TryParse(value.Value, out tempdate);
                                            tablerow.date_entered = tempdate;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("TYPE_SERVICE"))
                                        {
                                            tablerow.type_service = value.Value;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("REMARKS"))
                                        {
                                            tablerow.remarks = value.Value;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("VALUE"))
                                        {
                                            double tempdouble;
                                            double.TryParse(value.Value, out tempdouble);
                                            tablerow.value = tempdouble;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("DOC_NO"))
                                        {
                                            tablerow.doc_no = value.Value;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("QUANTITY"))
                                        {
                                            tablerow.quantity = value.Value;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("DENSITY"))
                                        {
                                            tablerow.desnity = value.Value;
                                        }
                                        else if (value.Attribute("propertyName").Value.Contains("Garage_Number"))
                                        {
                                            tablerow.refueler_num = value.Value;
                                        }
                                    }
                                    listserv.tablevalue.Add(tablerow);
                                }
                                selFlight.Services.Add(listserv);
                            }
                        }
                        catch
                        {
                        }
                    }

                    foreach (XElement activity in flightState.Elements(ns + "Activity"))
                    {
                        selFlight.ActivityEventExist = true;
                        Flight.structActivity elementActivity = new Flight.structActivity();
                        elementActivity.code = activity.Attribute("code").Value;
                        foreach (XElement value in activity.Elements(ns + "Value"))
                        {
                            if (value.Attribute("propertyName").Value.Contains("EstimatedStartTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.EstimatedStartTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("EstimatedEndTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.EstimatedEndTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ActualStartTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.ActualStartTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ActualEndTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.ActualEndTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ScheduledStartTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.ScheduledStartTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("CalculatedStartTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.CalculatedStartTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("MostConfidentStartTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.MostConfidentStartTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ScheduledEndTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.ScheduledEndTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("CalculatedEndTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.CalculatedEndTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("MostConfidentEndTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementActivity.MostConfidentEndTime = tempdate;
                            }
                        }
                        selFlight.Activity.Add(elementActivity);
                    }

                    foreach (XElement varevent in flightState.Elements(ns + "Event"))
                    {
                        Flight.structEvent elementEvent = new Flight.structEvent();
                        elementEvent.code = varevent.Attribute("code").Value;
                        foreach (XElement value in varevent.Elements(ns + "Value"))
                        {
                            if (value.Attribute("propertyName").Value.Contains("EstimatedTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementEvent.EstimatedTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ActualTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementEvent.ActualTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("ScheduledTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementEvent.ScheduledTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("CalculatedTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementEvent.CalculatedTime = tempdate;
                            }
                            else if (value.Attribute("propertyName").Value.Contains("MostConfidentTime"))
                            {
                                DateTime tempdate;
                                DateTime.TryParse(value.Value, out tempdate);
                                elementEvent.MostConfidentTime = tempdate;
                            }
                        }
                        selFlight.Event.Add(elementEvent);
                    }
                }
                catch
                {
                }
            }
            catch
            {
                return(selFlight);
            }

            return(selFlight);
        }