コード例 #1
0
        public SalesforceResult CreateEvents(ConfigurationModel model)
        {
            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Add("User-Agent", "Deploy2Org");
            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + _sfToken);

            var compositeRequest = new SalesforceCompositeRequest()
            {
                allOrNone        = true,
                compositeRequest = new List <CompositeSubrequest>()
            };

            int ix = 0;

            foreach (var eItem in model.Events)
            {
                ix++;
                string eventName  = System.IO.Path.GetFileNameWithoutExtension(eItem.name);
                var    bundleBody = new AuraDefinitionBundle()
                {
                    ApiVersion    = Double.Parse(model.APIVersion.Replace("v", "")),
                    Description   = eventName,
                    DeveloperName = eventName,
                    MasterLabel   = eventName
                };
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method      = "POST",
                    body        = bundleBody,
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinitionBundle/",
                    referenceId = "aura_bundle_" + ix
                });
                //event
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle_" + ix + ".id}",
                        DefType = "EVENT",
                        Format  = "XML",
                        Source  = eItem.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_event_" + ix
                });
            }

            var content = new StringContent(JsonSerializer.Serialize(compositeRequest), Encoding.UTF8, "application/json");

            var response = client.PostAsync(_sfUrl + "tooling/composite", content).Result;

            return(new SalesforceResult()
            {
                StatusCode = response.StatusCode,
                BodyContent = response.Content.ReadAsStringAsync().Result
            });
        }
コード例 #2
0
        public SalesforceResult UploadComponent(ConfigurationModel model)
        {
            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Add("User-Agent", "Deploy2Org");
            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + _sfToken);

            var compositeRequest = new SalesforceCompositeRequest()
            {
                allOrNone        = true,
                compositeRequest = new List <CompositeSubrequest>()
            };


            var bundleBody = new AuraDefinitionBundle()
            {
                ApiVersion    = Double.Parse(model.APIVersion.Replace("v", "")),
                Description   = model.ComponentName,
                DeveloperName = model.ComponentName,
                MasterLabel   = model.ComponentName
            };

            compositeRequest.compositeRequest.Add(new CompositeSubrequest()
            {
                method      = "POST",
                body        = bundleBody,
                url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinitionBundle/",
                referenceId = "aura_bundle"
            });

            //component
            compositeRequest.compositeRequest.Add(new CompositeSubrequest()
            {
                method = "POST",
                body   = new AuraDefinition()
                {
                    AuraDefinitionBundleId = "@{aura_bundle.id}",
                    DefType = "COMPONENT",
                    Format  = "XML",
                    Source  = model.Component.fileContent()
                },
                url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                referenceId = "aura_component"
            });
            //controller
            if (model.Controller != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "CONTROLLER",
                        Format  = "JS",
                        Source  = model.Controller.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_controller"
                });
            }
            //helper
            if (model.Helper != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "HELPER",
                        Format  = "JS",
                        Source  = model.Helper.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_helper"
                });
            }
            //style
            if (model.Style != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "STYLE",
                        Format  = "CSS",
                        Source  = model.Style.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_style"
                });
            }
            //documentation
            if (model.Documentation != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "DOCUMENTATION",
                        Format  = "XML",
                        Source  = model.Documentation.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_documentation"
                });
            }
            //renderer
            if (model.Renderer != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "RENDERER",
                        Format  = "JS",
                        Source  = model.Renderer.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_renderer"
                });
            }
            //design
            if (model.Design != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "DESIGN",
                        Format  = "XML",
                        Source  = model.Design.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_design"
                });
            }
            //design
            if (model.SVG != null)
            {
                compositeRequest.compositeRequest.Add(new CompositeSubrequest()
                {
                    method = "POST",
                    body   = new AuraDefinition()
                    {
                        AuraDefinitionBundleId = "@{aura_bundle.id}",
                        DefType = "SVG",
                        Format  = "XML",
                        Source  = model.SVG.fileContent()
                    },
                    url         = "/services/data/" + _sfVersion + "/tooling/sobjects/AuraDefinition/",
                    referenceId = "aura_svg"
                });
            }


            var content = new StringContent(JsonSerializer.Serialize(compositeRequest), Encoding.UTF8, "application/json");

            var response = client.PostAsync(_sfUrl + "tooling/composite", content).Result;

            //need to parse the response to identify errors
            return(new SalesforceResult()
            {
                StatusCode = response.StatusCode,
                BodyContent = response.Content.ReadAsStringAsync().Result
            });
        }