Beispiel #1
0
        private static void CreateCommandBuildersFromRequestExecutors(CodeClass currentClass, bool classHasIndexers, IEnumerable <CodeMethod> requestMethods)
        {
            foreach (var requestMethod in requestMethods)
            {
                CodeMethod clone   = requestMethod.Clone() as CodeMethod;
                var        cmdName = clone.HttpMethod switch
                {
                    HttpMethod.Get when classHasIndexers => "List",
                           HttpMethod.Post when classHasIndexers => "Create",
                           _ => clone.Name,
                };

                clone.IsAsync        = false;
                clone.Name           = $"Build{cmdName}Command";
                clone.Description    = requestMethod.Description;
                clone.ReturnType     = CreateCommandType();
                clone.Kind           = CodeMethodKind.CommandBuilder;
                clone.OriginalMethod = requestMethod;
                clone.SimpleName     = cmdName;
                clone.ClearParameters();
                currentClass.AddMethod(clone);
                currentClass.RemoveChildElement(requestMethod);
            }
        }