Beispiel #1
0
 public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
 {
     if (methodDescriptor.DescriptorName == nameof(Export))
     {
         if (memberDescriptor.DescriptorName == "itemNames")
         {
             return(this.GetItemNames(find));
         }
     }
     return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
 }
Beispiel #2
0
 public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
 {
     return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
 }
Beispiel #3
0
 public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
 {
     if (methodDescriptor.DescriptorName == nameof(Open))
     {
         if (memberDescriptor.DescriptorName == "logName")
         {
             return(this.GetLogList().Select(item => item.Name).ToArray());
         }
     }
     else if (methodDescriptor.DescriptorName == nameof(Verbose))
     {
         if (memberDescriptor.DescriptorName == "logName")
         {
             return(this.GetLogList().Select(item => item.Name).ToArray());
         }
         else if (memberDescriptor.DescriptorName == "verbose")
         {
             return(Enum.GetNames(typeof(LogLevel)));
         }
     }
     return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
 }
Beispiel #4
0
 public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
 {
     switch (methodDescriptor.DescriptorName)
     {
     case nameof(Set):
     case nameof(Reset):
     {
         var query = from item in this.Properties
                     let propertyName = item.PropertyName
                                        select propertyName;
         return(query.ToArray());
     }
     }
     return(null);
 }
Beispiel #5
0
 public static string[] CompleteStart(CommandMemberDescriptor descriptor, string find)
 {
     return(new string[] { "a", "b", "c" });
 }
Beispiel #6
0
        public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
        {
            if (methodDescriptor.DescriptorName == nameof(View))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Info))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(ColumnInfo))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(ColumnList))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Log))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(EditTemplate))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Edit))
            {
                if (memberDescriptor.DescriptorName == tableNameString)
                {
                    return(this.GetTableNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Create))
            {
                if (memberDescriptor.DescriptorName == nameof(CategoryPath))
                {
                    return(this.GetCategoryPaths());
                }
            }

            return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
        }
Beispiel #7
0
        public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
        {
            switch (methodDescriptor.DescriptorName)
            {
            case nameof(Kick):
            {
                if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "userID")
                {
                    return(this.UserContext.Dispatcher.Invoke(() =>
                        {
                            var query = from item in this.UserContext.Users
                                        where item.UserState.HasFlag(UserState.Online)
                                        select item.ID;
                            return query.ToArray();
                        }));
                }
            }
            break;

            case nameof(Ban):
            {
                if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "userID")
                {
                    return(this.UserContext.Dispatcher.Invoke(() =>
                        {
                            var query = from item in this.UserContext.Users
                                        where item.BanInfo.Path != item.Path
                                        select item.ID;
                            return query.ToArray();
                        }));
                }
            }
            break;

            case nameof(Unban):
            {
                if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "userID")
                {
                    return(this.UserContext.Dispatcher.Invoke(() =>
                        {
                            var query = from item in this.UserContext.Users
                                        where item.BanInfo.Path == item.Path
                                        select item.ID;
                            return query.ToArray();
                        }));
                }
            }
            break;

            //case nameof(Move):
            //    {
            //        if (memberDescriptor.DescriptorName == "userID")
            //        {
            //            return this.GetUserIDs();
            //        }
            //        else if (memberDescriptor.DescriptorName == "categoryPath")
            //        {
            //            return this.GetCategoryPaths();
            //        }
            //    }
            //    break;
            case nameof(Create):
            {
                if (memberDescriptor.DescriptorName == "categoryPath")
                {
                    return(this.UserContext.Dispatcher.Invoke(() =>
                        {
                            var query = from item in this.UserContext.Categories
                                        select item.Path;
                            return query.ToArray();
                        }));
                }
            }
            break;

            case nameof(Info):
            {
                if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "userID")
                {
                    return(this.UserContext.Dispatcher.Invoke(() =>
                        {
                            var query = from item in this.UserContext.Users
                                        select item.ID;
                            return query.ToArray();
                        }));
                }
            }
            break;

            case nameof(Rename):
            case nameof(SetAuthority):
            case nameof(Delete):
            case nameof(Message):
            {
                if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "userID")
                {
                    return(this.UserContext.Dispatcher.Invoke(() =>
                        {
                            var query = from item in this.UserContext.Users
                                        select item.ID;
                            return query.ToArray();
                        }));
                }
            }
            break;
                //case nameof(CreateCategory):
                //    {
                //        if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "categoryPath")
                //        {
                //            return this.GetCategoryPaths();
                //        }
                //    }
                //    break;
                //case nameof(RenameCategory):
                //    {
                //        if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "categoryPath")
                //        {
                //            return this.GetCategoryPaths();
                //        }
                //    }
                //    break;
                //case nameof(MoveCategory):
                //    {
                //        if (memberDescriptor is CommandParameterDescriptor)
                //        {
                //            if (memberDescriptor.DescriptorName == "categoryPath" || memberDescriptor.DescriptorName == "parentPath")
                //            {
                //                return this.GetCategoryPaths();
                //            }
                //        }
                //    }
                //    break;
                //case nameof(DeleteCategory):
                //    {
                //        if (memberDescriptor is CommandParameterDescriptor && memberDescriptor.DescriptorName == "categoryPath")
                //        {
                //            return this.GetCategoryPaths();
                //        }
                //    }
                //    break;
            }
            return(null);
        }
Beispiel #8
0
 public static Task <string[]> CompleteStartAsync(CommandMemberDescriptor descriptor, string find)
 {
     return(Task.Run(() => new string[] { "a", "b", "c" }));
 }
Beispiel #9
0
        public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
        {
            if (methodDescriptor.DescriptorName == nameof(View))
            {
                if (memberDescriptor.DescriptorName == "typeName")
                {
                    return(this.GetTypeNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Info))
            {
                if (memberDescriptor.DescriptorName == "typeName")
                {
                    return(this.GetTypeNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Log))
            {
                if (memberDescriptor.DescriptorName == "typeName")
                {
                    return(this.GetTypeNames());
                }
            }
            else if (methodDescriptor.DescriptorName == nameof(Edit))
            {
                if (memberDescriptor.DescriptorName == "typeName")
                {
                    return(this.GetTypeNames());
                }
            }

            return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
        }
        private async Task <string[]> CompleteCompareAsync(CommandMemberDescriptor descriptor, string find)
        {
            await Task.Delay(1);

            return(new string[] { "a", "b", "c" });
        }
 public string[] CompleteShowItem(CommandMemberDescriptor descriptor, string find)
 {
     return(null);
 }
Beispiel #12
0
 public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
 {
     if (methodDescriptor.DescriptorName == nameof(Delete))
     {
         return(this.GetDomainIDs());
     }
     else if (methodDescriptor.DescriptorName == nameof(DeleteAll))
     {
         return(this.GetDataBaseNames());
     }
     else if (methodDescriptor.DescriptorName == nameof(Info))
     {
         return(this.GetDomainIDs());
     }
     else if (methodDescriptor.DescriptorName == nameof(List))
     {
         if (memberDescriptor.DescriptorName == nameof(DataBaseName))
         {
             return(this.GetDataBaseNames());
         }
     }
     return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
 }
Beispiel #13
0
        public override string[] GetCompletions(CommandMethodDescriptor methodDescriptor, CommandMemberDescriptor memberDescriptor, string find)
        {
            switch (methodDescriptor.DescriptorName)
            {
            case nameof(Load):
            case nameof(Unload):
            case nameof(Rename):
            case nameof(Delete):
            case nameof(Copy):
            case nameof(Info):
            case nameof(Log):
            {
                if (memberDescriptor.DescriptorName == dataBaseNameParameter)
                {
                    return(this.GetDataBaseNames());
                }
            }
            break;
            }

            return(base.GetCompletions(methodDescriptor, memberDescriptor, find));
        }