public string Post([FromBody] FlightPlan flightPlan)
        {
            string  x    = flightPlan.ToJson();
            JObject json = JObject.Parse(x);

            string companyName = json["company_name"].ToString();

            flightPlan.FlightId = GenerateFlightID(companyName);

            InitialLocation initialLocation = json["initial_location"].ToObject <InitialLocation>();

            Flight flight = new Flight()
            {
                FlightId    = flightPlan.FlightId,
                Longitude   = initialLocation.Longitude,
                Latitude    = initialLocation.Latitude,
                Passengers  = Int32.Parse(json["passengers"].ToString()),
                CompanyName = json["company_name"].ToString(),
                DateTime    = initialLocation.DateTime,
                IsExternal  = false
            };

            flightsManager.AddFlight(flight);
            flightPlansManager.AddFlightPlan(flightPlan);

            return(flightPlan.FlightId);
        }
        public string Post([FromBody] Flight flight)
        {
            string  x    = flight.ToJson();
            JObject json = JObject.Parse(x);

            Flight f = new Flight();

            f.FlightId    = json["flight_id"].ToString();
            f.Longitude   = Convert.ToDouble(json["longitude"].ToString());
            f.Latitude    = Convert.ToDouble(json["latitude"].ToString());
            f.Passengers  = Int32.Parse(json["passengers"].ToString());
            f.CompanyName = json["company_name"].ToString();
            f.DateTime    = DateTime.Parse(json["date_time"].ToString());
            f.IsExternal  = true;

            flightsManager.AddFlight(f);
            return(f.FlightId);
        }
        public void AddFlight_ReturnFlightModelWithDiffrentIdAndSameName()
        {
            //Assert
            FlightModel flightToAdd = new FlightModel()
            {
                ID = 0, FlightName = "flightToAdd"
            };
            FlightModel flightToReturn = new FlightModel()
            {
                ID = 1, FlightName = "flightToAdd"
            };

            flightsRepositoryMock.Setup(x => x.Add(flightToAdd)).Returns(flightToReturn);

            //Act
            var resultFlight = flightsManager.AddFlight(flightToAdd);

            //Assert
            Assert.AreNotEqual(flightToAdd.ID, resultFlight.ID);
            Assert.AreEqual(flightToAdd.FlightName, resultFlight.FlightName);
        }