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 }); }
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 }); }