예제 #1
0
        public FileResult GenerateResponse(string id)
        {
            string interfaceName = id.Replace("-", ".");
            string sdknamespace  = HttpContext.Request.QueryString["SDKNameSpace"];
            string methodName    = interfaceName.Substring(interfaceName.LastIndexOf(".") + 1);
            DiscoverServiceByNameRequest request = new DiscoverServiceByNameRequest();

            request.Name = interfaceName;
            DiscoverServiceByNameResponse response = SDKFactory.Client.Execute(request);

            string templatePath = AppDomain.CurrentDomain.BaseDirectory.TrimEnd('\\') + "\\Templates\\SDKResponse.cts";

            byte[] data = null;
            if (!response.IsError && response.ServiceInfo != null)
            {
                var Model = new
                {
                    ActionName       = methodName,
                    ServiceInfo      = response.ServiceInfo,
                    RequestNameSpace = sdknamespace,
                };
                string templateText = System.IO.File.ReadAllText(templatePath);
                string code         = Razor.Parse(templateText, Model);
                //data = Encoding.UTF8.GetBytes(code);
            }
            return(File(data, "application/octet-stream", methodName + "Response.cs"));
        }
예제 #2
0
        public ActionResult ServiceDetail(string id)
        {
            string interfaceName = id.Replace("-", ".");
            DiscoverServiceByNameRequest request = new DiscoverServiceByNameRequest();

            request.Name = interfaceName;
            DiscoverServiceByNameResponse response = SDKFactory.Client.Execute(request);

            if (response.ServiceInfo != null)
            {
                if (response.ServiceInfo.Parameters == null)
                {
                    response.ServiceInfo.Parameters = new List <ServiceParameter>();
                }
                this.ViewBag.Data = response.ServiceInfo;
            }
            else
            {
                this.ViewBag.Data = new ServiceInfo {
                    Parameters = new List <ServiceParameter>()
                };
            }
            return(View());
        }