public void TestInitialize() { IUnityContainer container = new UnityContainer().LoadConfiguration(); this.validator = container.Resolve<MigrationDataValidator>(); JsonConvert.DefaultSettings = () => new JsonSerializerSettings { Formatting = Formatting.None, Converters = new JsonConverter[] { new JsonKnownTypeConverter() } }; }
/// <summary> /// Perform an import. /// </summary> /// <param name="sessionData">The session data.</param> /// <param name="migrationData">The data to import.</param> /// <param name="validator">A validator for validating data prior to import.</param> /// <returns>The import process results.</returns> public MigrationDataResults Import(SessionData sessionData, MigrationData migrationData, MigrationDataValidator validator) { MigrationDataResults validationResults = validator.Validate(migrationData); MigrationDataResults migrationResults = new MigrationDataResults(); OrganisationList allOrganisations = this.manager.GetOrganisationList(sessionData.UserId, true); Dictionary<string, string> orgMap = this.ImportOrganisations(sessionData.UserId, allOrganisations, migrationData.Organisations, validationResults, migrationResults); RoleList allRoles = this.manager.GetRoleList(sessionData.UserId); Dictionary<string, string> systemRoleMap = this.ImportRoles(sessionData.UserId, migrationData.Roles, allRoles, validationResults, migrationResults); this.ImportUsers(sessionData, migrationData.Users, allRoles, allOrganisations, systemRoleMap, orgMap, validationResults, migrationResults); this.ImportProducts(sessionData, migrationData, systemRoleMap, orgMap, validationResults, migrationResults); return migrationResults; }
/// <summary> /// Initializes a new instance of the <see cref="ApiManager" /> class. /// </summary> /// <param name="securityService">A gateway into the Security subsystem.</param> /// <param name="formGateway">A gateway into the Forms subsystem.</param> /// <param name="workbenchManager">An instance that manages Workbench operations.</param> /// <param name="migrationDataImporter">A data importer.</param> /// <param name="migrationDataValidator">An import data validator.</param> /// <param name="apiDataAccess">The API data access layer.</param> /// <param name="pdfWriterSettings">A PDF writer settings object.</param> /// <param name="pdfFilenameFormat">The PDF filename format.</param> /// <param name="stringFormatter">A string formatter.</param> public ApiManager( ISecurityService securityService, IFormServiceGateway formGateway, WorkbenchManager workbenchManager, MigrationDataImporter migrationDataImporter, MigrationDataValidator migrationDataValidator, IDataAccess apiDataAccess, PdfWriterSettings pdfWriterSettings, string pdfFilenameFormat, StringFormatter stringFormatter) { this.securityService = securityService; this.formGateway = formGateway; this.workbenchManager = workbenchManager; this.migrationDataImporter = migrationDataImporter; this.migrationDataValidator = migrationDataValidator; this.apiDataAccess = apiDataAccess; this.pdfWriterSettings = pdfWriterSettings; this.pdfFilenameFormat = pdfFilenameFormat; this.stringFormatter = stringFormatter; }