Пример #1
0
        public async Task ProvideInfo(IDialogContext context, LuisResult result)
        {
            //获取用户会话
            CRMInfo info = crmservice.GetCustomerSession(TestCustomer);

            //设置通用信息
            crmservice.SetCommonInfo(info, context, result);
            //await context.PostAsync(info.ToString());
            //根据intent调用

            if (!String.IsNullOrWhiteSpace(info.brandText))
            {
                if ("查询地点".Equals(info.intent))
                {
                    await QueryLocation(context, result);
                }
                else if ("有什么".Equals(info.intent))
                {
                    await HaveSomething(context, result);
                }
                else if ("我要吃饭".Equals(info.intent))
                {
                    await Eat(context, result);
                }
                else if ("我要购物".Equals(info.intent))
                {
                    await Buy(context, result);
                }
                else if ("查询特约商户".Equals(info.intent))
                {
                    await QueryMemberStore(context, result);
                }
                else
                {
                    await QueryLocation(context, result);
                }
            }
            else if (!String.IsNullOrWhiteSpace(info.basicInfoText))
            {
                if ("查询基础信息".Equals(info.intent))
                {
                    await QueryBasicInfo(context, result);
                }
                else if ("查询活动".Equals(info.intent))
                {
                    await QueryActivitys(context, result);
                }
                else
                {
                    await QueryBasicInfo(context, result);
                }
            }
            else if (!String.IsNullOrWhiteSpace(info.activityText))
            {
                if ("查询活动".Equals(info.intent))
                {
                    await QueryActivitys(context, result);
                }
                else
                {
                    await QueryActivitys(context, result);
                }
            }
            else if (!String.IsNullOrWhiteSpace(info.businessFormatText) || !String.IsNullOrWhiteSpace(info.productText))
            {
                if ("有什么".Equals(info.intent))
                {
                    await HaveSomething(context, result);
                }
                else if ("我要吃饭".Equals(info.intent))
                {
                    await Eat(context, result);
                }
                else if ("我要购物".Equals(info.intent))
                {
                    await Buy(context, result);
                }
                else if ("查询特约商户".Equals(info.intent))
                {
                    await QueryMemberStore(context, result);
                }
                else
                {
                    await HaveSomething(context, result);
                }
            }
            else if (!String.IsNullOrWhiteSpace(info.floorText))
            {
                if ("有什么".Equals(info.intent))
                {
                    await HaveSomething(context, result);
                }
                else if ("我要吃饭".Equals(info.intent))
                {
                    await Eat(context, result);
                }
                else if ("我要购物".Equals(info.intent))
                {
                    await Buy(context, result);
                }
                else if ("查询特约商户".Equals(info.intent))
                {
                    await QueryMemberStore(context, result);
                }
                else if ("查询活动".Equals(info.intent))
                {
                    await QueryActivitys(context, result);
                }
                else
                {
                    await HaveSomething(context, result);
                }
            }
            else
            {
                bool b = true;
                //有默认值必须最后判断
                if (!String.IsNullOrWhiteSpace(info.BuiltinDatetimeDate))
                {
                    if ("查询活动".Equals(info.intent))
                    {
                        b = false;
                        await QueryActivitys(context, result);
                    }
                }

                if (b)
                {
                    //await context.PostAsync(info.ToString());
                    await context.PostAsync("正大君目前提供:地点查询,品牌查询,活动查询等服务。请问您需要什么呢?");
                }
            }

            context.Wait(MessageReceived);



            //if ("查询地点".Equals(info.intent))
            //{
            //    await QueryLocation(context, result);
            //}
            //else if ("有什么".Equals(info.intent))
            //{
            //    await HaveSomething(context, result);
            //}
            //else if ("我要吃饭".Equals(info.intent))
            //{
            //    await Eat(context, result);
            //}
            //else if ("我要购物".Equals(info.intent))
            //{
            //    await Buy(context, result);
            //}
            //else if ("查询特约商户".Equals(info.intent))
            //{
            //    await QueryMemberStore(context, result);
            //}
            //else if ("查询基础信息".Equals(info.intent))
            //{
            //    await QueryBasicInfo(context, result);
            //}
            //else
            //{
            //    if (!String.IsNullOrWhiteSpace(info.brandText))
            //    {
            //        await QueryLocation(context, result);
            //    }
            //    else if (!String.IsNullOrWhiteSpace(info.businessFormatText) || !String.IsNullOrWhiteSpace(info.productText) ||!String.IsNullOrWhiteSpace(info.floorText))
            //    {
            //        await HaveSomething(context, result);
            //    }
            //    else if (!String.IsNullOrWhiteSpace(info.basicInfoText))
            //    {
            //        await QueryBasicInfo(context, result);
            //    }
            //    else
            //    {
            //        await context.PostAsync("正大君目前提供:地点查询,品牌查询等服务。请问您需要什么呢?");
            //    }
            //}
            //context.Wait(MessageReceived);

            //IList<EntityRecommendation> list = result.Entities;
            //for (int i = 0; i < list.Count; i++)
            //{
            //    EntityRecommendation obj = list[i];
            //    await context.PostAsync("Entity:" + obj.Entity + " Type:" + obj.Type + " Role" + obj.Role + " Score" + obj.Score);
            //}
            //context.Wait(MessageReceived);
        }