コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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);
            }
        }