public async Task <string> Import([FromBody] DIXFEntity entity) { HttpResponseMessage responseMsg = Request.CreateResponse(HttpStatusCode.OK); //string relativeUri = string.Format(@"{0}", executionId); //responseMsg.Headers.Location = new Uri(Request.RequestUri, relativeUri); if (entity == null) { return(string.Empty); } /*uri = new Uri("https://dev-matt-3devaos.cloudax.dynamics.com/data"); * * var context = new Resources(uri); * context.SendingRequest2 += new EventHandler<SendingRequest2EventArgs>(delegate (object sender, SendingRequest2EventArgs e) * { * e.RequestMessage.SetHeader("Authorization", AXUtilities.AuthorizationHeader); * }); * * var myendpoint = from EndPoint in context.IntegrationDataProjectEndpoints * where EndPoint.LegacySourceEndpointId == entity.SourceEndpointId * select EndPoint; */ string entityName = "Customer groups";// myendpoint.First().EntityName; AXUtilities axUtil = new AXUtilities(); UriBuilder enqueueUri = new UriBuilder(ClientConfiguration.Default.ActiveDirectoryResource); string activityId = "bd2578ac-9690-4b93-908e-ccfb3b786f42";//myendpoint.First().ActivityId.ToString(); enqueueUri.Path = string.Format(@"api/connector/enqueue/{0}", activityId); string enqueueQuery = string.Format("entity={0}", entityName); string company = "wcf";//myendpoint.First().Company if (!string.IsNullOrEmpty(company)) { enqueueQuery += "&company=" + company; } enqueueUri.Query = enqueueQuery; HttpResponseMessage response = null; using (Stream bodyStream = GenerateStreamFromString(entity.FileContent)) { response = axUtil.SendPostRequest(enqueueUri.Uri, AXUtilities.AuthorizationHeader, bodyStream, null, null); } var messageId = await response.Content.ReadAsStringAsync(); return(messageId); }
public async Task <string> Import([FromBody] DIXFEntity entity) { HttpResponseMessage responseMsg = Request.CreateResponse(HttpStatusCode.OK); //string relativeUri = string.Format(@"{0}", executionId); //responseMsg.Headers.Location = new Uri(Request.RequestUri, relativeUri); if (entity == null) { return(string.Empty); } string[] folderSegments = entity.Name.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); if (folderSegments.Length < 1) { return(string.Empty); } string entityName = folderSegments[folderSegments.Length - 2]; AXUtilities axUtil = new AXUtilities(); UriBuilder enqueueUri = new UriBuilder(ClientConfiguration.Default.ActiveDirectoryResource); string activityId = string.Empty; switch (entityName) { case "Fleet Management Customers": activityId = ClientConfiguration.Default.CustomerImportActivityId; break; case "Fleet Management Rentals": activityId = ClientConfiguration.Default.RentalImportActivityId; break; } enqueueUri.Path = string.Format(@"api/connector/enqueue/{0}", activityId); string enqueueQuery = string.Format("entity={0}", entityName); enqueueUri.Query = enqueueQuery; HttpResponseMessage response = null; using (Stream bodyStream = GenerateStreamFromString(entity.FileContent)) { response = axUtil.SendPostRequest(enqueueUri.Uri, AXUtilities.AuthorizationHeader, bodyStream, null, null); } var messageId = await response.Content.ReadAsStringAsync(); return(messageId); }