Ejemplo n.º 1
0
        private void DeployPackage(DeployPackageRequest request, ServiceRequestController controller, DeployPackageResponse response)
        {
            var xrmRecordService = new XrmRecordService(request.Connection, controller.Controller);
            var packageFolder    = request.FolderContainingPackage.FolderPath;
            var solutionFiles    = Directory.GetFiles(packageFolder, "*.zip")
                                   .OrderBy(s => s)
                                   .ToArray();

            var importItems = ImportSolutions(solutionFiles, controller.Controller, xrmRecordService);

            response.Connection = request.Connection;
            response.AddResponseItems(importItems.Select(it => new DataImportResponseItem(it.Type, null, it.Name, null, $"{it.Result} - {it.ErrorCode} - {it.ErrorText}", null, it.GetUrl())));

            foreach (var childFolder in Directory.GetDirectories(packageFolder))
            {
                if (new DirectoryInfo(childFolder).Name == "Data")
                {
                    var dataImportService = new ImportXmlService(xrmRecordService);
                    var importResponse    = new ImportXmlResponse();
                    dataImportService.ImportXml(childFolder, controller, importResponse);
                    response.LoadImportxmlResponse(importResponse);
                }
            }

            response.Message = $"The Package Has Been Deployed Into {request.Connection}";
        }
        private void DeployPackage(DeployPackageRequest request, LogController controller, ServiceResponseBase <DataImportResponseItem> response)
        {
            var xrmRecordService = new XrmRecordService(request.Connection, controller);
            var packageFolder    = request.FolderContainingPackage.FolderPath;
            var solutionFiles    = Directory.GetFiles(packageFolder, "*.zip");

            ImportSolutions(solutionFiles, controller, xrmRecordService);

            foreach (var childFolder in Directory.GetDirectories(packageFolder))
            {
                if (new DirectoryInfo(childFolder).Name == "Data")
                {
                    var dataImportService = new ImportXmlService(xrmRecordService);
                    var importResponse    = new ImportXmlResponse();
                    dataImportService.ImportXml(childFolder, controller, importResponse);
                    if (importResponse.Exception != null)
                    {
                        response.AddResponseItem(new DataImportResponseItem("Fatal Data Import Error", importResponse.Exception));
                    }
                    foreach (var item in importResponse.ResponseItems)
                    {
                        response.AddResponseItem(item);
                    }
                }
            }
        }
        private void DeployPackage(DeployPackageRequest request, ServiceRequestController controller, DeployPackageResponse response)
        {
            var xrmRecordService = new XrmRecordService(request.Connection, controller.Controller, XrmServiceFactory);
            var packageFolder    = request.FolderContainingPackage.FolderPath;
            var solutionFiles    = Directory.GetFiles(packageFolder, "*.zip")
                                   .OrderBy(s => s)
                                   .ToArray();

            var importSolutionResponse = ImportSolutions(solutionFiles, controller.Controller, xrmRecordService);

            response.Connection = request.Connection;
            response.LoadImportSolutionsResponse(importSolutionResponse);

            if (!importSolutionResponse.Success)
            {
                response.Message = $"There was an error importing the solution during deployment";
            }
            else
            {
                foreach (var childFolder in Directory.GetDirectories(packageFolder))
                {
                    if (new DirectoryInfo(childFolder).Name == "Data")
                    {
                        var dataImportService = new ImportXmlService(xrmRecordService);
                        var importResponse    = new ImportXmlResponse();
                        dataImportService.ImportXml(request, controller, importResponse, executeMultipleSetSize: 10, targetCacheLimit: 200);
                        response.LoadImportxmlResponse(importResponse);
                    }
                }
                response.Message = $"The Package Has Been Deployed Into {request.Connection}";
            }
        }
Ejemplo n.º 4
0
        public override void ExecuteExtention(ImportRecordsRequest request, ImportRecordsResponse response,
                                              ServiceRequestController controller)
        {
            //just use the method in ImportXmlService to do the import
            var xrmRecordService  = new XrmRecordService(request.Connection, ConnectionFactory);
            var service           = new ImportXmlService(xrmRecordService);
            var importXmlResponse = new ImportXmlResponse();

            service.ImportXml(request, controller, importXmlResponse, executeMultipleSetSize: 10, targetCacheLimit: 200);
            response.LoadDataImport(importXmlResponse);
        }