예제 #1
0
        public IActionResult Api()
        {
            Stream stream = null;

            var allParameters = new NameValueCollection();

            foreach (var parameter in Request.Query)
            {
                allParameters.Add(parameter.Key, parameter.Value); //parameter.Value.First()
            }

            if (Request.Method.Equals(Http.Post, StringComparison.OrdinalIgnoreCase))
            {
                var keys = allParameters.AllKeys;
                foreach (var parameter in Request.Form)
                {
                    if (!keys.Contains(parameter.Key))
                    {
                        allParameters.Add(parameter.Key, parameter.Value); //parameter.Value.First()
                    }
                }

                if (Request.Form.Files != null && Request.Form.Files.Count > 0)
                {
                    stream = Request.Form.Files[0].OpenReadStream();
                }
            }

            if (allParameters["operation"].Equals("save", StringComparison.InvariantCultureIgnoreCase))
            {
                allParameters["schemecode"] = "super";
            }

            var result = _workflowService.Designer(allParameters, stream);

            if (allParameters["operation"].Equals("downloadscheme", StringComparison.InvariantCultureIgnoreCase))
            {
                return(File(Encoding.UTF8.GetBytes(result), "text/xml", "scheme.xml"));
            }

            return(Content(result));
        }