public void GetOrganizationsOnly_7OrganizationsInDB_Returns7Organizations()
        {
            //Arrange

            var connectionStringBuilder = new SqliteConnectionStringBuilder {
                DataSource = ":memory:"
            };

            var connection = new SqliteConnection(connectionStringBuilder.ToString());

            var options = new DbContextOptionsBuilder <OrganizationsContext>()
                          .UseLoggerFactory(new LoggerFactory(
                                                new [] { new LogToActionLoggerProvider((log => { _output.WriteLine(log); })) }))
                          .UseSqlite(connection)
                          .Options;

            //This code is for setting InMemory Database
            //var options = new DbContextOptionsBuilder<OrganizationsContext>()
            //    .UseInMemoryDatabase($"OrganizationInMemoryDBForTesting{Guid.NewGuid()}")
            //    .Options;

            var mappingConfig = TestHelpers.SetMapper();

            IMapper mapper = mappingConfig.CreateMapper();


            using (var context = new OrganizationsContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                Helpers.TestHelpers.AddFiveOrganizations(context);
            }

            var organizationResourceParameters = new OrganizationResourceParameters()
            {
                PageSize    = 5,
                CurrentPage = 1
            };

            using (var context = new OrganizationsContext(options))
            {
                //Act
                var organizationRepository = new OrganizationsRepository(context, mapper, new PropertyMappingService());
                var organizations          = organizationRepository.GetOrganizationsOnly();
                //Assert
                Assert.Equal(7, organizations.Count());
            }
        }
        public static void AddOrganization(Organization org)
        {
            var context = new OrganizationsContext();

            using (context)
            {
                if (context.Organizations.Where(o => o.Name == org.Name).FirstOrDefault() == null)
                {
                    context.Organizations.Add(org);
                    context.SaveChanges();
                    Console.WriteLine($"{org.Name.ToUpper()} added to the database successfully!");
                }
                else
                {
                    Console.WriteLine($"Organization {org.Name} is already in the Organization database! Org. NOT added.");
                }
            }
        }
        public void GetOrganizations_PageSizeIsThreeAndCurrentPageIsTwo_ReturnThreeOrganizations()
        {
            //Arrange

            var connectionStringBuilder = new SqliteConnectionStringBuilder {
                DataSource = ":memory:"
            };
            var connection = new SqliteConnection(connectionStringBuilder.ToString());
            var options    = new DbContextOptionsBuilder <OrganizationsContext>().UseSqlite(connection).Options;

            //var options = new DbContextOptionsBuilder<OrganizationsContext>()
            //    .UseInMemoryDatabase($"OrganizationInMemoryDBForTesting{Guid.NewGuid()}")
            //    .Options;

            var mappingConfig = TestHelpers.SetMapper();

            IMapper mapper = mappingConfig.CreateMapper();


            using (var context = new OrganizationsContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();

                Helpers.TestHelpers.AddFiveOrganizations(context);
            }

            var organizationResourceParameters = new OrganizationResourceParameters()
            {
                PageSize    = 3,
                CurrentPage = 1
            };

            using (var context = new OrganizationsContext(options))
            {
                var organizationRepository = new OrganizationsRepository(context, mapper, new PropertyMappingService());
                var organizations          = organizationRepository.GetOrganizations(organizationResourceParameters).Result;


                //Assert
                Assert.Equal(3, organizations.TotalPages);
                Assert.Equal(7, organizations.TotalCount);
            }
        }
        public void ApplySort_3Organizations_ReturnInExpectedOrder()
        {
            //Arrange

            var connectionStringBuilder = new SqliteConnectionStringBuilder {
                DataSource = ":memory:"
            };

            var connection = new SqliteConnection(connectionStringBuilder.ToString());

            var options = new DbContextOptionsBuilder <OrganizationsContext>()
                          .UseLoggerFactory(new LoggerFactory(
                                                new[] { new LogToActionLoggerProvider((log => { _output.WriteLine(log); })) }))
                          .UseSqlite(connection)
                          .Options;
            var mappingConfig = TestHelpers.SetMapper();

            IMapper mapper = mappingConfig.CreateMapper();


            using (var context = new OrganizationsContext(options))
            {
                context.Database.OpenConnection();
                context.Database.EnsureCreated();
                Helpers.TestHelpers.AddFiveOrganizations(context);

                var organizationResourceParameters = new OrganizationResourceParameters {
                    OrderBy = "Name desc"
                };
                Assert.Equal("Organization1", context.Organizations.First().Name);

                var orderedOrganizations = context.Organizations.ApplySort(organizationResourceParameters.OrderBy,
                                                                           _propertyMappingService.GetPropertyMapping <OrganizationDto, Organization>());

                //Assert
                Assert.Equal("Organization2", orderedOrganizations.First().Name);
                Assert.Equal("Org1", orderedOrganizations.Last().Name);
            }
        }
 public UserRepository(OrganizationsContext dbContext)
 {
     _dbContext = dbContext;
 }
Example #6
0
 public PhonesRepository(OrganizationsContext context, IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
 public StateProvinceRepository(OrganizationsContext dbContext)
 {
     _dbContext = dbContext;
 }
 public OrganizationsController(OrganizationsContext context)
 {
     _context = context;
 }
        public static void AddFiveOrganizations(OrganizationsContext context)
        {
            var newGuid = Guid.NewGuid();

            context.Phones.Add(new Phone()
            {
                PhoneNumber    = "(111) 111-1111",
                OrganizationId = newGuid
            });
            context.Addresses.Add(new Address()
            {
                Address1       = "Address1 Organization1",
                City           = "Kansas City",
                State          = "MO",
                Country        = "USA",
                Zip            = "64158",
                PostalAddress1 = "Address1 Organization1",
                PostalCity     = "Kansas City",
                PostalState    = "MO",
                PostalCountry  = "USA",
                PostalZip      = "64158",
                OrganizationId = newGuid
            });
            context.Organizations.Add(new Organization()
            {
                OrganizationId = newGuid,
                Name           = "Org1",
                Ssn            = "111-11-1111"
            });


            newGuid = Guid.NewGuid();

            context.Phones.Add(new Phone()
            {
                PhoneNumber    = "(222) 222-2222",
                OrganizationId = newGuid
            });
            context.Addresses.Add(new Address()
            {
                Address1       = "Address1 Organization2",
                City           = "Kansas City",
                State          = "MO",
                Country        = "USA",
                Zip            = "64158",
                PostalAddress1 = "Address1 Organization2",
                PostalCity     = "Kansas City",
                PostalState    = "MO",
                PostalCountry  = "USA",
                PostalZip      = "64158",
                OrganizationId = newGuid
            });

            context.Organizations.Add(new Organization()
            {
                OrganizationId = newGuid,
                Name           = "Org2",
                Ssn            = "222-22-2222"
            });


            newGuid = Guid.NewGuid();

            context.Phones.Add(new Phone()
            {
                PhoneNumber    = "(333) 333-3333",
                OrganizationId = newGuid
            });
            context.Addresses.Add(new Address()
            {
                Address1       = "Address1 Organization3",
                City           = "Kansas City",
                State          = "MO",
                Country        = "USA",
                Zip            = "64158",
                PostalAddress1 = "Address1 Organization3",
                PostalCity     = "Kansas City",
                PostalState    = "MO",
                PostalCountry  = "USA",
                PostalZip      = "64158",
                OrganizationId = newGuid
            });

            context.Organizations.Add(new Organization()
            {
                OrganizationId = newGuid,
                Name           = "Org3",
                Ssn            = "333-33-3333"
            });


            newGuid = Guid.NewGuid();
            context.Phones.Add(new Phone()
            {
                PhoneNumber    = "(444) 444-4444",
                OrganizationId = newGuid
            });
            context.Addresses.Add(new Address()
            {
                Address1       = "Address1 Organization4",
                City           = "Kansas City",
                State          = "MO",
                Country        = "USA",
                Zip            = "64158",
                PostalAddress1 = "Address1 Organization4",
                PostalCity     = "Kansas City",
                PostalState    = "MO",
                PostalCountry  = "USA",
                PostalZip      = "64158",
                OrganizationId = newGuid
            });

            context.Organizations.Add(new Organization()
            {
                OrganizationId = newGuid,
                Name           = "Org4",
                Ssn            = "444-44-4444"
            });


            newGuid = Guid.NewGuid();

            context.Phones.Add(new Phone()
            {
                PhoneNumber    = "(555) 555-5555",
                OrganizationId = newGuid
            });
            context.Addresses.Add(new Address()
            {
                Address1       = "Address1 Organization5",
                City           = "Kansas City",
                State          = "MO",
                Country        = "USA",
                Zip            = "64158",
                PostalAddress1 = "Address1 Organization5",
                PostalCity     = "Kansas City",
                PostalState    = "MO",
                PostalCountry  = "USA",
                PostalZip      = "64158",
                OrganizationId = newGuid
            });

            context.Organizations.Add(new Organization()
            {
                OrganizationId = newGuid,
                Name           = "Org5",
                Ssn            = "55-555-5555"
            });

            context.SaveChanges();
        }
Example #10
0
 public OrgTypeRepository(OrganizationsContext dbContext)
 {
     _dbContext = dbContext;
 }
 public OrganizationsRepository(OrganizationsContext context, IMapper mapper, IPropertyMappingService propertyMappingService)
 {
     _context = context;
     _mapper  = mapper;
     _propertyMappingService = propertyMappingService;
 }