コード例 #1
0
        public PartialViewResult SkillNameMenu(int skillId)
        {
            SkillNameMenuViewModel model = new SkillNameMenuViewModel()
            {
                SkillId = skillId
            };

            if (skillId == 0)
            {
                return(PartialView(model));
            }



            string userId = User.Identity.GetUserId();

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == skillId && x.UserId == userId);
                if (skill == null)
                {
                    return(PartialView(model));
                }
                model.SkillName = skill.Name;
            }

            return(PartialView(model));
        }
コード例 #2
0
        public PartialViewResult MainMenu(int skillId)
        {
            if (skillId == 0)
            {
                return(null);
            }

            MainMenuViewModel model = new MainMenuViewModel()
            {
                SkillId = skillId
            };

            string userId = User.Identity.GetUserId();

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == skillId && x.UserId == userId);
                if (skill == null)
                {
                    return(null);
                }
                foreach (Intent intent in skill.Intents.OrderBy(x => x.Name))
                {
                    model.Intents.Add(intent.Id, intent.Name);
                }
            }


            return(PartialView(model));
        }
コード例 #3
0
        public ActionResult Index(int id)
        {
            SkillConfigViewModel model = new SkillConfigViewModel()
            {
                SkillId = id
            };
            string intents   = "";
            string delimiter = "";

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == id);
                if (skill == null)
                {
                    return(null);
                }
                foreach (Intent intent in skill.Intents.Where(x => x.IntentCalls.Count > 0))
                {
                    intents   = intents + delimiter + "{\"intent\": \"" + intent.Name + "\"}";
                    delimiter = ",";
                    foreach (IntentCall intentCall in intent.IntentCalls)
                    {
                        model.SampleUtterances = model.SampleUtterances + intent.Name + " " + intentCall.CallText + Environment.NewLine;
                    }
                    ;
                }
            }
            model.IntentSchema = "{\"intents\": [" + intents + "]}";

            return(View(model));
        }
コード例 #4
0
        public ActionResult Intents(int id)
        {
            string userId = User.Identity.GetUserId();
            IntentOverviewViewModel model = new IntentOverviewViewModel()
            {
                SkillId = id
            };
            string skillName;

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == id && x.UserId == userId);
                if (skill == null)
                {
                    return(null);
                }
                skillName = skill.Name;
                List <Intent> intents = db.Intents.Where(x => x.SkillId == skill.Id).ToList();

                foreach (Intent intent in intents)
                {
                    model.Intents.Add(new IntentItemViewModel()
                    {
                        Id   = intent.Id,
                        Name = intent.Name
                    });
                }
            }


            return(View(model));
        }
コード例 #5
0
        public ActionResult WelcomeMessages(int id)
        {
            SkillWelcomeMessagesOverviewViewModel model = new SkillWelcomeMessagesOverviewViewModel();

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == id);
                if (skill == null)
                {
                    return(null);
                }
                model.SkillId = skill.Id;

                foreach (WelcomeMessage welcomeMessage in skill.WelcomeMessages)
                {
                    model.Messages.Add(new Models.Messages.MessageOverviewItemViewModel
                    {
                        MessageId = welcomeMessage.Id,
                        Message   = welcomeMessage.Message
                    });
                }
            }

            return(View(model));
        }
コード例 #6
0
        private int GetSkillId(string applicationId)
        {
            int skillId = 0;

            using (var db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.ApplicationID == applicationId);
                if (skill != null)
                {
                    skillId = skill.Id;
                }
            }
            return(skillId);
        }
コード例 #7
0
        public ActionResult Index(StatisitcViewModel model)
        {
            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == model.SkillId);

                List <RequestLog> logs = db.RequestLogs.Where(x => x.ApplicationId == skill.ApplicationID).OrderByDescending(x => x.RequestTime).Take(model.Settings.RequestCounts).ToList();

                var chartRequests = db.RequestLogs.Where(x => x.ApplicationId == skill.ApplicationID).GroupBy(x => EntityFunctions.TruncateTime(x.RequestTime)).Select(x => new
                {
                    Value = x.Count(),
                    Day   = (DateTime)x.Key
                }).OrderBy(x => x.Day).ToList();

                var allLogs = db.RequestLogs.Where(x => x.ApplicationId == skill.ApplicationID).ToList();

                foreach (var chartRequest in chartRequests)
                {
                    model.ChartRequests.Add(new ChartPoint()
                    {
                        Value = chartRequest.Value, Date = chartRequest.Day
                    });
                    model.ChartUsers.Add(new ChartPoint()
                    {
                        Value = allLogs.Where(x => x.RequestTime.Date == chartRequest.Day.Date).Select(x => x.UserId).Distinct().Count(), Date = chartRequest.Day
                    });
                }
                foreach (RequestLog log in logs)
                {
                    model.RequestLogs.Add(new RequestLogViewModel()
                    {
                        Information = log.Information,
                        Intent      = log.Intent,
                        IntentParam = log.IntentParam,
                        RequestTime = log.RequestTime,
                        RequestType = log.RequestType,
                        UserId      = log.UserId
                    });
                }
            }
            return(View(model));
        }
コード例 #8
0
        public ActionResult Detail(int id)
        {
            string           userId = User.Identity.GetUserId();
            SkillDetailModel model  = new SkillDetailModel()
            {
                Id = id
            };

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                Context.Skill skill = db.Skills.FirstOrDefault(x => x.Id == id && x.UserId == userId);
                if (skill == null)
                {
                    return(null);
                }
                model.Name      = skill.Name;
                model.SkillType = (Enums.SkillType)Enum.ToObject(typeof(Enums.SkillType), skill.SkillType);
            }

            return(View(model));
        }