public async Task GetAsync_SelectingByPredicate_ReturnTheItemAsync()
        {
            // Arrange
            var fackDatabaseBuilder = new FackDataBaseBuildHelper();
            var context             = new DansBankDbContext(fackDatabaseBuilder);

            context.Database.EnsureCreated();

            var municipalityName = "Copenhagen";


            var id = Guid.NewGuid();

            using (var db = new DansBankDbContext(fackDatabaseBuilder))
            {
                db.Municipalities.Add(new Municipality {
                    Id = id, Name = municipalityName
                });
                db.SaveChanges();
            }

            var municipalityRepository = new MunicipalityRepository(new DansBankDbContext(fackDatabaseBuilder));

            // Act
            var municipality = await municipalityRepository.GetAsync(m => m.Name.ToLower() == municipalityName.ToLower());

            // Assert
            municipality.Should().NotBeNull();
            municipality.Name.Should().Be(municipalityName);
        }
Exemplo n.º 2
0
        public void GetRandom_Test()
        {
            var municipalities = new[]
            {
                new Municipality {
                    MunicipalityId = "1", Name = "Municipality name 1", DistrictName = "District name 1"
                },
                new Municipality {
                    MunicipalityId = "2", Name = "Municipality name 2", DistrictName = "District name 2"
                },
                new Municipality {
                    MunicipalityId = "3", Name = "Municipality name 3", DistrictName = "District name 3"
                },
                new Municipality {
                    MunicipalityId = "4", Name = "Municipality name 4", DistrictName = "District name 4"
                },
                new Municipality {
                    MunicipalityId = "5", Name = "Municipality name 5", DistrictName = "District name 5"
                },
            };

            var storage    = MemoryDataStorage.FromData(municipalities);
            var repository = new MunicipalityRepository(storage);
            var result     = repository.GetRandom();

            Assert.IsNotNull(result);
        }
        public async Task Exist_ByGivingAnExistingMunicipalityName_ReturnTrueAsync()
        {
            // Arrange
            var fackDatabaseBuilder = new FackDataBaseBuildHelper();
            var context             = new DansBankDbContext(fackDatabaseBuilder);

            context.Database.EnsureCreated();

            var municipalityName = "Copenhagen";


            var id = Guid.NewGuid();

            using (var db = new DansBankDbContext(fackDatabaseBuilder))
            {
                db.Municipalities.Add(new Municipality {
                    Id = id, Name = municipalityName
                });
                db.SaveChanges();
            }

            var municipalityRepository = new MunicipalityRepository(new DansBankDbContext(fackDatabaseBuilder));

            // Act
            var sameString = await municipalityRepository.Exist(municipalityName);

            var caseSensivity = await municipalityRepository.Exist(municipalityName.ToUpper());

            // Assert
            sameString.Should().BeTrue();
            caseSensivity.Should().BeTrue();
        }
Exemplo n.º 4
0
    private IEnumerable <Municipality> FindMunicipalitiesByNameWithDiscrict(string municipalityName)
    {
        if (municipalityName == null)
        {
            return(new Municipality[0]);
        }

        IQuery <Municipality> query;

        if (municipalityName.Contains(","))
        {
            var parts = municipalityName.Split(',');
            query = new QueryMunicipalityByNameAndDistrict
            {
                Name     = parts[0],
                District = parts[1]
            };
        }
        else
        {
            query = new QueryMunicipalityByName
            {
                Name = municipalityName
            };
        }

        return(MunicipalityRepository.FindAll(query));
    }
Exemplo n.º 5
0
        public void GetByCode_NoCodeTest()
        {
            var storage    = MemoryDataStorage.FromData(new Municipality[0]);
            var repository = new MunicipalityRepository(storage);

            repository.GetByCode("XXX");
        }
Exemplo n.º 6
0
 public UnitOfWork(CovidContext context)
 {
     _context       = context;
     Citizens       = new CitizenRepository(_context);
     Municipalities = new MunicipalityRepository(_context);
     //Courses = new CourseRepository(_context);
     //Authors = new AuthorRepository(_context);
 }
Exemplo n.º 7
0
 public UnitOfWork(CovidContext context)
 {
     _context              = context;
     Citizens              = new CitizenRepository(_context);
     Municipalities        = new MunicipalityRepository(_context);
     TestCenters           = new TestCenterRepository(_context);
     TestCenterManagements = new TestCenterManagementRepository(_context);
     TestDates             = new TestDateRepository(_context);
     Locations             = new LocationRepository(_context);
     //Courses = new CourseRepository(_context);
     //Authors = new AuthorRepository(_context);
 }
        public async Task GetWithDetails_IncludeDetails()
        {
            // Arrange
            var fackDatabaseBuilder = new FackDataBaseBuildHelper();
            var context             = new DansBankDbContext(fackDatabaseBuilder);

            context.Database.EnsureCreated();

            var municipalityName = "Copenhagen";



            using (var db = new DansBankDbContext(fackDatabaseBuilder))
            {
                var id = Guid.NewGuid();
                var m  = new Municipality {
                    Id = id, Name = municipalityName, TaxRules = new List <TaxRule>()
                };
                var tr = new TaxRule {
                    Name = "Yearly", Percentage = 0.2F, Priority = 1
                };
                var periods = new List <Period>
                {
                    new Period {
                        From = DateTime.Today, To = DateTime.Today.AddDays(1)
                    },
                    new Period {
                        From = DateTime.Today.AddDays(2), To = DateTime.Today.AddDays(5)
                    }
                };
                tr.Periods = periods;
                m.TaxRules.Add(tr);

                db.Municipalities.Add(m);

                db.SaveChanges();
            }

            var municipalityRepository = new MunicipalityRepository(new DansBankDbContext(fackDatabaseBuilder));

            // Act
            var municipality = await municipalityRepository.GetWithDetails("Copenhagen");

            // Assert
            municipality.Should().NotBeNull();
            municipality.TaxRules.Should().NotBeNullOrEmpty();
            municipality.TaxRules.Should().HaveCount(1);
            var taxRule = municipality.TaxRules.First();

            taxRule.Periods.Should().NotBeNullOrEmpty();
            taxRule.Periods.Should().HaveCount(2);
        }
Exemplo n.º 9
0
        public static IServiceCollection UseFileRepositories(this IServiceCollection services, string path)
        {
            var municipalityDataStorage = new FileDataStorage <Municipality>(path);
            var municipalityRepository  = new MunicipalityRepository(municipalityDataStorage);

            var populationFrameDataStorage = new FileDataStorage <PopulationFrame>(path);
            var populationFrameRepository  = new PopulationFrameRepository(populationFrameDataStorage);

            services.AddSingleton(typeof(IMunicipalityRepository), municipalityRepository);
            services.AddSingleton(typeof(IPopulationFrameRepository), populationFrameRepository);

            return(services);
        }
Exemplo n.º 10
0
    private MunicipalityPopulationProgressModel CreateModelByMunicipality(Municipality municipality)
    {
        var populationProgress = PopulationFrameRepository.FindAll(new QueryPopulationFrameByMunicipalityCode {
            Code = municipality.MunicipalityId
        });
        var closest = MunicipalityRepository.GetClosests(municipality.Longitude, municipality.Latitude);

        return(new MunicipalityPopulationProgressModel
        {
            Municipality = municipality,
            PopulationProgress = populationProgress.OrderByDescending(d => d.Year).ToArray(),
            ClosestMunicipalities = closest.Skip(1).ToArray()
        });
    }
Exemplo n.º 11
0
 public UnitOfWork(DataContext dataContext)
 {
     _dataContext                       = dataContext;
     BranchRepository                   = new BranchRepository(dataContext);
     AddressRepository                  = new AddressRepository(dataContext);
     BankAccountRepository              = new BankAccountRepository(dataContext);
     DepartmentRepository               = new DepartmentRepository(dataContext);
     MunicipalityRepository             = new MunicipalityRepository(dataContext);
     PositionRepository                 = new PositionRepository(dataContext);
     RegionRepository                   = new RegionRepository(dataContext);
     SettlementRepository               = new SettlementRepository(dataContext);
     BasePositionStaffEntityRepositorty = new BasePositionStaffEntityRepository(dataContext);
     PositionsAndDepartmentRepository   = new PositionsAndDepartmentRepository(dataContext);
 }
Exemplo n.º 12
0
        public void GetByCode_Test()
        {
            var municipality = new Municipality
            {
                MunicipalityId = "TEST",
                Name           = "Municipality name",
                DistrictName   = "District name"
            };

            var storage    = MemoryDataStorage.FromData(municipality);
            var repository = new MunicipalityRepository(storage);
            var result     = repository.GetByCode("TEST");

            Assert.AreEqual(municipality, result);
        }
Exemplo n.º 13
0
        public void FindAll_Test()
        {
            var municipality = new Municipality
            {
                MunicipalityId = "TEST",
                Name           = "Municipality name",
                DistrictName   = "District name"
            };

            var storage    = MemoryDataStorage.FromData(municipality);
            var repository = new MunicipalityRepository(storage);
            var returned   = repository.FindAll().Single();

            Assert.AreEqual(municipality, returned);
        }
Exemplo n.º 14
0
        public async Task ReplaceAll_Test()
        {
            var municipality = new Municipality
            {
                MunicipalityId = "TEST",
                Name           = "Municipality name",
                DistrictName   = "District name"
            };

            var storage    = MemoryDataStorage.FromData(municipality);
            var repository = new MunicipalityRepository(storage);

            await repository.ReplaceAllAsync(new[] { municipality });

            Assert.IsNotNull(repository.GetByCode(municipality.MunicipalityId));
        }
Exemplo n.º 15
0
        public void Exists_QueryTest()
        {
            var municipality = new Municipality
            {
                MunicipalityId = "TEST",
                Name           = "Municipality name",
                DistrictName   = "District name"
            };

            var storage    = MemoryDataStorage.FromData(municipality);
            var repository = new MunicipalityRepository(storage);
            var result     = repository.FindAll(new QueryMunicipalityByCode {
                Code = "TEST"
            }).Single();

            Assert.AreEqual(municipality, result);
        }
Exemplo n.º 16
0
        public void Exists_Test()
        {
            var municipalities = new Municipality[]
            {
                new Municipality {
                    MunicipalityId = "TEST", Name = "Municipality name", DistrictName = "District name"
                },
            };

            var storage    = MemoryDataStorage.FromData(municipalities);
            var repository = new MunicipalityRepository(storage);
            var result     = repository.Exists(new QueryMunicipalityByCode {
                Code = "TEST"
            });

            Assert.IsTrue(result);
        }
        public void Add_Manucipality()
        {
            // Arrange
            var fackDatabaseBuilder = new FackDataBaseBuildHelper();
            var context             = new DansBankDbContext(fackDatabaseBuilder);

            context.Database.EnsureCreated();

            var municipalityName  = "Copenhagen";
            var municipalityName2 = "Copenhagen2";
            var db = new DansBankDbContext(fackDatabaseBuilder);
            var municipalityRepository = new MunicipalityRepository(db);
            var mId          = Guid.NewGuid();
            var municipality = new Municipality {
                Name = municipalityName
            };
            var municipality2 = new Municipality {
                Id = mId, Name = municipalityName2
            };

            // Act
            var id  = municipalityRepository.Add(municipality);
            var id2 = municipalityRepository.Add(municipality2);

            Municipality m  = null;
            Municipality m2 = null;

            using (var db2 = new DansBankDbContext(fackDatabaseBuilder))
            {
                m  = db2.Municipalities.Find(id);
                m2 = db2.Municipalities.Find(id2);
            }

            // Assert
            id.Should().NotBe(mId);
            id2.Should().Be(mId);
            db.Entry(municipality).State.Should().Be(EntityState.Added);
            db.Entry(municipality2).State.Should().Be(EntityState.Added);
            db.Municipalities.Local.Should().HaveCount(2);
            m.Should().Be(null);
            m2.Should().Be(null);
        }
        public async Task GetList_ByProvideingPagination_FilterMunicipalitis()
        {
            // Arrange
            var fackDatabaseBuilder = new FackDataBaseBuildHelper();
            var context             = new DansBankDbContext(fackDatabaseBuilder);

            context.Database.EnsureCreated();

            var municipalityNames = new List <string>()
            {
                "Copenhagen", "Aarhus", "Aalborg", "Odense", "Esbjerg"
            };



            using (var db = new DansBankDbContext(fackDatabaseBuilder))
            {
                foreach (var municipalityName in municipalityNames)
                {
                    var id = Guid.NewGuid();
                    db.Municipalities.Add(new Municipality {
                        Id = id, Name = municipalityName
                    });
                    db.SaveChanges();
                }
            }

            var municipalityRepository = new MunicipalityRepository(new DansBankDbContext(fackDatabaseBuilder));

            // Act
            var municipalities = await municipalityRepository
                                 .GetListAsync(new Pagination { PageNumber = 1, PageSize = 2 });

            // Assert
            municipalities.Should().NotBeNull();
            municipalities.Should().NotBeEmpty();
            municipalities.Should().HaveCount(2);
            municipalities.Select(m => m.Name).SequenceEqual(new List <string> {
                "Aalborg", "Aarhus"
            }).Should().BeTrue();
        }
        public async Task GetList_NotProvideingPaginationAndCondition_WouldReturnAllMunicipalitis()
        {
            // Arrange
            var fackDatabaseBuilder = new FackDataBaseBuildHelper();
            var context             = new DansBankDbContext(fackDatabaseBuilder);

            context.Database.EnsureCreated();

            var municipalityNames = new List <string>()
            {
                "Copenhagen", "Aarhus", "Aalborg", "Odense", "Esbjerg"
            };



            using (var db = new DansBankDbContext(fackDatabaseBuilder))
            {
                foreach (var municipalityName in municipalityNames)
                {
                    var id = Guid.NewGuid();
                    db.Municipalities.Add(new Municipality {
                        Id = id, Name = municipalityName
                    });
                    db.SaveChanges();
                }
            }

            var municipalityRepository = new MunicipalityRepository(new DansBankDbContext(fackDatabaseBuilder));

            // Act
            var municipalities = await municipalityRepository.GetListAsync();

            // Assert
            municipalities.Should().NotBeNull();
            municipalities.Should().NotBeEmpty();
            municipalities.Should().HaveCount(5);
        }
Exemplo n.º 20
0
    private MunicipalityPopulationProgressModel CreateModelByCode(string code)
    {
        var municipality = MunicipalityRepository.GetByCode(code);

        return(CreateModelByMunicipality(municipality));
    }
Exemplo n.º 21
0
    private MunicipalityPopulationProgressModel CreateRandomModel()
    {
        var municipality = MunicipalityRepository.GetRandom();

        return(CreateModelByMunicipality(municipality));
    }
Exemplo n.º 22
0
        public async Task <Guid> Add(Municipality municipality)
        {
            var dto = Mapper.Map <Repositories.Entities.Municipality>(municipality);

            return(await MunicipalityRepository.Add(dto));
        }
Exemplo n.º 23
0
        public async Task AddBulk(IEnumerable <Municipality> municipalities)
        {
            var dto = municipalities.Select(Mapper.Map <Repositories.Entities.Municipality>);

            await MunicipalityRepository.AddBulk(dto);
        }
Exemplo n.º 24
0
 public async Task Update(Municipality municipality)
 {
     var dto = Mapper.Map <Repositories.Entities.Municipality>(municipality);
     await MunicipalityRepository.Update(dto);
 }
Exemplo n.º 25
0
 public async Task <Municipality> Get(Guid uuid)
 {
     return(Mapper.Map <Municipality>(await MunicipalityRepository.Get(uuid)));
 }
Exemplo n.º 26
0
 public async Task <Municipality> Get(string name)
 {
     return(Mapper.Map <Municipality>(await MunicipalityRepository.Get(name)));
 }
Exemplo n.º 27
0
 public async Task <List <Municipality> > List()
 {
     return((await MunicipalityRepository.List()).Select(Mapper.Map <Municipality>).ToList());
 }