private static HttpActionDescriptor GetActionDescriptorByCurrentHttpVerb(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo)
        {
            //Check if there is only one action with the current http verb
            var actionsByVerb = controllerInfo.Actions.Values
                .Where(action => action.Verb.IsEqualTo(controllerContext.Request.Method))
                .ToArray();

            if (actionsByVerb.Length == 0)
            {
                throw new OwException(
                    "There is no action" +
                    " defined for api controller " + controllerInfo.ServiceName +
                    " with an http verb: " + controllerContext.Request.Method
                    );
            }

            if (actionsByVerb.Length > 1)
            {
                throw new OwException(
                    "There are more than one action" +
                    " defined for api controller " + controllerInfo.ServiceName +
                    " with an http verb: " + controllerContext.Request.Method
                    );
            }

            //Return the single action by the current http verb
            return new DynamicHttpActionDescriptor(controllerContext.ControllerDescriptor, actionsByVerb[0].Method, actionsByVerb[0].Filters);
        }
        public string GenerateFor(DynamicApiControllerInfo controllerInfo)
        {
            var script = new StringBuilder();

            //Module dependencies and start
            script.AppendLine("define(['jquery'], function ($) {");

            //all methods
            foreach (var methodInfo in controllerInfo.Actions.Values)
            {
                script.AppendLine();
                AppendMethod(script, controllerInfo, methodInfo);
            }

            //Return value of the module
            script.AppendLine();
            script.AppendLine("    return {");

            var methodNo = 0;
            foreach (var methodInfo in controllerInfo.Actions.Values)
            {
                script.AppendLine("        " + methodInfo.ActionName.ToCamelCase() + ": " + methodInfo.ActionName.ToCamelCase() + ((methodNo++) < (controllerInfo.Actions.Count - 1) ? "," : ""));
            }

            script.AppendLine("    };");
            script.AppendLine();

            //Module end
            script.AppendLine("});");

            return script.ToString();
        }
        public static string GenerateUrlWithParameters(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo actionInfo)
        {
            var baseUrl = "api/services/" + controllerInfo.ServiceName + "/" + actionInfo.ActionName;

            var primitiveParameters = actionInfo.Method
                .GetParameters()
                .Where(p => TypeHelper.IsPrimitiveIncludingNullable(p.ParameterType))
                .ToArray();

            if (!primitiveParameters.Any())
            {
                return baseUrl;
            }

            var urlBuilder = new StringBuilder(baseUrl);
            if (!baseUrl.Contains("?"))
            {
                urlBuilder.Append("?");
            }

            for (var i = 0; i < primitiveParameters.Length; i++)
            {
                var parameterInfo = primitiveParameters[i];

                if (i > 0)
                {
                    urlBuilder.Append("&");
                }

                urlBuilder.Append(parameterInfo.Name.ToCamelCase() + "=' + escape(" + parameterInfo.Name.ToCamelCase() + ") + '");
            }

            return urlBuilder.ToString();
        }
        /// <summary>
        /// 得到 HttpActionDescriptor
        /// </summary>
        /// <param name="controllerContext"></param>
        /// <param name="controllerInfo"></param>
        /// <param name="actionName"></param>
        /// <returns></returns>
        private HttpActionDescriptor GetActionByActionName(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo, string actionName)
        {
            DynamicApiActionInfo actionInfo;
            if (!controllerInfo.Actions.TryGetValue(actionName, out actionInfo))
            {
                return base.SelectAction(controllerContext);

            }
            return new DynamicHttpActionDescriptor(controllerContext.ControllerDescriptor, actionInfo.Method, actionInfo.Filters);
        }
 private static IScriptProxyGenerator CreateProxyGenerator(ProxyScriptType type, DynamicApiControllerInfo controllerInfo, bool amdModule)
 {
     switch (type)
     {
         case ProxyScriptType.JQuery:
             return new JQueryProxyGenerator(controllerInfo, amdModule);
         case ProxyScriptType.Angular:
             return new AngularProxyGenerator(controllerInfo); //TODO: Angular!
         default:
             throw new AbpException("Unknown ProxyScriptType: " + type);
     }
 }
 private static ActionScriptWriter CreateActionScriptWriter(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     switch (methodInfo.Verb)
     {
         case HttpVerb.Get:
             return new GetActionScriptWriter(controllerInfo, methodInfo);
         case HttpVerb.Post:
             return new PostActionScriptWriter(controllerInfo, methodInfo);
         case HttpVerb.Put:
             return new PostActionScriptWriter(controllerInfo, methodInfo);
         case HttpVerb.Delete:
             return new DeleteActionScriptWriter(controllerInfo, methodInfo);
         default:
             throw new AbpException("This Http verb is not implemented: " + methodInfo.Verb);
     }
 }
 public static ActionScriptProxyGenerator CreateActionScriptProxyGenerator(this HttpVerb verb, DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     switch (verb)
     {
         case HttpVerb.Get:
             return new HttpGetActionScriptProxyGenerator(controllerInfo, methodInfo);
         case HttpVerb.Post:
             return new HttpPostActionScriptProxyGenerator(controllerInfo, methodInfo);
         case HttpVerb.Put:
             return new HttpPutActionScriptProxyGenerator(controllerInfo, methodInfo);
         case HttpVerb.Delete:
             return new HttpDeleteActionScriptProxyGenerator(controllerInfo, methodInfo);
         default:
             throw new AbpException("This Http verb is not implemented: " + verb);
     }
 }
        private HttpActionDescriptor GetActionDescriptorByActionName(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo, string actionName)
        {
            //Get action information by action name
            DynamicApiActionInfo actionInfo;
            if (!controllerInfo.Actions.TryGetValue(actionName, out actionInfo))
            {
                throw new AbpException("There is no action " + actionName + " defined for api controller " + controllerInfo.ServiceName);
            }

            if (!actionInfo.Verb.IsEqualTo(controllerContext.Request.Method))
            {
                throw new AbpException(
                    "There is an action " + actionName +
                    " defined for api controller " + controllerInfo.ServiceName +
                    " but with a different HTTP Verb. Request verb is " + controllerContext.Request.Method +
                    ". It should be " + actionInfo.Verb);
            }

            return new DynamicHttpActionDescriptor(_configuration, controllerContext.ControllerDescriptor, actionInfo.Method, actionInfo.Filters);
        }
        public string Generate(DynamicApiControllerInfo controllerInfo, string servicePrefix)
        {
            if (_servicePrefix != servicePrefix)
            {
                //if there is a change in servicePrefix, we need to generate the types again
                _servicePrefix = servicePrefix;
                _typesToBeDone = new HashSet<Type>();
                _doneTypes = new HashSet<Type>();
            }
            _controllerInfo = controllerInfo;

            var script = new StringBuilder();

            script.AppendLine("     interface " + _controllerInfo.ServiceName.Substring(_controllerInfo.ServiceName.IndexOf('/') + 1));
            script.AppendLine("     {");

            foreach (var methodInfo in _controllerInfo.Actions.Values)
            {
                PrepareInputParameterTypes(methodInfo.Method);
                
                List<Type> newTypes = new List<Type>();
                var returnType = TypeScriptHelper.GetTypeContractName(methodInfo.Method.ReturnType, newTypes);
                this.AddNewTypesIfRequired(newTypes.ToArray());
                if (returnType == "void")
                    script.AppendLine(string.Format("            {0} ({1}): abp.IPromise; ", methodInfo.ActionName.ToCamelCase(), GetMethodInputParameter(methodInfo.Method)));
                else
                    script.AppendLine(string.Format("            {0} ({1}): abp.IGenericPromise<{2}>; ", methodInfo.ActionName.ToCamelCase(), GetMethodInputParameter(methodInfo.Method), returnType));

            }

            script.AppendLine("     }");
            while (_typesToBeDone != null && _typesToBeDone.Count > 0)
            {
                Type type = _typesToBeDone.First();

                script.AppendLine(GenerateTypeScript(type));
                _doneTypes.Add(type);
                _typesToBeDone.RemoveWhere(x => x == type);
            }
            return script.ToString();
        }
        public string GenerateFor(DynamicApiControllerInfo controllerInfo, bool defineAmdModule = true)
        {
            var script = new StringBuilder();

            script.AppendLine("(function(){");
            script.AppendLine();
            script.AppendLine("    var serviceNamespace = abp.utils.createNamespace(abp, 'services." + controllerInfo.ServiceName.Replace("/", ".") + "');");
            script.AppendLine();

            //generate all methods
            foreach (var methodInfo in controllerInfo.Actions.Values)
            {
                AppendMethod(script, controllerInfo, methodInfo);
                script.AppendLine();
            }

            //generate amd module definition
            if (defineAmdModule)
            {
                script.AppendLine("    if(define && typeof define === 'function' && define.amd){");
                script.AppendLine("        define(function (require, exports, module) {");
                script.AppendLine("            return {");

                var methodNo = 0;
                foreach (var methodInfo in controllerInfo.Actions.Values)
                {
                    script.AppendLine("                " + methodInfo.ActionName.ToCamelCase() + ": serviceNamespace." + methodInfo.ActionName.ToCamelCase() + ((methodNo++) < (controllerInfo.Actions.Count - 1) ? "," : ""));
                }

                script.AppendLine("            };");
                script.AppendLine("        });");
                script.AppendLine("    }");
            }

            script.AppendLine();
            script.AppendLine("})();");

            return script.ToString();
        }
 public JQueryProxyGenerator(DynamicApiControllerInfo controllerInfo, bool defineAmdModule = true)
 {
     _controllerInfo = controllerInfo;
     _defineAmdModule = defineAmdModule;
 }
 public PostActionScriptWriter(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
     : base(controllerInfo, methodInfo)
 {
 }
Exemple #13
0
 protected ActionScriptWriter(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     ControllerInfo = controllerInfo;
     MethodInfo = methodInfo;
 }
        public string Generate(DynamicApiControllerInfo controllerInfo, string servicePrefix)
        {
            if (_servicePrefix != servicePrefix)
            {
                //if there is a change in servicePrefix, we need to generate the types again
                _servicePrefix = servicePrefix;
                _typesToBeDone = new HashSet<Type>();
                _doneTypes = new HashSet<Type>();
            }
            _controllerInfo = controllerInfo;

            var script = new StringBuilder();

            script.AppendLine("     export class " + _controllerInfo.ServiceName.Substring(_controllerInfo.ServiceName.IndexOf('/') + 1));
            script.AppendLine("     {");
            script.AppendLine("         static $inject = ['$http'];");
            script.AppendLine("         constructor(private $http: ng.IHttpService){");
            script.AppendLine("     }");
            foreach (var methodInfo in _controllerInfo.Actions.Values)
            {
                PrepareInputParameterTypes(methodInfo.Method);
                List<Type> newTypes = new List<Type>();
                var returnType = TypeScriptHelper.GetTypeContractName(methodInfo.Method.ReturnType, newTypes);
                this.AddNewTypesIfRequired(newTypes.ToArray());
                if (returnType == "void")
                {
                    script.AppendLine(string.Format("           public {0} = function ({1}): abp.IPromise ",
                        methodInfo.ActionName.ToCamelCase(), GetMethodInputParameter(methodInfo.Method)));
                    script.AppendLine("{");
                    script.AppendLine("                    var self = this;");
                    script.AppendLine("                    return self.$http(angular.extend({");
                    script.AppendLine("                        abp: true,");
                    script.AppendLine("                        url: abp.appPath + '" + ActionScriptingHelper.GenerateUrlWithParameters(_controllerInfo, methodInfo) + "',");
                    script.AppendLine("                        method: '" + methodInfo.Verb.ToString().ToUpper(CultureInfo.InvariantCulture) + "',");

                    if (methodInfo.Verb == HttpVerb.Get)
                    {
                        script.AppendLine("                        params: " + ActionScriptingHelper.GenerateBody(methodInfo));
                    }
                    else
                    {
                        script.AppendLine("                        data: JSON.stringify(" + ActionScriptingHelper.GenerateBody(methodInfo) + ")");
                    }

                    script.AppendLine("                    }, httpParams));");


                    script.AppendLine("}");


                }

                else
                {
                    script.AppendLine(string.Format("           public {0} = function ({1}): abp.IGenericPromise<{2}> ", methodInfo.ActionName.ToCamelCase(), 
                        GetMethodInputParameter(methodInfo.Method), returnType));
                    script.AppendLine("{");
                    script.AppendLine("                    var self = this;");
                    script.AppendLine("                    return self.$http(angular.extend({");
                    script.AppendLine("                        abp: true,");
                    script.AppendLine("                        url: abp.appPath + '" + ActionScriptingHelper.GenerateUrlWithParameters(_controllerInfo, methodInfo) + "',");
                    script.AppendLine("                        method: '" + methodInfo.Verb.ToString().ToUpper(CultureInfo.InvariantCulture) + "',");

                    if (methodInfo.Verb == HttpVerb.Get)
                    {
                        script.AppendLine("                        params: " + ActionScriptingHelper.GenerateBody(methodInfo));
                    }
                    else
                    {
                        script.AppendLine("                        data: JSON.stringify(" + ActionScriptingHelper.GenerateBody(methodInfo) + ")");
                    }

                    script.AppendLine("                    }, httpParams));");

                    script.AppendLine("}");
                }
                    

            }
            
            script.AppendLine("     }");

            script.AppendLine("angular.module('abp').service('abp.services." + _controllerInfo.ServiceName.Replace("/", ".") + "', abp.services." + _controllerInfo.ServiceName.Replace("/", ".")+");");


            while (_typesToBeDone != null && _typesToBeDone.Count > 0)
            {
                Type type = _typesToBeDone.First();

                script.AppendLine(GenerateTypeScript(type));
                _doneTypes.Add(type);
                _typesToBeDone.RemoveWhere(x => x == type);
            }
            return script.ToString();
        }
 private static void AppendMethod(StringBuilder script, DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     var generator = new JQueryActionScriptGenerator(controllerInfo, methodInfo);
     script.AppendLine(generator.GenerateMethod());
 }
 public AngularProxyGenerator(DynamicApiControllerInfo controllerInfo)
 {
     _controllerInfo = controllerInfo;
 }
Exemple #17
0
 public HttpPutActionScriptProxyGenerator(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
     : base(controllerInfo, methodInfo)
 {
 }
Exemple #18
0
 public JQueryProxyGenerator(DynamicApiControllerInfo controllerInfo, bool defineAmdModule = true)
 {
     _controllerInfo  = controllerInfo;
     _defineAmdModule = defineAmdModule;
 }
Exemple #19
0
        private static void AppendMethod(StringBuilder script, DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
        {
            var generator = methodInfo.Verb.CreateActionScriptProxyGenerator(controllerInfo, methodInfo);

            script.AppendLine(generator.GenerateMethod());
        }
        private HttpActionDescriptor GetActionDescriptorByActionName(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo, string actionName)
        {
            //Get action information by action name
            DynamicApiActionInfo actionInfo;

            if (!controllerInfo.Actions.TryGetValue(actionName, out actionInfo))
            {
                throw new AbpException("There is no action " + actionName + " defined for api controller " + controllerInfo.ServiceName);
            }

            if (actionInfo.Verb != controllerContext.Request.Method.ToHttpVerb())
            {
                throw new HttpException(
                          (int)HttpStatusCode.BadRequest,
                          "There is an action " + actionName +
                          " defined for api controller " + controllerInfo.ServiceName +
                          " but with a different HTTP Verb. Request verb is " + controllerContext.Request.Method +
                          ". It should be " + actionInfo.Verb
                          );
            }

            return(new DynamicHttpActionDescriptor(_configuration, controllerContext.ControllerDescriptor, actionInfo));
        }
 protected ActionScriptProxyGenerator(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     ControllerInfo = controllerInfo;
     ActionInfo = methodInfo;
 }
        private static HttpActionDescriptor GetActionByActionName(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo, string actionName)
        {
            //Get action information by action name
            DynamicApiActionInfo actionInfo;

            if (!controllerInfo.Actions.TryGetValue(actionName, out actionInfo))
            {
                throw new AbpException("There is no action " + actionName + " defined for api controller " + controllerInfo.ServiceName);
            }

            if (!actionInfo.Verb.IsEqualTo(controllerContext.Request.Method))
            {
                throw new AbpException(
                          "There is an action " + actionName +
                          " defined for api controller " + controllerInfo.ServiceName +
                          " but with a different HTTP Verb. Request verb is " + controllerContext.Request.Method +
                          ". It should be " + actionInfo.Verb);
            }

            return(new DynamicHttpActionDescriptor(controllerContext.ControllerDescriptor, actionInfo.Method, actionInfo.Filters));
        }
        private static HttpActionDescriptor GetActionByCurrentHttpVerb(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo)
        {
            //Check if there is only one action with the current http verb
            var actionsByVerb = controllerInfo.Actions.Values
                                .Where(action => action.Verb.IsEqualTo(controllerContext.Request.Method))
                                .ToArray();

            if (actionsByVerb.Length == 0)
            {
                throw new AbpException(
                          "There is no action" +
                          " defined for api controller " + controllerInfo.ServiceName +
                          " with an http verb: " + controllerContext.Request.Method
                          );
            }

            if (actionsByVerb.Length > 1)
            {
                throw new AbpException(
                          "There are more than one action" +
                          " defined for api controller " + controllerInfo.ServiceName +
                          " with an http verb: " + controllerContext.Request.Method
                          );
            }

            //Return the single action by the current http verb
            return(new DynamicHttpActionDescriptor(controllerContext.ControllerDescriptor, actionsByVerb[0].Method, actionsByVerb[0].Filters));
        }
 public JQueryActionScriptGenerator(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo actionInfo)
 {
     _controllerInfo = controllerInfo;
     _actionInfo     = actionInfo;
 }
 private static void AppendMethod(StringBuilder script, DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     var generator = methodInfo.Verb.CreateActionScriptProxyGenerator(controllerInfo, methodInfo);
     script.AppendLine(generator.GenerateMethod());
 }
Exemple #26
0
 public AngularProxyGenerator(DynamicApiControllerInfo controllerInfo)
 {
     _controllerInfo = controllerInfo;
 }
        private HttpActionDescriptor GetActionDescriptorByCurrentHttpVerb(HttpControllerContext controllerContext, DynamicApiControllerInfo controllerInfo)
        {
            //Check if there is only one action with the current http verb
            var actionsByVerb = controllerInfo.Actions.Values
                                .Where(action => action.Verb == controllerContext.Request.Method.ToHttpVerb())
                                .ToArray();

            if (actionsByVerb.Length == 0)
            {
                throw new HttpException(
                          (int)HttpStatusCode.NotFound,
                          "There is no action" +
                          " defined for api controller " + controllerInfo.ServiceName +
                          " with an http verb: " + controllerContext.Request.Method
                          );
            }

            if (actionsByVerb.Length > 1)
            {
                throw new HttpException(
                          (int)HttpStatusCode.InternalServerError,
                          "There are more than one action" +
                          " defined for api controller " + controllerInfo.ServiceName +
                          " with an http verb: " + controllerContext.Request.Method
                          );
            }

            //Return the single action by the current http verb
            return(new DynamicHttpActionDescriptor(_configuration, controllerContext.ControllerDescriptor, actionsByVerb[0]));
        }
 public AngularActionScriptWriter(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     _controllerInfo = controllerInfo;
     _actionInfo = methodInfo;
 }
Exemple #29
0
 public PostActionScriptWriter(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
     : base(controllerInfo, methodInfo)
 {
 }
        private static IScriptProxyGenerator CreateProxyGenerator(ProxyScriptType type, DynamicApiControllerInfo controllerInfo, bool amdModule)
        {
            switch (type)
            {
            case ProxyScriptType.JQuery:
                return(new JQueryProxyGenerator(controllerInfo, amdModule));

            case ProxyScriptType.Angular:
                return(new AngularProxyGenerator(controllerInfo));

            default:
                throw new AbpException("Unknown ProxyScriptType: " + type);
            }
        }
 public AngularActionScriptWriter(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     _controllerInfo = controllerInfo;
     _actionInfo     = methodInfo;
 }
        public string Generate(DynamicApiControllerInfo controllerInfo, string servicePrefix)
        {
            if (_servicePrefix != servicePrefix)
            {
                //if there is a change in servicePrefix, we need to generate the types again
                _servicePrefix = servicePrefix;
                _typesToBeDone = new HashSet <Type>();
                _doneTypes     = new HashSet <Type>();
            }
            _controllerInfo = controllerInfo;

            var script = new StringBuilder();

            script.AppendLine("     export class " + _controllerInfo.ServiceName.Substring(_controllerInfo.ServiceName.IndexOf('/') + 1));
            script.AppendLine("     {");
            script.AppendLine("         static $inject = ['$http'];");
            script.AppendLine("         constructor(private $http: ng.IHttpService){");
            script.AppendLine("     }");
            foreach (var methodInfo in _controllerInfo.Actions.Values)
            {
                PrepareInputParameterTypes(methodInfo.Method);
                List <Type> newTypes   = new List <Type>();
                var         returnType = TypeScriptHelper.GetTypeContractName(methodInfo.Method.ReturnType, newTypes);
                this.AddNewTypesIfRequired(newTypes.ToArray());
                if (returnType == "void")
                {
                    script.AppendLine(string.Format("           public {0} = function ({1}): CodeZero.IPromise ",
                                                    methodInfo.ActionName.ToCamelCase(), GetMethodInputParameter(methodInfo.Method)));
                    script.AppendLine("{");
                    script.AppendLine("                    var self = this;");
                    script.AppendLine("                    return self.$http(angular.extend({");
                    script.AppendLine("                        CodeZero: true,");
                    script.AppendLine("                        url: CodeZero.appPath + '" + ActionScriptingHelper.GenerateUrlWithParameters(_controllerInfo, methodInfo) + "',");
                    script.AppendLine("                        method: '" + methodInfo.Verb.ToString().ToUpper(CultureInfo.InvariantCulture) + "',");

                    if (methodInfo.Verb == HttpVerb.Get)
                    {
                        script.AppendLine("                        params: " + ActionScriptingHelper.GenerateBody(methodInfo));
                    }
                    else
                    {
                        script.AppendLine("                        data: JSON.stringify(" + ActionScriptingHelper.GenerateBody(methodInfo) + ")");
                    }

                    script.AppendLine("                    }, httpParams));");


                    script.AppendLine("}");
                }

                else
                {
                    script.AppendLine(string.Format("           public {0} = function ({1}): CodeZero.IGenericPromise<{2}> ", methodInfo.ActionName.ToCamelCase(),
                                                    GetMethodInputParameter(methodInfo.Method), returnType));
                    script.AppendLine("{");
                    script.AppendLine("                    var self = this;");
                    script.AppendLine("                    return self.$http(angular.extend({");
                    script.AppendLine("                        CodeZero: true,");
                    script.AppendLine("                        url: CodeZero.appPath + '" + ActionScriptingHelper.GenerateUrlWithParameters(_controllerInfo, methodInfo) + "',");
                    script.AppendLine("                        method: '" + methodInfo.Verb.ToString().ToUpper(CultureInfo.InvariantCulture) + "',");

                    if (methodInfo.Verb == HttpVerb.Get)
                    {
                        script.AppendLine("                        params: " + ActionScriptingHelper.GenerateBody(methodInfo));
                    }
                    else
                    {
                        script.AppendLine("                        data: JSON.stringify(" + ActionScriptingHelper.GenerateBody(methodInfo) + ")");
                    }

                    script.AppendLine("                    }, httpParams));");

                    script.AppendLine("}");
                }
            }

            script.AppendLine("     }");

            script.AppendLine("angular.module('CodeZero').service('CodeZero.services." + _controllerInfo.ServiceName.Replace("/", ".") + "', CodeZero.services." + _controllerInfo.ServiceName.Replace("/", ".") + ");");


            while (_typesToBeDone != null && _typesToBeDone.Count > 0)
            {
                Type type = _typesToBeDone.First();

                script.AppendLine(GenerateTypeScript(type));
                _doneTypes.Add(type);
                _typesToBeDone.RemoveWhere(x => x == type);
            }
            return(script.ToString());
        }
 public JQueryActionScriptGenerator(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo actionInfo)
 {
     _controllerInfo = controllerInfo;
     _actionInfo = actionInfo;
 }
Exemple #34
0
        private static void AppendMethod(StringBuilder script, DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
        {
            var generator = new JQueryActionScriptGenerator(controllerInfo, methodInfo);

            script.AppendLine(generator.GenerateMethod());
        }
 public HttpGetActionScriptProxyGenerator(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
     : base(controllerInfo, methodInfo)
 {
 }
 protected ActionScriptProxyGenerator(DynamicApiControllerInfo controllerInfo, DynamicApiActionInfo methodInfo)
 {
     ControllerInfo = controllerInfo;
     ActionInfo     = methodInfo;
 }