public Location(Database.Location dbLocation) { name = dbLocation.Name; latitude = dbLocation.Latitude; longitude = dbLocation.Longitude; id = dbLocation.LocationId; }
public static List <StoryLocation> GetStoriesFromNewsLocation(Database.Location location) { List <StoryLocation> stories = new List <StoryLocation>(); foreach (Database.NewsItem newsItem in location.NewsItems) { stories.Add(new StoryLocation(location, newsItem)); } return(stories); }
public StoryLocation(Database.Location location, Database.NewsItem newsItem) { id = location.LocationId + "-" + newsItem.NewsItemId; HeadLine = newsItem.HeadLine; Latitude = location.Latitude; Longitude = location.Longitude; StoryDate = newsItem.NewsItemDate; StoryText = new List <string>(); foreach (Database.Paragraph paragraph in newsItem.Paragraphs.OrderBy(e => e.ParagraphNumber)) { StoryText.Add(paragraph.Text); } Journalists = new List <string>(); foreach (Database.Journalist j in newsItem.Journalists) { Journalists.Add(j.FirstName + " " + j.LastName); } }
public override IAnswer execute() { Database.LocationRequest lr = new Database.LocationRequest (); Database.AirlineRequest ar = new Database.AirlineRequest (); Database.AirplaneRequest apr = new Database.AirplaneRequest (); Database.FlightTemplateRequest ftr = new Database.FlightTemplateRequest (); string airlineCode = ""; string digits = ""; Database.Util.split(this.Flight.Template.Code, ref airlineCode, ref digits); if (this.Flight.StartAirport == null) { return new AnswerAdd("The start airport of the flights isn't set"); } List<Database.Location> locations = lr.fetchLocationFromAirports (new Database.Airport (code: this.Flight.StartAirport.Code), new Database.Airport (code: this.Flight.DestinationAirport.Code)); if (locations.Count () == 0) { Database.AirportRequest airportRequest = new Database.AirportRequest(); List<Database.Airport> airports = airportRequest.fetchAirportFromCode(this.Flight.StartAirport.Code); if(airports.Count() != 1){ return new AnswerAdd("Couldn't find a (unique) airport with code " + this.Flight.StartAirport.Code); } int airport1ID = airports[0].ID; airports = airportRequest.fetchAirportFromCode(this.Flight.DestinationAirport.Code); if(airports.Count() != 1){ return new AnswerAdd("Couldn't find a (unique) airport with code " + this.Flight.DestinationAirport.Code); } int airport2ID = airports[0].ID; Database.Location location = new Database.Location(airport1ID, airport2ID, this.Flight.distance); try{ location.insert(); } catch(Exception e){ return new AnswerAdd(e.Message); } locations = lr.fetchLocationFromAirports (new Database.Airport (code: this.Flight.StartAirport.Code), new Database.Airport (code: this.Flight.DestinationAirport.Code)); } int locationID = locations [0].ID; List<Database.Airline> airlines = ar.fetchAirlineFromCode (airlineCode); if (airlines.Count () != 1) { return new AnswerAdd ("Couldn't find a (unique) airline with code " + airlineCode); } int airlineID = airlines [0].ID; List<Database.Airplane> airplanes = apr.fetchAirplaneFromCode (this.Flight.Airplane.Code); if (airplanes.Count () != 1) { return new AnswerAdd ("Couldn't find a (unique) airplane with code " + this.Flight.Airplane.Code); } int airplaneID = airplanes [0].ID; List<Database.FlightTemplate> templates = ftr.fetchTemplateFromAirlineAndDigits(airlineID, digits); if (templates.Count () != 1) { return new AnswerAdd("Couldn't find a (unique) template from airline " + airlines[0].code + " with digits " + this.Flight.Template.digits); } int templateID = templates [0].ID; Database.Flight flight = new Database.Flight (locationID, airlineID, this.Flight.StartDate, this.Flight.EndDate, airplaneID, templateID, this.Flight.TravelTime); AnswerAdd aa = new AnswerAdd (); try { flight.insert(); } catch (Exception e) { aa = new AnswerAdd(e.Message); } return aa; }