예제 #1
0
        public Repositories(string connection)
        {
            #region Data context creating
            // ReSharper disable UseObjectOrCollectionInitializer
            _Context = new TimezDataContext(connection);
            // ReSharper restore UseObjectOrCollectionInitializer
#if DEBUG
            _Context.CommandTimeout = 60 * 5;
            _Context.Log            = new DebuggerWriter();
#endif
            #endregion

            Boards        = BoardsRepository.Create(_Context);
            BoardsColors  = BoardsColorsRepository.Create(_Context);
            BoardsUsers   = BoardsUsersRepository.Create(_Context);
            Tasks         = TasksRepository.Create(_Context);
            TasksStatuses = TasksStatusesRepository.Create(_Context);
            Users         = UsersRepository.Create(_Context);
            Organizations = OrganizationsRepository.Create(_Context);
            Projects      = ProjectsRepository.Create(_Context);
            Comments      = CommentsRepository.Create(_Context);
            EventHistory  = EventHistoryRepository.Create(_Context);
            Invites       = InvitesRepository.Create(_Context);
            Texts         = TextsRepository.Create(_Context);
        }
예제 #2
0
 public UnitOfWork(OrganizationsContext context, IMapper mapper, IPropertyMappingService propertyMappingService)
 {
     _context = context;
     _mapper  = mapper;
     _propertyMappingService = propertyMappingService;
     Organizations           = new OrganizationsRepository(_context, _mapper, _propertyMappingService);
     Addresses = new AddressesRepository(_context, _mapper);
     Phones    = new PhonesRepository(_context, _mapper);
 }
        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 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);
            }
        }
예제 #5
0
        public UnitOfWork(
            PatientsRepository patients,
            PractitionersRepository practitioners,
            PractitionerRolesRepository practitionerRoles,
            RelatedPeopleRepository relatedPeople,
            PeopleRepository people,
            OrganizationsRepository organizations,
            HealthcareServicesRepository healthcareServices,
            LocationsRepository locations,
            DevicesRepository devices,
            TasksRepository tasks,
            AppointmentsRepository appointments,
            SchedulesRepository schedules,
            EncountersRepository encounters,
            EpisodesOfCareRepository episodesOfCare,
            FlagsRepository flags
            )
        {
            var database = new FhirDevelopment01DB();

            Patients           = patients;
            Practitioners      = practitioners;
            PractitionerRoles  = practitionerRoles;
            RelatedPeople      = relatedPeople;
            People             = people;
            Organizations      = organizations;
            HealthcareServices = healthcareServices;
            Locations          = locations;
            Devices            = devices;
            Tasks          = tasks;
            Appointments   = appointments;
            Schedules      = schedules;
            Encounters     = encounters;
            EpisodesOfCare = episodesOfCare;
            Flags          = flags;
        }