Пример #1
0
        private void InitializeConfig(ToDoSkillState state)
        {
            // Initialize PageSize and TaskServiceType when the first input comes.
            if (state.PageSize <= 0)
            {
                var pageSize = 0;
                if (_settings.Properties.TryGetValue("DisplaySize", out var displaySizeObj))
                {
                    int.TryParse(displaySizeObj.ToString(), out pageSize);
                }

                state.PageSize = pageSize <= 0 ? ToDoCommonUtil.DefaultDisplaySize : pageSize;
            }

            if (state.TaskServiceType == ServiceProviderType.Other)
            {
                state.TaskServiceType = ServiceProviderType.Outlook;
                if (_settings.Properties.TryGetValue("TaskServiceProvider", out var taskServiceProvider))
                {
                    if (taskServiceProvider.ToString().Equals(ServiceProviderType.OneNote.ToString(), StringComparison.InvariantCultureIgnoreCase))
                    {
                        state.TaskServiceType = ServiceProviderType.OneNote;
                    }
                }
            }
        }
        private void ExtractListTypeAndTaskContent(ToDoSkillState state)
        {
            if (state.HasShopVerb && !string.IsNullOrEmpty(state.FoodOfGrocery))
            {
                if (state.ListType != ToDoStrings.Grocery)
                {
                    state.LastListType   = state.ListType;
                    state.ListType       = ToDoStrings.Grocery;
                    state.SwitchListType = true;
                }
            }
            else if (state.HasShopVerb && !string.IsNullOrEmpty(state.ShopContent))
            {
                if (state.ListType != ToDoStrings.Shopping)
                {
                    state.LastListType   = state.ListType;
                    state.ListType       = ToDoStrings.Shopping;
                    state.SwitchListType = true;
                }
            }

            if (state.ListType == ToDoStrings.Grocery || state.ListType == ToDoStrings.Shopping)
            {
                state.TaskContent = string.IsNullOrEmpty(state.ShopContent) ? state.TaskContentML ?? state.TaskContentPattern : state.ShopContent;
            }
            else
            {
                state.TaskContent = state.TaskContentML ?? state.TaskContentPattern;
                if (string.IsNullOrEmpty(state.ListType))
                {
                    state.ListType = ToDoStrings.ToDo;
                }
            }
        }
Пример #3
0
        private void InitializeConfig(ToDoSkillState state)
        {
            // Initialize PageSize and TaskServiceType when the first input comes.
            if (state.PageSize <= 0)
            {
                var pageSize = 0;

                if (_settings.DisplaySize != null)
                {
                    pageSize = _settings.DisplaySize;
                }

                state.PageSize = pageSize <= 0 ? ToDoCommonUtil.DefaultDisplaySize : pageSize;
            }

            if (state.TaskServiceType == ServiceProviderType.Other)
            {
                state.TaskServiceType = ServiceProviderType.Outlook;
                if (!string.IsNullOrEmpty(_settings.TaskServiceProvider))
                {
                    if (_settings.TaskServiceProvider.Equals(ServiceProviderType.OneNote.ToString(), StringComparison.InvariantCultureIgnoreCase))
                    {
                        state.TaskServiceType = ServiceProviderType.OneNote;
                    }
                }
            }
        }
Пример #4
0
        /// <summary>
        /// Digest luis result.
        /// </summary>
        /// <param name="luisResult">Luis result.</param>
        /// <param name="userInput">User input.</param>
        /// <param name="toDoSkillState">To do skill state.</param>
        public static void DigestLuisResult(ToDo luisResult, string userInput, ref ToDoSkillState toDoSkillState)
        {
            var entities = luisResult.Entities;

            if (luisResult?.Entities?.ContainsAll != null)
            {
                toDoSkillState.MarkOrDeleteAllTasksFlag = true;
            }

            if (luisResult?.Entities?.ordinal != null)
            {
                var index = (int)luisResult.Entities.ordinal[0];
                if (index > 0 && index <= 5)
                {
                    toDoSkillState.ToDoTaskIndex = index - 1;
                }
            }

            if (!string.IsNullOrEmpty(userInput))
            {
                var words = userInput.Split(' ');
                foreach (var word in words)
                {
                    if (word.Equals("all", StringComparison.OrdinalIgnoreCase))
                    {
                        toDoSkillState.MarkOrDeleteAllTasksFlag = true;
                    }
                }
            }
        }
Пример #5
0
        private void InitializeConfig(ToDoSkillState state)
        {
            // Initialize PageSize, ReadSize and TaskServiceType when the first input comes.
            if (state.PageSize <= 0)
            {
                int pageSize = 0;
                if (_services.Properties.TryGetValue("DisplaySize", out object displaySizeObj))
                {
                    int.TryParse(displaySizeObj.ToString(), out pageSize);
                }

                state.PageSize = pageSize <= 0 || pageSize > ToDoCommonUtil.MaxDisplaySize ? ToDoCommonUtil.MaxDisplaySize : pageSize;
            }

            if (state.ReadSize <= 0)
            {
                int readSize = 0;
                if (_services.Properties.TryGetValue("ReadSize", out object readSizeObj))
                {
                    int.TryParse(readSizeObj.ToString(), out readSize);
                }

                state.ReadSize = readSize <= 0 || readSize > ToDoCommonUtil.MaxReadSize ? ToDoCommonUtil.MaxReadSize : readSize;
            }

            if (state.TaskServiceType == ProviderTypes.Other)
            {
                state.TaskServiceType = ProviderTypes.Outlook;
                if (_services.Properties.TryGetValue("TaskServiceProvider", out object taskServiceProvider))
                {
                    if (taskServiceProvider.ToString().Equals(ProviderTypes.OneNote.ToString(), StringComparison.InvariantCultureIgnoreCase))
                    {
                        state.TaskServiceType = ProviderTypes.OneNote;
                    }
                }
            }
        }