public String getRoutes(string weight, string type, string height, string width, string depth, string from, string to) { List <List <PricedRouteSegment> > result = new List <List <PricedRouteSegment> >(); try { DatabaseWrapper db = new DatabaseWrapper(ConfigurationManager.AppSettings["DatabaseUserName"], ConfigurationManager.AppSettings["DatabasePassword"], ConfigurationManager.AppSettings["DatabaseConnectionURL"], ConfigurationManager.AppSettings["DatabaseTrustedConnection"].ToString(), ConfigurationManager.AppSettings["DatabaseName"].ToString(), Convert.ToInt32(ConfigurationManager.AppSettings["DatabaseConnectionTimeOut"])); db.OpenConnection(); var testpricemultiplier = db.GetTypeCost("Recorded"); db.CloseConnection(); db.OpenConnection(); var telstar = db.GetOwnPricedSegments(testpricemultiplier); db.CloseConnection(); ConnectorController connector = new ConnectorController(); var oceanic = connector.GetOceanicRoutes(Convert.ToDouble(weight), type, Convert.ToDouble(height), Convert.ToDouble(width), Convert.ToDouble(depth)); var eastindia = connector.GetEastIndiaRoutes(Convert.ToDouble(weight), type, "11-16-2018"); var map = telstar.Concat(oceanic).Concat(eastindia).ToList(); ShortestPathCalculator fastPath = new ShortestPathCalculator(); fastPath.SetUpEdgesAndCosts(map, true); var fastestPath = fastPath.CalculateShortestPath(from, to); ShortestPathCalculator cheapPath = new ShortestPathCalculator(); cheapPath.SetUpEdgesAndCosts(map, false); var cheapestPath = cheapPath.CalculateShortestPath(from, to); result.Add(fastestPath); result.Add(cheapestPath); return(JsonConvert.SerializeObject(result)); } catch { return(JsonConvert.SerializeObject(result)); } }
public List <PricedRouteSegment> Get(int weight, String ParcelType) { if (weight <= 40 && ParcelType != "Weapons") { DatabaseWrapper db = new DatabaseWrapper(ConfigurationManager.AppSettings["DatabaseUserName"], ConfigurationManager.AppSettings["DatabasePassword"], ConfigurationManager.AppSettings["DatabaseConnectionURL"], ConfigurationManager.AppSettings["DatabaseTrustedConnection"].ToString(), ConfigurationManager.AppSettings["DatabaseName"].ToString(), Convert.ToInt32(ConfigurationManager.AppSettings["DatabaseConnectionTimeOut"])); db.OpenConnection(); var test = db.GetTypeCost(ParcelType); db.CloseConnection(); db.OpenConnection(); var result = db.GetOwnPricedSegments(test); db.CloseConnection(); return(result); } else { return(null); } }