コード例 #1
0
ファイル: Program.cs プロジェクト: malcolmmacleod/FOA
        private static void PopulatePolicies()
        {
            Policy policy = new Policy()
            {
                ContactInfo   = "Test Name",
                Closed        = null,
                Description   = "Test Description",
                HolderName    = "Test Holder",
                InsuredAmount = 1000M,
                PaidToDate    = 500M,
                PolicyType    = Coverage.Extended,
                Premium       = 30M,
                StartDate     = DateTime.Today.AddYears(-1)
            };

            var policyService = new PolicyService();

            policyService.AddPolicy(policy);

            var policies = policyService.GetPolicies();

            foreach (var p in policies)
            {
                Console.WriteLine(p.Description);
            }

            Console.ReadLine();
        }
コード例 #2
0
        public async Task <IActionResult> Index(string sortColumn, string sortDirection, int pageSize = 0, int pageNumber = 0, string filters = null)
        {
            var scope = AuthenticationService.GetScope(User);

            var queryOptions = new PolicyQueryOptions(scope, sortColumn, sortDirection, pageSize, pageNumber, filters);
            var pagedItems   = await PolicyService.GetPolicies(queryOptions);

            return(Ok(pagedItems));
        }
コード例 #3
0
        public async Task GetPolicies()
        {
            var options = TestHelper.GetDbContext("GetPolicies");

            var user1   = TestHelper.InsertUserDetailed(options);
            var user2   = TestHelper.InsertUserDetailed(options, user1.Organisation);
            var client1 = TestHelper.InsertClient(options, user1.Organisation);
            var client2 = TestHelper.InsertClient(options, user1.Organisation);

            var user3   = TestHelper.InsertUserDetailed(options);
            var client3 = TestHelper.InsertClient(options, user3.Organisation);

            var company1 = TestHelper.InsertCompany(options);

            //Given
            var policy1 = new PolicyEntity
            {
                Id                  = Guid.NewGuid(),
                CompanyId           = company1.Id,
                ClientId            = client1.Client.Id,
                UserId              = user1.User.Id,
                Number              = "123465",
                StartDate           = DateTime.Now,
                Premium             = 500,
                PolicyTypeId        = Guid.NewGuid(),
                PolicyProductTypeId = Guid.NewGuid(),
                PolicyProductId     = Guid.NewGuid(),
                IsActive            = true,
            };

            var policy2 = new PolicyEntity
            {
                Id                  = Guid.NewGuid(),
                CompanyId           = company1.Id,
                ClientId            = client2.Client.Id,
                UserId              = user2.User.Id,
                Number              = "654321",
                PolicyTypeId        = Guid.NewGuid(),
                PolicyProductTypeId = Guid.NewGuid(),
                PolicyProductId     = Guid.NewGuid(),
                IsActive            = false,
            };

            var policy3 = new PolicyEntity
            {
                Id        = Guid.NewGuid(),
                CompanyId = company1.Id,
                ClientId  = client3.Client.Id,
                UserId    = user3.User.Id,
                Number    = "987654"
            };

            using (var context = new DataContext(options))
            {
                context.Policy.Add(policy1);
                context.Policy.Add(policy2);
                context.Policy.Add(policy3);

                context.SaveChanges();
            }

            using (var context = new DataContext(options))
            {
                var auditService = new AuditServiceMock();
                var service      = new PolicyService(context, auditService);

                //When
                var scope        = TestHelper.GetScopeOptions(user1);
                var queryOptions = new PolicyQueryOptions(scope, "", "", 0, 0);
                var policies     = await service.GetPolicies(queryOptions);

                //Then
                Assert.Equal(2, policies.TotalItems);
                Assert.Equal(2, policies.Items.Count());

                var actual = policies.Items.First();
                Assert.Equal(policy1.Id, actual.Id);
                Assert.Equal(policy1.ClientId, actual.ClientId);
                Assert.Equal(policy1.CompanyId, actual.CompanyId);
                Assert.Equal(policy1.Number, actual.Number);
                Assert.Equal(policy1.StartDate, actual.StartDate);
                Assert.Equal(policy1.Premium, actual.Premium);
                Assert.Equal(policy1.PolicyTypeId, actual.PolicyTypeId);
                Assert.Equal(policy1.PolicyProductTypeId, actual.PolicyProductTypeId);
                Assert.Equal(policy1.PolicyProductId, actual.PolicyProductId);
                Assert.Equal(policy1.IsActive, actual.IsActive);

                actual = policies.Items.Last();
                Assert.Equal(policy2.Id, actual.Id);
                Assert.Equal(policy2.IsActive, actual.IsActive);

                //Check scope
                scope        = TestHelper.GetScopeOptions(user1, Scope.User);
                queryOptions = new PolicyQueryOptions(scope, "", "", 0, 0);
                policies     = await service.GetPolicies(queryOptions);

                Assert.Single(policies.Items);

                actual = policies.Items.First();
                Assert.Equal(policy1.Id, actual.Id);
            }
        }