Exemplo n.º 1
0
        public IActionResult Edit(int id, [Bind("FlightReportID,UserID,Data")] FlightReport flightReport)
        {
            if (id != flightReport.FlightReportID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _flightreportService.UpdateFlightReport(flightReport);
                    _flightreportService.Save();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FlightReportExists(flightReport.FlightReportID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(flightReport));
        }
        public FlightReport ParseFlightReport(string inputFilePath)
        {
            var flightReport = new FlightReport();

            using (var reader = new StreamReader(inputFilePath))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    if (line.Length == 0)
                    {
                        continue;
                    }

                    ParseFlightReportLine(line, flightReport);
                }
            }

            if (flightReport.Passengers.Count == 0)
            {
                throw new Exception("Passengers are not set.");
            }

            return(flightReport);
        }
        private void ParseFlightReportLine(string line, FlightReport flightReport)
        {
            var instructionLine = GetInstructionLine(line);

            if (flightReport.Route == null) // Route must be set first
            {
                if (instructionLine.Type != InstructionLineType.AddRoute)
                {
                    throw new Exception("Route is not set.");
                }

                flightReport.Route = new Route(instructionLine.ParametersArray);
            }
            else if (flightReport.Aircraft == null) // Aircraft must be set first
            {
                if (instructionLine.Type != InstructionLineType.AddAircraft)
                {
                    throw new Exception("Aircraft is not set.");
                }

                flightReport.Aircraft = new Aircraft(instructionLine.ParametersArray);
            }
            else // Parse passengers
            {
                Passenger passenger = null;

                switch (instructionLine.Type)
                {
                case InstructionLineType.AddRoute:     // Route must be set only once
                    throw new Exception("Route is already set.");

                case InstructionLineType.AddAircraft:     // Aircraft must be set only once
                    throw new Exception("Aircraft is already set.");

                case InstructionLineType.AddGeneralPassenger:
                    passenger = new GeneralPassenger(instructionLine.ParametersArray);
                    break;

                case InstructionLineType.AddLoyaltyPassenger:
                    passenger = new LoyaltyPassenger(instructionLine.ParametersArray);
                    break;

                case InstructionLineType.AddAirlinePassenger:
                    passenger = new AirlinePassenger(instructionLine.ParametersArray);
                    break;
                }

                if (passenger == null)
                {
                    throw new Exception("Passengers are not set.");
                }

                flightReport.Passengers.Add(passenger);
            }
        }
Exemplo n.º 4
0
        public IActionResult Create([Bind("FlightReportID,UserID,Data")] FlightReport flightReport)
        {
            if (ModelState.IsValid)
            {
                _flightreportService.AddFlightReport(flightReport);
                _flightreportService.Save();
                return(RedirectToAction(nameof(Index)));
            }

            return(View(flightReport));
        }
Exemplo n.º 5
0
        protected override WorkerResult ExecuteImpl()
        {
            using (var db = GetDbContext())
            {
                var newFlightLegsQuery =
                    from flightLeg in db.Set <FlightLeg>()
                    join flightReport in db.Set <FlightReport>()
                    on flightLeg.Id equals flightReport.FlightLegId into flightReports
                    where !flightReports.Any()
                    select flightLeg;

                var newFlightLegs = newFlightLegsQuery.ToList();

                foreach (var flightLeg in newFlightLegs)
                {
                    var flightReport = new FlightReport()
                    {
                        FlightLegId         = flightLeg.Id,
                        FlightReportStateId = FlightReportState.Blank.Id
                    };

                    ((IXafEntityObject)flightReport).OnCreated();


                    db.Set <FlightReport>().Add(flightReport);

                    //var hasMainRoute =
                    //    db.Set<DestinationProfile>()
                    //        .Any(dp => dp.FlightLegId == flightLeg.Id && dp.IsMainRoute == true);

                    //if (!hasMainRoute)
                    //{
                    //    var mainRoute = new DestinationProfile()
                    //    {
                    //        IsMainRoute = true,
                    //        AirportId = flightLeg.ArrivalAirportId,
                    //        FlightLegId = flightLeg.Id
                    //    };

                    //    ((IXafEntityObject)mainRoute).OnCreated();

                    //    db.Set<DestinationProfile>().Add(mainRoute);
                    //}

                    db.SaveChanges();
                }
            }

            return(new WorkerResult("Done."));
        }
Exemplo n.º 6
0
        // GET: Flights/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Flight flight = db.flights_table.Find(id);

            var customerlist = from r in db.customer_table
                               where r.flightId == id
                               select r;
            FlightReport report = new FlightReport {
                customer_list = customerlist.ToList(), currentflight = flight
            };

            if (flight == null)
            {
                return(HttpNotFound());
            }
            return(View(report));
        }
Exemplo n.º 7
0
 public void DeleteFlightReport(FlightReport flightreport)
 {
     repositoryWrapper.FlightReportRepository.Delete(flightreport);
 }
Exemplo n.º 8
0
 public void UpdateFlightReport(FlightReport flightreport)
 {
     repositoryWrapper.FlightReportRepository.Update(flightreport);
 }
Exemplo n.º 9
0
 public void AddFlightReport(FlightReport flightreport)
 {
     repositoryWrapper.FlightReportRepository.Create(flightreport);
 }
Exemplo n.º 10
0
 public void ExportFlightReport(FlightReport flightReport, string outputFilePath)
 {
     File.WriteAllText(outputFilePath, flightReport.ToString());
 }