コード例 #1
0
ファイル: RootDialog.cs プロジェクト: JohnSdev/ResBot
        public async Task Detalis(IDialogContext context, LuisResult result)
        {
            string placeA = this.startstation;
            string placeB = this.endstation;

            //Item 1 is Name and Item2 is the SiteID Needed for the next API call.
            var start = Sl.slPlace(placeA);

            var end = Sl.slPlace(placeB);

            var route     = Sl.slRoute(start.Item2.ToString(), end.Item2.ToString(), end.Item1.ToString());
            var routedata = (JObject)JsonConvert.DeserializeObject(route.Item1);
            var lista     = new List <JToken>();
            var lista2    = new List <string>();

            lista.Add(routedata["Trip"][0]["LegList"]["Leg"]);

            Console.WriteLine(routedata);
            var    newjson        = JsonConvert.DeserializeObject <RootObject>(route.Item1);
            string endStation     = newjson.Trip[0].LegList.Leg[0].Destination.name.ToString();
            string endStationTime = newjson.Trip[0].LegList.Leg[0].Destination.time.ToString();



            try
            {
                JToken byte1 = Sl.formatter(lista[0][0]);
                await context.PostAsync(byte1.ToString());

                JToken byte2 = Sl.formatter(lista[0][1]);
                await context.PostAsync(byte2.ToString());

                JToken byte3 = Sl.formatter(lista[0][2]);
                await context.PostAsync(byte3.ToString());

                JToken byte4 = Sl.formatter(lista[0][3]);
                await context.PostAsync(byte4.ToString());

                JToken byte5 = Sl.formatter(lista[0][4]);
                await context.PostAsync(byte5.ToString());

                JToken byte6 = Sl.formatter(lista[0][5]);
                await context.PostAsync(byte6.ToString());

                JToken byte7 = Sl.formatter(lista[0][6]);
                await context.PostAsync(byte7.ToString());
            }
            catch (Exception)
            {
            }
            await this.SlButtons(context, result, endStation, endStationTime);
        }
コード例 #2
0
ファイル: RootDialog.cs プロジェクト: JohnSdev/ResBot
        public async Task slBot(IDialogContext context, LuisResult result)
        {
            //Gets the quesry and splits/formats the string to get start and stop sites.
            var    valuesEntity = result.Query.ToString();
            string s            = "";

            s = valuesEntity.ToString();

            string[] words  = s.Split(' ');
            string   placeA = words[1];
            string   placeB = words[2];

            this.startstation = placeA;
            this.endstation   = placeB;

            //First API Call to get Site ID from name
            //Item 1 is Name and Item2 is the SiteID Needed for the next API call.
            var start = Sl.slPlace(placeA);

            var end = Sl.slPlace(placeB);

            //2ns API call to get route from A to B
            var route = Sl.slRoute(start.Item2.ToString(), end.Item2.ToString(), end.Item1.ToString());
            //To Json object/class
            var routedata = (JObject)JsonConvert.DeserializeObject(route.Item1);
            var lista     = new List <JToken>();
            var lista2    = new List <string>();

            lista.Add(routedata["Trip"][0]["LegList"]["Leg"]);

            //Define parameters from result
            Console.WriteLine(routedata);
            var newjson = JsonConvert.DeserializeObject <RootObject>(route.Item1);

            string endStation = newjson.Trip[0].LegList.Leg[0].Destination.name.ToString();

            string endStationTime = newjson.Trip[0].LegList.Leg[0].Destination.time.ToString();

            string startStation = newjson.Trip[0].LegList.Leg[0].Origin.name.ToString();

            string startVehicle = newjson.Trip[0].LegList.Leg[0].name.ToString();

            string startTime = newjson.Trip[0].LegList.Leg[0].Origin.time.ToString();

            await context.PostAsync(startTime + " " + startVehicle + " > " + startStation);

            await this.SlButtons(context, result, endStation, endStationTime);
        }