// GET aircraft/details/id public async Task <IActionResult> Details(string id) { if (id == null) { return(NotFound()); } var aircraft = await _aircraftRepository.GetById(id); if (aircraft == null) { return(NotFound()); } return(View(aircraft)); }
public async Task <List <WorkPackageView> > GetWorkPackages(List <int> aircraftIds) { var res = new List <WorkPackageView>(); foreach (var aircraftId in aircraftIds) { var wp = await _db.WorkPackages .Where(i => i.ParentId == aircraftId) .OnlyActive() .AsNoTracking() .ToListAsync(); if (wp.Count == 0) { continue; } var view = wp.ToBlView(); var aircraft = await _aircraftRepository.GetById(aircraftId); var airportIds = new List <int>(); airportIds.AddRange(view.Select(i => i.PerfAfter.AirportFromId)); airportIds.AddRange(view.Select(i => i.PerfAfter.AirportToId)); var airports = await _db.AirportCodes .Where(i => airportIds.Contains(i.Id)) .OnlyActive() .AsNoTracking() .ToListAsync(); var airportView = airports.ToBlView(); var flightNumIds = view.Select(i => i.PerfAfter.FlightNumId); var flightNums = await _db.FlightNums .Where(i => flightNumIds.Contains(i.Id)) .OnlyActive() .AsNoTracking() .ToListAsync(); var flightNum = flightNums.ToBlView(); var calc = await CalculateMh(view.Select(i => i.Id)); foreach (var workPackageView in view) { workPackageView.ManHours = calc?.FirstOrDefault(i => i.Id == workPackageView.Id)?.ManHours ?? 0; workPackageView.RegistrationNumber = aircraft.RegistrationNumber; workPackageView.PerfAfter.AirportFrom = airportView.FirstOrDefault(i => i.Id == workPackageView.PerfAfter.AirportFromId); workPackageView.PerfAfter.AirportTo = airportView.FirstOrDefault(i => i.Id == workPackageView.PerfAfter.AirportToId); workPackageView.PerfAfter.FlightNum = flightNum.FirstOrDefault(i => i.Id == workPackageView.PerfAfter.FlightNumId); } res.AddRange(view); } return(res.ToList()); }
public async Task <IActionResult> Index([FromRoute] int aircraftId) { GlobalObject.AircraftMainMenu = new AircraftMainMenu(Url, aircraftId); var bc = await _componentRepository.GetAircraftBaseComponents(aircraftId); foreach (var view in bc) { view.ParentAircraftId = aircraftId; } GlobalObject.BaseComponent = new List <BaseComponentView>(bc); var aircraft = await _aircraftRepository.GetById(aircraftId); GlobalObject.Aircraft = aircraft; ViewData["Operator"] = await _db.Operators.FirstOrDefaultAsync(); ViewData["BaseComponents"] = bc; return(View(aircraft)); }
public Aircraft GetById(int id) { return(_aircraftRepository.GetById(id)); }