public static int GetRoutesCount() { using (var db = new DAL.FlightsEntities()) { return(db.Routes.ToList().Count); } }
public static List <DAL.Route> GetAllRoutes() { List <DAL.Route> result = new List <DAL.Route>(); using (var db = new DAL.FlightsEntities()) { return(db.Routes.ToList()); } }
public static Contracts.DataObjects.Airline GetAirline(string twoDigitCode) { Contracts.DataObjects.Airline result = new Contracts.DataObjects.Airline(); using (var db = new DAL.FlightsEntities()) { var airline = db.Airlines.Where(t => t.TwoDigitCode == twoDigitCode).FirstOrDefault(); return(Contracts.CopyContract.CopyAirline(airline)); } }
public static List <Contracts.DataObjects.Route> GetRoutes(string origin) { List <Contracts.DataObjects.Route> result = new List <Contracts.DataObjects.Route>(); using (var db = new DAL.FlightsEntities()) { var routes = db.Routes.Where(r => r.Origin == origin).ToList(); foreach (var route in routes) { result.Add(Contracts.CopyContract.CopyRoute(route)); } return(result); } }
public static List <Contracts.DataObjects.Airline> GetAirlines() { List <Contracts.DataObjects.Airline> result = new List <Contracts.DataObjects.Airline>(); using (var db = new DAL.FlightsEntities()) { var airlines = db.Airlines.ToList(); foreach (var airline in airlines) { result.Add(Contracts.CopyContract.CopyAirline(airline)); } return(result); } }
/// <summary> /// Returns the shortetst route between the origin and destination /// </summary> /// <param name="origin"></param> /// <param name="destination"></param> /// <returns>FlightsRestAPIResult which contains the message and the path</returns> public static BLL.Contracts.FlightsRestAPIResult GetShortestRoute(string origin, string destination) { Contracts.FlightsRestAPIResult result = new Contracts.FlightsRestAPIResult(); try { using (var db = new DAL.FlightsEntities()) { var routes = db.Routes.Where(r => r.Origin == origin).ToList(); if (routes.Count() < 1) { result.Message = Enums.ResponesMessage.Message.InvalidOrigin.ToString(); return(result); } var desRoutes = db.Routes.Where(r => r.Destination == destination).ToList(); if (desRoutes.Count() < 1) { result.Message = Enums.ResponesMessage.Message.InvalidDestination.ToString(); return(result); } } Graph g = new Graph(); List <DAL.Route> lstRoute = GetAllRoutes(); foreach (var route in lstRoute) { g.AddEdge(route.Origin, route.Destination); } result.Message = Enums.ResponesMessage.Message.Successful.ToString(); result.Path = g.PrintAllPaths(origin, destination); return(result); } catch { result.Message = Enums.ResponesMessage.Message.SystemException.ToString(); return(result); } }