private static void CloseAssets() { int assetCount = 0; if (_config.AssetsToMigrate.Find(i => i.Name == "ListTypes").Enabled == true) { _logger.Info("Closing list types."); ImportListTypes listTypes = new ImportListTypes(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = listTypes.CloseListTypes(); _logger.Info("-> Closed {0} list types.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Members").Enabled == true) { _logger.Info("Closing members."); ImportMembers members = new ImportMembers(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = members.CloseMembers(); _logger.Info("-> Closed {0} members.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Teams").Enabled == true) { _logger.Info("Closing teams."); ImportTeams teams = new ImportTeams(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = teams.CloseTeams(); _logger.Info("-> Closed {0} teams.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Goals").Enabled == true) { _logger.Info("Closing goals."); ImportGoals goals = new ImportGoals(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = goals.CloseGoals(); _logger.Info("-> Closed {0} goals.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "FeatureGroups").Enabled == true) { _logger.Info("Closing feature groups."); ImportFeatureGroups featureGroups = new ImportFeatureGroups(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = featureGroups.CloseFeatureGroups(); _logger.Info("-> Closed {0} feature groups.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Requests").Enabled == true) { _logger.Info("Closing requests."); ImportRequests requests = new ImportRequests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = requests.CloseRequests(); _logger.Info("-> Closed {0} requests.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Issues").Enabled == true) { _logger.Info("Closing issues."); ImportIssues issues = new ImportIssues(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = issues.CloseIssues(); _logger.Info("-> Closed {0} issues.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Tests").Enabled == true) { _logger.Info("Closing tests."); ImportTests tests = new ImportTests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = tests.CloseTests(); _logger.Info("-> Closed {0} tests.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "RegressionTests").Enabled == true) { _logger.Info("Closing regression tests."); ImportRegressionTests tests = new ImportRegressionTests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = tests.CloseRegressionTests(); _logger.Info("-> Closed {0} regression tests.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Tasks").Enabled == true) { _logger.Info("Closing tasks."); ImportTasks tasks = new ImportTasks(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = tasks.CloseTasks(); _logger.Info("-> Closed {0} tasks.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Defects").Enabled == true) { _logger.Info("Closing defects."); ImportDefects defects = new ImportDefects(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = defects.CloseDefects(); _logger.Info("-> Closed {0} defects.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Stories").Enabled == true) { _logger.Info("Closing stories."); ImportStories stories = new ImportStories(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = stories.CloseStories(); _logger.Info("-> Closed {0} stories.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Epics").Enabled == true) { _logger.Info("Closing epics."); ImportEpics epics = new ImportEpics(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = epics.CloseEpics(); _logger.Info("-> Closed {0} epics.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Iterations").Enabled == true) { _logger.Info("Closing iterations."); ImportIterations iterations = new ImportIterations(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = iterations.CloseIterations(); _logger.Info("-> Closed {0} iterations.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Schedules").Enabled == true) { _logger.Info("Closing schedules."); ImportSchedules schedules = new ImportSchedules(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = schedules.CloseSchedules(); _logger.Info("-> Closed {0} schedules.", assetCount); } if (_config.AssetsToMigrate.Find(i => i.Name == "Projects").Enabled == true) { _logger.Info("Closing projects."); ImportProjects projects = new ImportProjects(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = projects.CloseProjects(); _logger.Info("-> Closed {0} projects.", assetCount); } }
private static void ImportAssets() { foreach (MigrationConfiguration.AssetInfo asset in _config.AssetsToMigrate) { int assetCount = 0; switch (asset.Name) { case "ListTypes": if (asset.Enabled == true) { _logger.Info("Importing list types."); ImportListTypes listTypes = new ImportListTypes(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = listTypes.Import(); _logger.Info("-> Imported {0} list types.", assetCount); } break; case "Members": if (asset.Enabled == true) { _logger.Info("Importing members."); ImportMembers members = new ImportMembers(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = members.Import(); _logger.Info("-> Imported {0} members.", assetCount); } break; case "MemberGroups": if (asset.Enabled == true) { _logger.Info("Importing member groups."); ImportMemberGroups memberGroups = new ImportMemberGroups(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = memberGroups.Import(); _logger.Info("-> Imported {0} member groups.", assetCount); } break; case "Teams": if (asset.Enabled == true) { _logger.Info("Importing teams."); ImportTeams teams = new ImportTeams(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = teams.Import(); _logger.Info("-> Imported {0} teams.", assetCount); } break; case "Schedules": if (asset.Enabled == true) { _logger.Info("Importing schedules."); ImportSchedules schedules = new ImportSchedules(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = schedules.Import(); _logger.Info("-> Imported {0} schedules.", assetCount); } break; case "Projects": if (asset.Enabled == true) { _logger.Info("Importing projects."); ImportProjects projects = new ImportProjects(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = projects.Import(); _logger.Info("-> Imported {0} projects.", assetCount); if (_config.V1Configurations.SetAllMembershipToRoot == true) { assetCount = projects.SetMembershipToRoot(); _logger.Info("-> Imported {0} project memberships to target root project.", assetCount); } } break; case "Programs": if (asset.Enabled == true) { _logger.Info("Importing programs."); ImportPrograms programs = new ImportPrograms(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = programs.Import(); _logger.Info("-> Imported {0} programs.", assetCount); } break; case "Iterations": if (asset.Enabled == true) { _logger.Info("Importing iterations."); ImportIterations iterations = new ImportIterations(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = iterations.Import(); _logger.Info("-> Imported {0} iterations.", assetCount); } break; case "Goals": if (asset.Enabled == true) { _logger.Info("Importing goals."); ImportGoals goals = new ImportGoals(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = goals.Import(); _logger.Info("-> Imported {0} goals.", assetCount); } break; case "FeatureGroups": if (asset.Enabled == true) { _logger.Info("Importing feature groups."); ImportFeatureGroups featureGroups = new ImportFeatureGroups(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = featureGroups.Import(); _logger.Info("-> Imported {0} feature groups.", assetCount); if (asset.EnableCustomFields == true) { ImportCustomFields custom = new ImportCustomFields(_sqlConn, _targetMetaAPI, _targetDataAPI, _config, asset.Name); assetCount = custom.Import(); _logger.Debug("-> Imported {0} feature group custom fields.", assetCount); } } break; case "Requests": if (asset.Enabled == true) { _logger.Info("Importing requests."); ImportRequests requests = new ImportRequests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = requests.Import(); _logger.Info("-> Imported {0} requests.", assetCount); } break; case "Issues": if (asset.Enabled == true) { _logger.Info("Importing issues."); ImportIssues issues = new ImportIssues(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = issues.Import(); _logger.Info("-> Imported {0} issues.", assetCount); } break; case "Epics": if (asset.Enabled == true) { _logger.Info("Importing epics."); ImportEpics epics = new ImportEpics(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = epics.Import(); _logger.Info("-> Imported {0} epics.", assetCount); if (asset.EnableCustomFields == true) { ImportCustomFields custom = new ImportCustomFields(_sqlConn, _targetMetaAPI, _targetDataAPI, _config, asset.Name); assetCount = custom.Import(); _logger.Debug("-> Imported {0} epic custom fields.", assetCount); } } break; case "Stories": if (asset.Enabled == true) { _logger.Info("Importing stories."); ImportStories stories = new ImportStories(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = stories.Import(); _logger.Info("-> Imported {0} stories.", assetCount); if (asset.EnableCustomFields == true) { ImportCustomFields custom = new ImportCustomFields(_sqlConn, _targetMetaAPI, _targetDataAPI, _config, asset.Name); assetCount = custom.Import(); _logger.Debug("-> Imported {0} story custom fields.", assetCount); } } break; case "Defects": if (asset.Enabled == true) { _logger.Info("Importing defects."); ImportDefects defects = new ImportDefects(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = defects.Import(); _logger.Info("-> Imported {0} defects.", assetCount); if (asset.EnableCustomFields == true) { ImportCustomFields custom = new ImportCustomFields(_sqlConn, _targetMetaAPI, _targetDataAPI, _config, asset.Name); assetCount = custom.Import(); _logger.Debug("-> Imported {0} defect custom fields.", assetCount); } } break; case "Tasks": if (asset.Enabled == true) { _logger.Info("Importing tasks."); ImportTasks tasks = new ImportTasks(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = tasks.Import(); _logger.Info("-> Imported {0} tasks.", assetCount); if (asset.EnableCustomFields == true) { ImportCustomFields custom = new ImportCustomFields(_sqlConn, _targetMetaAPI, _targetDataAPI, _config, asset.Name); assetCount = custom.Import(); _logger.Debug("-> Imported {0} task custom fields.", assetCount); } } break; case "Tests": if (asset.Enabled == true) { _logger.Info("Importing tests."); ImportTests tests = new ImportTests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = tests.Import(); _logger.Info("-> Imported {0} tests.", assetCount); if (asset.EnableCustomFields == true) { ImportCustomFields custom = new ImportCustomFields(_sqlConn, _targetMetaAPI, _targetDataAPI, _config, asset.Name); assetCount = custom.Import(); _logger.Debug("-> Imported {0} test custom fields.", assetCount); } } break; case "OrphanedTests": if (asset.Enabled == true) { _logger.Info("Importing orphaned tests."); ImportOrphanedTests orphanedTests = new ImportOrphanedTests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = orphanedTests.Import(); _logger.Info("-> Imported {0} orphaned tests.", assetCount); } break; case "RegressionTests": if (asset.Enabled == true) { _logger.Info("Importing regression tests."); ImportRegressionTests regressionTests = new ImportRegressionTests(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = regressionTests.Import(); _logger.Info("-> Imported {0} regression tests.", assetCount); } break; case "Actuals": if (asset.Enabled == true) { _logger.Info("Importing actuals."); ImportActuals actuals = new ImportActuals(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = actuals.Import(); _logger.Info("-> Imported {0} actuals.", assetCount); } break; case "Links": if (asset.Enabled == true) { _logger.Info("Importing links."); ImportLinks links = new ImportLinks(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = links.Import(); _logger.Info("-> Imported {0} links.", assetCount); } break; case "Conversations": if (asset.Enabled == true) { _logger.Info("Importing conversations."); ImportConversations conversations = new ImportConversations(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); assetCount = conversations.Import(); _logger.Info("-> Imported {0} conversations.", assetCount); } break; case "Attachments": if (asset.Enabled == true) { _logger.Info("Importing attachments."); ImportAttachments attachments = new ImportAttachments(_sqlConn, _targetMetaAPI, _targetDataAPI, _targetImageConnector, _config); if (String.IsNullOrEmpty(_config.V1Configurations.ImportAttachmentsAsLinksURL) == true) { assetCount = attachments.Import(); _logger.Info("-> Imported {0} attachments.", assetCount); } else { assetCount = attachments.ImportAttachmentsAsLinks(); _logger.Info("-> Imported {0} attachments as links.", assetCount); } } break; default: break; } } // Dependencies _logger.Info("Setting Releationships and Dependencies."); ImportStories processStories = new ImportStories(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); processStories.SetStoryDependencies(); ImportDefects processDefects = new ImportDefects(_sqlConn, _targetMetaAPI, _targetDataAPI, _config); processDefects.SetDefectDependencies(); processDefects.SetDefectRelationships(); }