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); } }
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 }); }
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); } } }
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); } }