Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }