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