public void ThenEachCategoryContainsData() { // Build SqlConnection connection = (SqlConnection)DbConnectionFactory.Get().CreateIfNotExists("name=DefaultConnection"); SqlCommand command = connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "dbo.GetAllCategories"; // Operator connection.OpenIfNot(); IDataReader queryResult = command.ExecuteReader(); Materializer <Category> categoryMaterializer = new Materializer <Category>(queryResult); List <Category> categories = new List <Category>(); while (queryResult.Read()) { categories.Add(categoryMaterializer.Materialize(queryResult)); } // Check foreach (Category cat in categories) { AssertPropertiesAreNotNull(cat.GetType(), cat); } }
private void Run() { var config = new ConfigurationBuilder() .AddUserSecrets <Program>() .Build(); var dbConnFact = new DbConnectionFactory(config); using (var conn = dbConnFact.Get()) { Console.WriteLine($"Importing from: {_dataDirectory}"); Console.WriteLine($" into: {conn.ConnectionString}"); using (var trans = conn.BeginTransaction()) { foreach (var type in GetImportTypes()) { var method = typeof(Program).GetMethod(nameof(Load), BindingFlags.NonPublic | BindingFlags.Instance); var generic = method.MakeGenericMethod(type); generic.Invoke(this, new object[] { conn, trans }); } trans.Commit(); } Console.WriteLine("Finished!"); } }
public void ThenThrowArgumentNullException() { // Build IDbConnectionFactory factory = DbConnectionFactory.Get(); string nameOrConnectionString = string.Empty; // Operator IDbConnection connection1 = factory.CreateIfNotExists(nameOrConnectionString); }
public void ThenThrowAnException() { // Build IDbConnectionFactory factory = DbConnectionFactory.Get(); string nameOrConnectionString = "name=WrongConnection"; // Operator IDbConnection connection1 = factory.CreateIfNotExists(nameOrConnectionString); }
public void ThenCreateNewDatabaseConnection() { // Build IDbConnectionFactory factory = DbConnectionFactory.Get(); string nameOrConnectionString = "name=DefaultConnection"; // Operator IDbConnection connection1 = factory.CreateIfNotExists(nameOrConnectionString); // Check Assert.IsInstanceOfType(connection1, typeof(SqlConnection)); }
public void ThenCreateNewDatabaseConnection() { // Build IDbConnectionFactory factory = DbConnectionFactory.Get(); string nameOrConnectionString = "Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-CodeCamper.Web-20120601131139;"; // Operator IDbConnection connection1 = factory.CreateIfNotExists(nameOrConnectionString); // Check Assert.IsInstanceOfType(connection1, typeof(SqlConnection)); }
public void ThenConnection1And2AreSame() { // Build IDbConnectionFactory factory = DbConnectionFactory.Get(); string nameOrConnectionString = "Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-CodeCamper.Web-20120601131139;"; // Operator IDbConnection connection1 = factory.CreateIfNotExists(nameOrConnectionString); IDbConnection connection2 = factory.CreateIfNotExists(nameOrConnectionString); // Check Assert.AreEqual <IDbConnection>(connection1, connection2); }
public void ThenCreateDatabaseInstance() { // Build string nameOrConnectionString = "name=DefaultConnection"; IDatabase db = new Database(nameOrConnectionString, DbConnectionFactory.Get()); // Operator // Check Assert.IsNotNull(db); Assert.IsNotNull(db.ConnectionFactory); Assert.IsNotNull(db.Connection); }
public void ThenCategoryShaperIsCreated() { // Build IDbConnection connection = DbConnectionFactory.Get().CreateIfNotExists("name=DefaultConnection"); IDbCommand command = connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "dbo.GetAllCategories"; // Operator connection.OpenIfNot(); IDataReader queryResult = command.ExecuteReader(); Materializer <Category> categoryMaterializer = new Materializer <Category>(queryResult); // Check Assert.IsInstanceOfType(categoryMaterializer, typeof(Materializer <Category>)); }
public void ThenCollectionOfCategoriesReturned() { // Build SqlConnection connection = (SqlConnection)DbConnectionFactory.Get().CreateIfNotExists("name=DefaultConnection"); SqlCommand command = connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "dbo.GetAllCategories"; // Operator connection.OpenIfNot(); IDataReader queryResult = command.ExecuteReader(); Materializer <Category> categoryMaterializer = new Materializer <Category>(queryResult); List <Category> categories = new List <Category>(); while (queryResult.Read()) { categories.Add(categoryMaterializer.Materialize(queryResult)); } // Check Assert.IsTrue(categories.Any()); }
public void ThenEmptyCategoryCollectionIsReturned() { // Build SqlConnection connection = (SqlConnection)DbConnectionFactory.Get().CreateIfNotExists("name=DefaultConnection"); SqlCommand command = connection.CreateCommand(); command.CommandType = CommandType.StoredProcedure; command.CommandText = "dbo.GetCategory"; command.Parameters.AddWithValue("Id", SomeCategoryId); // Operator connection.OpenIfNot(); IDataReader queryResult = command.ExecuteReader(); Materializer <Category> categoryMaterializer = new Materializer <Category>(queryResult); List <Category> categories = new List <Category>(); while (queryResult.Read()) { categories.Add(categoryMaterializer.Materialize(queryResult)); } // Check Assert.IsTrue(categories.Count() == 0); }
private void Run() { var dbConnFact = new DbConnectionFactory(_config); using (var conn = dbConnFact.Get()) { Console.WriteLine($"Importing data:"); Console.WriteLine($" from: {NHSD.GPITF.BuyingCatalog.Settings.GIF_CRM_URL(_config)}"); Console.WriteLine($" into: {conn.ConnectionString}"); Console.WriteLine(); Console.WriteLine($"Retrieving data from CRM:"); #region NHSD data Console.WriteLine($" Frameworks..."); var frameworksSvc = new FrameworksService(_repo); var frameworks = frameworksSvc .GetAll() .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" Capabilities..."); var capsSvc = new CapabilitiesService(_repo); var caps = capsSvc .GetAll() .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" Standards..."); var stdsSvc = new StandardsService(_repo); var stds = stdsSvc .GetAll() .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" TODO CapabilityFramework..."); Console.WriteLine($" TODO FrameworkStandard..."); Console.WriteLine($" CapabilityStandard..."); var capsStdsSvc = new CapabilitiesStandardService(_repo); var capsStds = capsStdsSvc .GetAll() .Select(x => Converter.FromCrm(x)) .ToList(); #endregion #region Supplier data Console.WriteLine($" Organisations..."); var orgsSvc = new OrganisationsService(_repo); var orgs = orgsSvc .GetAll() .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" Contacts..."); var contactsSvc = new ContactsService(_repo); var contacts = orgs .SelectMany(org => contactsSvc.ByOrganisation(org.Id)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" Solutions..."); var solnsSvc = new SolutionsService(_repo); var solns = orgs .SelectMany(org => solnsSvc.ByOrganisation(org.Id)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" TechnicalContact..."); var techContSvc = new TechnicalContactService(_repo); var techConts = solns .SelectMany(soln => techContSvc.BySolution(soln.Id)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" TODO FrameworkSolution..."); Console.WriteLine($" ClaimedCapability..."); var claimedCapsSvc = new CapabilitiesImplementedService(_repo); var claimedCaps = solns .SelectMany(soln => claimedCapsSvc.BySolution(soln.Id)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" ClaimedStandard..."); var claimedStdsSvc = new StandardsApplicableService(_repo); var claimedStds = solns .SelectMany(soln => claimedStdsSvc.BySolution(soln.Id)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" ClaimedCapabilityEvidence..."); var claimedCapsEvSvc = new CapabilitiesImplementedEvidenceService(_repo); var claimedCapsEv = claimedCaps .SelectMany(claim => claimedCapsEvSvc.ByClaim(claim.Id).SelectMany(x => x)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" ClaimedStandardEvidence..."); var claimedStdsEvSvc = new StandardsApplicableEvidenceService(_repo); var claimedStdsEv = claimedStds .SelectMany(claim => claimedStdsEvSvc.ByClaim(claim.Id).SelectMany(x => x)) .Select(x => Converter.FromCrm(x)) .ToList(); Console.WriteLine($" ClaimedCapabilityReview..."); var claimedCapsRevSvc = new CapabilitiesImplementedReviewsService(_repo); var claimedCapsRev = claimedCapsEv .SelectMany(ev => claimedCapsRevSvc.ByEvidence(ev.Id).SelectMany(x => x)) .Select(x => Converter.CapabilitiesImplementedReviewsFromCrm(x)) .ToList(); Console.WriteLine($" ClaimedStandardReview..."); var claimedStdsRevSvc = new StandardsApplicableReviewsService(_repo); var claimedStdsRev = claimedStdsEv .SelectMany(ev => claimedStdsRevSvc.ByEvidence(ev.Id).SelectMany(x => x)) .Select(x => Converter.StandardsApplicableReviewsFromCrm(x)) .ToList(); #endregion Console.WriteLine(); Console.WriteLine($"Importing data into datastore..."); using (var trans = conn.BeginTransaction()) { // NHSD data conn.Insert(frameworks, trans); conn.Insert(caps, trans); conn.Insert(stds, trans); conn.Insert(capsStds, trans); // Supplier data conn.Insert(orgs, trans); conn.Insert(contacts, trans); conn.Insert(solns, trans); conn.Insert(techConts, trans); conn.Insert(claimedCaps, trans); conn.Insert(claimedStds, trans); conn.Insert(GetInsertionTree(claimedCapsEv), trans); conn.Insert(GetInsertionTree(claimedStdsEv), trans); conn.Insert(GetInsertionTree(claimedCapsRev), trans); conn.Insert(GetInsertionTree(claimedStdsRev), trans); trans.Commit(); } Console.WriteLine("Finished!"); } }