public void AddPoliciesToContract()
        {
            var draftPolicies = _policiesRepository.GetDraftPolicies();

            foreach (var policy in draftPolicies)
            {
                var contractPolicy = ContractsExecutorClient.GetPolicy(policy.ProductAddress, policy.ProductTypeId, policy.Id);

                if (contractPolicy.Premium > 0)
                {
                    var txId = ContractsExecutorClient.AddPolicy(policy);
                    _policiesRepository.UpdatePolicyAfterAdd(policy.Id, txId);
                    _logger.Info($"Policy status updated {policy.Id} to paid");
                }
            }
        }
예제 #2
0
        public void TestAddPolicy()
        {
            // Manually added this policy to contract
            var policy = new Policy
            {
                Id             = "c36ad8690cb7462286948da2ef152a17",
                ProductAddress = "0x1c301Fa05f3aAb1C4479CD8E823d7b83297ac2d6",
                ProductTypeId  = "3",
                Premium        = 15,
                Status         = PolicyStatus.Paid,
                StartUtc       = DateTime.Now,
                EndUtc         = DateTime.Now.AddDays(10),
                Payout         = 20,
                Properties     = "Fake properties",
                CreatedUtc     = DateTime.Now,
                ModifiedUtc    = DateTime.Now
            };

            var result = ContractsExecutorClient.AddPolicy(policy);

            Assert.IsNotNull(result);
        }