protected override void LoadDialogExtention() { //okay lets load the spreadsheet //and if there are any error display them //else continue var dictionary = ImportExcelService.LoadMappingDictionary(Request); var importService = new SpreadsheetImportService(XrmRecordService); var parseResponse = importService.ParseIntoEntities(dictionary); if (parseResponse.ResponseItems.Any()) { AddObjectToUi(parseResponse , cancelAction: Controller.Close , nextAction: () => { RemoveObjectFromUi(parseResponse); StartNextAction(); } , nextActionLabel: "Import" , backAction: () => { RemoveObjectFromUi(parseResponse); MoveBackToPrevious(); }); } else { StartNextAction(); } }
public override void ExecuteExtention(ImportExcelRequest request, ImportExcelResponse response, ServiceRequestController controller) { var dictionary = LoadMappingDictionary(request); var importService = new SpreadsheetImportService(XrmRecordService); var responseItems = importService.DoImport(dictionary, request.MaskEmails, request.MatchRecordsByName, request.UpdateOnly, controller); response.LoadSpreadsheetImport(responseItems); }
public override void ExecuteExtention(ImportCsvsRequest request, ImportCsvsResponse response, ServiceRequestController controller) { var dictionary = LoadMappingDictionary(request); var importService = new SpreadsheetImportService(XrmRecordService); var responseItem = importService.DoImport(dictionary, request.MaskEmails, request.MatchByName, request.UpdateOnly, controller, useAmericanDates: request.DateFormat == DateFormat.American); response.LoadSpreadsheetImport(responseItem); }
public override void ExecuteExtention(ImportCsvsRequest request, ImportCsvsResponse response, ServiceRequestController controller) { controller.Controller.UpdateProgress(0, 1, "Loading Records For Import"); var dictionary = LoadMappingDictionary(request); var importService = new SpreadsheetImportService(XrmRecordService); var responseItem = importService.DoImport(dictionary, request.MaskEmails, request.MatchByName, request.UpdateOnly, controller, useAmericanDates: request.DateFormat == DateFormat.American); response.Connection = XrmRecordService.XrmRecordConfiguration; response.LoadSpreadsheetImport(responseItem); response.Message = "The Import Process Has Completed"; }
public override void ExecuteExtention(ImportExcelRequest request, ImportExcelResponse response, ServiceRequestController controller) { controller.Controller.UpdateProgress(0, 1, "Loading Records For Import"); var dictionary = LoadMappingDictionary(request, controller.Controller); var importService = new SpreadsheetImportService(XrmRecordService); var responseItems = importService.DoImport(dictionary, request.MaskEmails, request.MatchRecordsByName, request.UpdateOnly, controller, executeMultipleSetSize: request.ExecuteMultipleSetSize, targetCacheLimit: request.TargetCacheLimit); response.Connection = XrmRecordService.XrmRecordConfiguration; response.LoadSpreadsheetImport(responseItems); response.Message = "The Import Process Has Completed"; }
public override void ExecuteExtention(ImportSqlRequest request, ImportSqlResponse response, ServiceRequestController controller) { Exception tempEx = null;; try { controller.Controller.UpdateProgress(0, 1, "Loading Records For Import"); var dictionary = LoadMappingDictionary(request); var importService = new SpreadsheetImportService(XrmRecordService); var responseItems = importService.DoImport(dictionary, request.MaskEmails, request.MatchRecordsByName, request.UpdateOnly, controller); response.LoadSpreadsheetImport(responseItems); } catch (Exception ex) { tempEx = ex; throw; } finally { if (request.SendNotificationAtCompletion && (!request.OnlySendNotificationIfError || tempEx != null || response.HasResponseItemError)) { try { //todo place the html generator somewhere appropriate var htmlGenerator = new HtmlEmailGenerator(); //okay lets try create an email with the summary //plus perhaps a log of the errors if (tempEx != null) { htmlGenerator.AppendParagraph(tempEx.XrmDisplayString()); } htmlGenerator.WriteObject(response); var subject = $"Sql Import '{request.Name ?? "No Name"}'"; if (tempEx != null) { subject = subject + " Fatal Error"; } else if (response.HasResponseItemError) { subject = subject + " Completed With Errors"; } else { subject = subject + " Completed"; } XrmRecordService.SendEmail(request.SendNotificationFromQueue, request.SendNotificationToQueue , subject.Left(XrmRecordService.GetMaxLength(Fields.email_.subject, Entities.email)) , htmlGenerator.GetContent()); } catch (Exception ex) { response.AddResponseItem(new ImportSqlResponseItem(new DataImportResponseItem("Error Sending Notification Email", ex))); } } } }