public void ConvertAirportCodesForFlights()
        {
            var env = GetEnviroment();

            var flights = env.NewLoader.GetObjectListAll <AircraftFlightDTO, AircraftFlight>();
            var codes   = env.GetDictionary <AirportsCodes>().ToArray().Cast <AirportsCodes>();

            foreach (var flight in flights)
            {
                AirportsCodes from = AirportsCodes.Unknown;
                AirportsCodes to   = AirportsCodes.Unknown;

                var stationFrom = flight.StationFrom.Trim();
                var stationTo   = flight.StationTo.Trim();

                if (stationFrom.Length <= 3)
                {
                    from = codes.FirstOrDefault(c => c.ShortName.ToUpper() == stationFrom.ToUpper());
                }
                else if (stationFrom.Length > 3)
                {
                    from = codes.FirstOrDefault(c => c.Icao.ToUpper() == stationFrom.ToUpper());
                }

                if (stationTo.Length <= 3)
                {
                    to = codes.FirstOrDefault(c => c.ShortName.ToUpper() == stationTo.ToUpper());
                }
                else if (stationTo.Length > 3)
                {
                    to = codes.FirstOrDefault(c => c.Icao.ToUpper() == stationTo.ToUpper());
                }

                if (to != null)
                {
                    flight.StationToId = to;
                }
                else
                {
                    flight.StationToId = AirportsCodes.Unknown;
                    Trace.WriteLine(flight.StationTo);
                }
                if (from != null)
                {
                    flight.StationFromId = from;
                }
                else
                {
                    flight.StationFromId = AirportsCodes.Unknown;
                    Trace.WriteLine(flight.StationFrom);
                }



                env.NewKeeper.Save(flight);
            }
        }
Exemple #2
0
 public static AirportCodeDTO Convert(this AirportsCodes code)
 {
     return(new AirportCodeDTO
     {
         ItemId = code.ItemId,
         IsDeleted = code.IsDeleted,
         Updated = code.Updated,
         CorrectorId = code.CorrectorId,
         FullName = code.FullName,
         City = code.City,
         Country = code.Country,
         Iata = code.ShortName,
         Icao = code.Icao,
         Iso = code.Iso
     });
 }
Exemple #3
0
        public void ImportAirportsCodes()
        {
            var env = GetEnviroment();
            var ds  = ExcelToDataTableUsingExcelDataReader(@"H:\airports.xlsx");

            foreach (DataTable table in ds.Tables)
            {
                foreach (DataRow row in table.Rows)
                {
                    var ac = new AirportsCodes
                    {
                        ShortName = row[0].ToString(),
                        Icao      = row[1].ToString(),
                        FullName  = row[2].ToString(),
                        City      = row[3].ToString(),
                        Country   = row[4].ToString(),
                        Iso       = row[5].ToString()
                    };

                    env.NewKeeper.Save(ac);
                }
            }
        }
Exemple #4
0
        public void FindFlights()
        {
            var env                = GetEnviroment();
            var aircraftCore       = new AircraftsCore(env.Loader, env.NewKeeper, env.NewLoader);
            var itemRelationCore   = new ItemsRelationsDataAccess(env);
            var directiveCore      = new DirectiveCore(env.NewKeeper, env.NewLoader, env.Keeper, env.Loader, itemRelationCore);
            var componentCore      = new ComponentCore(env, env.Loader, env.NewLoader, env.NewKeeper, aircraftCore, itemRelationCore);
            var aircraftFlightCore = new AircraftFlightCore(env, env.Loader, env.NewLoader, directiveCore, env.Manipulator, componentCore, env.NewKeeper, aircraftCore);

            aircraftFlightCore.LoadAircraftFlights(2344);
            var flights    = aircraftFlightCore.GetAircraftFlightsByAircraftId(2343);
            var codes      = env.GetDictionary <AirportsCodes>().ToArray().Cast <AirportsCodes>();
            var flightNums = env.GetDictionary <FlightNum>().Cast <FlightNum>().ToList();

            //Экспортируем полеты в Dataset из Excel файла
            var ds = ExcelToDataTableUsingExcelDataReader(@"H:\007.xlsx", false);


            int time = 0;

            foreach (DataTable table in ds.Tables)
            {
                foreach (DataRow row in table.Rows)
                {
                    var pageNo = row[0].ToString();


                    AirportsCodes stationFromId = AirportsCodes.Unknown;
                    AirportsCodes stationToId   = AirportsCodes.Unknown;

                    if (row[3] != null)
                    {
                        stationFromId = codes.FirstOrDefault(c => c.ShortName.ToUpper() == row[3].ToString().Trim().ToUpper());
                    }

                    if (row[4] != null)
                    {
                        stationToId = codes.FirstOrDefault(c => c.ShortName.ToUpper() == row[4].ToString().Trim().ToUpper());
                    }

                    var dateOut = DateTime.Parse(row[5].ToString());
                    var dateIn  = DateTime.Parse(row[6].ToString());

                    var outTime     = (int)dateOut.TimeOfDay.TotalMinutes;
                    var inTime      = (int)dateIn.TimeOfDay.TotalMinutes;
                    var takeOffTime = outTime;
                    var lDGTime     = inTime;

                    DateTime res;
                    if (!DateTime.TryParse(row[1].ToString(), out res))
                    {
                        Trace.WriteLine($"!!!!!!!!!Нету: {pageNo} | {row[1]} | {row[3]} - {row[4]} | ({outTime}-{inTime})");

                        if (outTime > inTime)
                        {
                            time += outTime - inTime;
                        }
                        else
                        {
                            time += inTime - outTime;
                        }
                        continue;
                    }


                    var flightDate = DateTime.Parse(row[1].ToString());
                    var find       = flights.Where(i => i.PageNo == pageNo);

                    if (!find.Any())
                    {
                        Trace.WriteLine($"Нету: {pageNo} | {flightDate} | {row[3]} - {row[4]} | ({outTime}-{inTime})");

                        time += inTime - outTime;
                    }
                }


                Trace.WriteLine(time);
            }
        }