Example #1
0
        public void AddClaimCountShouldIncrease()
        {
            InsuranceClaim claimFour = new InsuranceClaim(4, ClaimType.Home, "Water main break", 3600, date3, date5);
            bool           wasAdded  = _repo.AddClaimToQueue(claimFour);

            Assert.IsTrue(wasAdded);
        }
Example #2
0
 public void Arrange()
 {
     _claimInvalid    = new InsuranceClaim(DateTime.Parse("2018, 05, 02"), 12300);
     _claimOver       = new InsuranceClaim(DateTime.Parse("2018, 06, 29"), 12300);
     _claimUnder      = new InsuranceClaim(DateTime.Parse("2018, 06, 29"), 2994);
     _claimRepository = new ClaimRepository();
 }
        public void DequeueExistingClaim_ShouldReturnNull()
        {
            InsuranceClaim queue = _repo.GetInsuranceClaimByClaimID(6);

            _repo.HandleNextClaim();

            Assert.IsNull(_repo.GetInsuranceClaimByClaimID(6));
        }
        public void AddToQueue_ShouldReturnTrue()
        {
            InsuranceClaim     claim = new InsuranceClaim();
            InsuranceClaimRepo repo  = new InsuranceClaimRepo();

            bool addResult = repo.AddInsuranceClaimToQueue(claim);

            Assert.IsTrue(addResult);
        }
Example #5
0
        public void SeeClaimShouldShowClaim()
        {
            InsuranceClaim newClaim = new InsuranceClaim(4, ClaimType.Car, "Stolen car", 5000, date3, date6);

            _repo.AddClaimToQueue(newClaim);

            InsuranceClaim testClaim = _repo.ChooseClaimByNumber(4);

            Assert.AreEqual(testClaim, newClaim);
        }
Example #6
0
        public void SeedClaimsQueue()
        {
            InsuranceClaim claimOne   = new InsuranceClaim(1, ClaimType.Car, "Traffic collision", 1500, date1, date2);
            InsuranceClaim claimTwo   = new InsuranceClaim(2, ClaimType.Home, "House fire", 9000, date3, date4);
            InsuranceClaim claimThree = new InsuranceClaim(3, ClaimType.Theft, "iPad stolen", 600, date5, date6);

            _repo.EnterClaim(claimOne);
            _repo.EnterClaim(claimTwo);
            _repo.EnterClaim(claimThree);
        }
 private void DisplayOneClaim(InsuranceClaim claim)
 {
     Console.WriteLine($"ClaimID: {claim.ClaimId} \n" +
                       $"Type: {claim.ClaimType} \n" +
                       $"Description: {claim.Description} \n" +
                       $"Amount: ${claim.ClaimAmount} \n" +
                       $"DateOfAccident: {claim.DateOfIncident:d} \n" +
                       $"DateOfClaim: {claim.DateOfClaim:d} \n" +
                       $"IsValid: {claim.IsValid}");
 }
Example #8
0
 public void Delete(InsuranceClaim delObj)
 {
     using (var session = GetSession())
     {
         using (var trans = session.BeginTransaction())
         {
             session.Delete(delObj);
             trans.Commit();
         }
     }
 }
        public void AddClaimToQueue_ShouldReturnCorrectBool()
        {
            //Arrange
            ClaimRepository claimRepo = new ClaimRepository();
            InsuranceClaim  claim     = new InsuranceClaim(24, ClaimType.Theft, "stole my bike", 2000.00M, new DateTime(2018, 12, 23), new DateTime(2019, 12, 20));

            //ACT
            bool wasAdded = claimRepo.AddClaimToQueue(claim);

            //Assert
            Assert.IsTrue(wasAdded);
        }
        private void UpdateAClaim()
        {
            Console.Clear();
            SeeAllClaims();
            Console.WriteLine(" ");

            Console.WriteLine("Please enter the claim ID you would like to update:");
            int ClaimIDInput = Convert.ToInt32(Console.ReadLine());

            Console.Clear();
            InsuranceClaim newInsuranceClaim = new InsuranceClaim();

            Console.Write("Enter the new claim id: ");
            newInsuranceClaim.ClaimID = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the claim type: ");
            newInsuranceClaim.ClaimType = (ClaimType)Enum.Parse(typeof(ClaimType), Console.ReadLine());

            Console.Write("Enter a claim description: ");
            newInsuranceClaim.Description = Console.ReadLine();

            Console.Write("Amount of Damage: $");
            newInsuranceClaim.ClaimAmount = Convert.ToDouble(Console.ReadLine());

            Console.Write("Date of Accident(mm/dd/yy): ");
            newInsuranceClaim.DateOfIncident = DateTime.Parse(Console.ReadLine());

            Console.Write("Date of Claim(mm/dd/yy): ");
            newInsuranceClaim.DateOfClaim = DateTime.Parse(Console.ReadLine());

            if (newInsuranceClaim.IsValid)
            {
                Console.WriteLine("The claim is valid");
            }
            else
            {
                Console.WriteLine("The claim is invalid");
            }

            bool wasUpdated = _repo.UpdateExistingClaim(ClaimIDInput, newInsuranceClaim);

            if (wasUpdated)
            {
                Console.WriteLine("The claim was successfully updated");
            }
            else
            {
                Console.WriteLine("The claim could not be updated");
            }
            Console.ReadKey();
        }
Example #11
0
 public void Save(InsuranceClaim saveObj)
 {
     using (var session = GetSession())
     {
         using (var trans = session.BeginTransaction())
         {
             session.FlushMode = FlushMode.Commit;
             session.SaveOrUpdate(saveObj);
             trans.Commit();
             session.Flush();
             //}
         }
     }
 }
        private void SeedContentList()
        {
            InsuranceClaim insuranceClaim1 = new InsuranceClaim(1, ClaimType.Car, "Car accident on 465.", 400.00, DateTime.Parse("4/25/18"), DateTime.Parse("4/27/18"));

            _repo.AddInsuranceClaimToQueue(insuranceClaim1);

            InsuranceClaim insuranceClaim2 = new InsuranceClaim(2, ClaimType.Home, "House fire in kitchen.", 4000.00, DateTime.Parse("4/11/18"), DateTime.Parse("4/12/18"));

            _repo.AddInsuranceClaimToQueue(insuranceClaim2);

            InsuranceClaim insuranceClaim3 = new InsuranceClaim(3, ClaimType.Theft, "Stolen pancakes.", 4.00, DateTime.Parse("4/27/18"), DateTime.Parse("6/01/18"));

            _repo.AddInsuranceClaimToQueue(insuranceClaim3);
        }
Example #13
0
        public void DoesIsValidWork()
        {
            // Arrange
            InsuranceClaim testClaim = new InsuranceClaim();

            // Act
            testClaim.DateOfIncident = date3;
            testClaim.DateOfClaim    = date5;

            bool expected = false;
            bool actual   = testClaim.IsValid;

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void GetQueueOfClaims_ShouldReturnCorrectCollection()
        {
            //Arrange
            ClaimRepository claimRepo = new ClaimRepository();
            InsuranceClaim  claim     = new InsuranceClaim(24, ClaimType.Theft, "stole my bike", 2000.00M, new DateTime(2018, 12, 23), new DateTime(2019, 12, 20));

            claimRepo.AddClaimToQueue(claim);

            //ACT
            Queue <InsuranceClaim> claims = claimRepo.GetAllInsuranceClaims();
            var queueHasClaim             = claims.Count;

            //Assert
            Assert.AreEqual(1, queueHasClaim);
        }
Example #15
0
        public async Task CreateShouldIncreaseCountOnEmptyCollection()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "MyTestDb5")
                          .Options;
            var dbContext = new ApplicationDbContext(options);

            var repository = new EfDeletableEntityRepository <InsuranceClaim>(dbContext);
            var service    = new ClaimService(repository);
            var newClaim   = new InsuranceClaim();

            Assert.Equal(0, repository.All().Count());
            await service.Create(newClaim);

            Assert.Equal(1, repository.All().Count());
        }
        private void EnterANewClaim()
        {
            Console.Clear();
            InsuranceClaim newInsuranceClaim = new InsuranceClaim();

            //use consolewrite instead of writeline
            //did a little research here to have the input on the same line and convert the string into and enum. sorry for all of the one liners
            Console.Write("Enter the claim id: ");
            newInsuranceClaim.ClaimID = Convert.ToInt32(Console.ReadLine());

            Console.Write("Enter the claim type: ");
            newInsuranceClaim.ClaimType = (ClaimType)Enum.Parse(typeof(ClaimType), Console.ReadLine());

            Console.Write("Enter a claim description: ");
            newInsuranceClaim.Description = Console.ReadLine();

            Console.Write("Amount of Damage: $");
            newInsuranceClaim.ClaimAmount = Convert.ToDouble(Console.ReadLine());

            Console.Write("Date of Accident(mm/dd/yy): ");
            newInsuranceClaim.DateOfIncident = DateTime.Parse(Console.ReadLine());

            Console.Write("Date of Claim(mm/dd/yy): ");
            newInsuranceClaim.DateOfClaim = DateTime.Parse(Console.ReadLine());

            if (newInsuranceClaim.IsValid)
            {
                Console.WriteLine("The claim is valid");
            }
            else
            {
                Console.WriteLine("The claim is invalid");
            }
            Console.ReadKey();

            bool wasAdded = _repo.AddInsuranceClaimToQueue(newInsuranceClaim);

            if (wasAdded)
            {
                Console.WriteLine("The claim was successfully added to the queue");
            }
            else
            {
                Console.WriteLine("The claim could not be added");
            }
            Console.ReadKey();
        }
        private void SeedClaimsQueue()
        {
            //Claim 1
            InsuranceClaim claim1 = new InsuranceClaim(1, ClaimType.Car, "Car accident on 465.", 400.00M, new DateTime(2018, 4, 25), new DateTime(2018, 4, 27));

            //Put 1 in Queue
            _claimsRepo.AddClaimToQueue(claim1);
            //Claim 2
            InsuranceClaim claim2 = new InsuranceClaim(2, ClaimType.Home, "House fire in kitchen.", 4000.00M, new DateTime(2018, 4, 11), new DateTime(2018, 4, 12));

            //Put 2 in Queue
            _claimsRepo.AddClaimToQueue(claim2);
            //Claim 3
            InsuranceClaim claim3 = new InsuranceClaim(3, ClaimType.Theft, "Stolen pancakes.", 4.00M, new DateTime(2018, 4, 27), new DateTime(2018, 6, 01));

            //Put 3 in Queue
            _claimsRepo.AddClaimToQueue(claim3);
        }
Example #18
0
        public async Task CreateShouldAddTheCorrectObject()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "MyTestDb6")
                          .Options;
            var dbContext = new ApplicationDbContext(options);

            var repository = new EfDeletableEntityRepository <InsuranceClaim>(dbContext);
            var service    = new ClaimService(repository);
            var newClaim   = new InsuranceClaim {
                Id = 1, Description = "test"
            };
            await service.Create(newClaim);

            var claimFromDb = await repository.GetByIdAsync(newClaim.Id);

            Assert.Equal <InsuranceClaim>(newClaim, claimFromDb);
        }
        public IActionResult AddClaimFile(InsuranceClaimsAddClaimFileViewModel model)
        {
            InsuranceClaim insuranceClaim = _insuranceClaimsRepository.GetClaim(model.Id);

            if (ModelState.IsValid)
            {
                FileHandler     fileHandler     = new FileHandler();
                FileDescription fileDescription = fileHandler.UploadSingleFile(model.File, model.FileType, insuranceClaim.ClaimNo, DateTime.Now, model.Descrption);
                _fileDescriptionsRepository.Create(fileDescription);
                InsuranceClaimFile claimFile = new InsuranceClaimFile
                {
                    FileDescriptionId = fileDescription.Id,
                    InsuranceClaimId  = insuranceClaim.Id
                };
                _insuranceClaimFilesRepository.Add(claimFile);
                insuranceClaim.InsuranceClaimFiles.Add(claimFile);
                _insuranceClaimsRepository.Update(insuranceClaim);
                return(RedirectToAction("details", new { id = model.Id }));
            }
            return(RedirectToAction("AddClaimFile", new { id = model.Id }));
        }
        public void SSG_ICBCClaim_should_map_to_InsuranceClaim_correctly()
        {
            SSG_Asset_ICBCClaim icbcClaim = new SSG_Asset_ICBCClaim
            {
                ClaimNumber                    = "claimNumber",
                ClaimType                      = "ClaimType",
                ClaimAmount                    = "ClaimAmount",
                ClaimCenterLocationCode        = "claimCentre",
                AdjusterFirstName              = "adjustfirstName",
                AdjusterLastName               = "adjustlastName",
                AdjusterPhoneNumber            = "phonenumber",
                SupplierCountrySubdivisionCode = "BC"
            };

            InsuranceClaim claim = _mapper.Map <InsuranceClaim>(icbcClaim);

            Assert.AreEqual("adjustfirstName", claim.Adjustor.FirstName);
            Assert.AreEqual("ClaimAmount", claim.ClaimAmount);
            Assert.AreEqual("claimCentre", claim.ClaimCentre.Location);
            Assert.AreEqual("phonenumber", claim.AdjustorPhone.PhoneNumber);
        }
        private void TakeCareOfNextClaim()
        {
            Console.Clear();
            Console.WriteLine("Here is the next claim to be handled:");
            Console.WriteLine("");

            Queue <InsuranceClaim> claimQueue = _repo.GetInsuranceClaims();
            InsuranceClaim         firstClaim = claimQueue.Peek();

            Console.WriteLine($"ClaimID: {firstClaim.ClaimID}\n" +
                              $"Type: {firstClaim.ClaimType}\n" +
                              $"Description: {firstClaim.Description}\n" +
                              $"Amount: ${firstClaim.ClaimAmount}\n" +

                              //wanted the dates to be formatted nicely here
                              $"DateOfAccident: {firstClaim.DateOfIncident.ToString("MM/dd/yy")}\n" +
                              $"DateOfClaim: {firstClaim.DateOfClaim.ToString("MM/dd/yy")}\n" +

                              $"IsValid: {firstClaim.IsValid}\n" +
                              $" ");
            Console.WriteLine("Do want to deal with this claim now(y/n)?");

            string response = Console.ReadLine();

            switch (response)
            {
            case "y":
                HelpHandleClaim();
                break;

            case "n":
                break;

            default:
                Console.WriteLine("Please choose a valid option");
                Console.ReadKey();
                TakeCareOfNextClaim();
                break;
            }
        }
        public ViewResult Details(Guid id)
        {
            InsuranceClaim claim = _insuranceClaimsRepository.GetClaim(id);
            Car            car   = _carsRepository.GetCar(claim.CarId);
            InsuranceClaimDetailsViewModel model = new InsuranceClaimDetailsViewModel
            {
                Id                  = claim.Id,
                ClaimDate           = claim.ClaimDate,
                ClaimNo             = claim.ClaimNo,
                ClaimType           = claim.ClaimType,
                ClaimStatus         = claim.ClaimStatus,
                InsuranceCompany    = claim.InsuranceCompany,
                ReportDate          = claim.ReportDate,
                RepresentativeMail  = claim.RepresentativeMail,
                RepresentativeName  = claim.RepresentativeName,
                RepresentativePhone = claim.RepresentativePhone,
                CarReg              = car.RegistrationNumber,
                CarId               = car.Id
            };

            return(View(model));
        }
 public IActionResult Create(InsuranceClaimCreateViewModel model)
 {
     if (ModelState.IsValid)
     {
         InsuranceClaim claim = new InsuranceClaim
         {
             Id                  = Guid.NewGuid(),
             CarId               = model.CarId,
             InsuranceCompany    = model.InsuranceCompany,
             ReportDate          = model.ReportDate,
             ClaimDate           = model.ClaimDate,
             RepresentativeMail  = model.RepresentativeMail,
             RepresentativeName  = model.RepresentativeName,
             RepresentativePhone = model.RepresentativePhone,
             ClaimNo             = model.ClaimNo,
             ClaimType           = model.ClaimType,
             ClaimStatus         = ClaimStatus.Zgloszona
         };
         _insuranceClaimsRepository.Add(claim);
         return(RedirectToAction("Details", "cars", new { id = model.CarId }));
     }
     return(RedirectToAction("Create", new { id = model.CarId }));
 }
Example #24
0
        public async Task DeleteShouldReduceCount()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "MyTestDb9")
                          .Options;
            var dbContext = new ApplicationDbContext(options);
            var claim1    = new InsuranceClaim {
                Id = 1
            };
            var claim2 = new InsuranceClaim {
                Id = 2
            };

            dbContext.Claims.Add(claim1);
            dbContext.Claims.Add(claim2);
            await dbContext.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <InsuranceClaim>(dbContext);
            var service    = new ClaimService(repository);
            int existingId = 2;
            await service.Delete(existingId);

            Assert.Equal(1, repository.All().Count());
        }
Example #25
0
 public async Task Create(InsuranceClaim claim)
 {
     this.claimRepo.Add(claim);
     await this.claimRepo.SaveChangesAsync();
 } // Tested
        private void CreateNewClaim()
        {
            Console.Clear();
            InsuranceClaim newClaim = new InsuranceClaim();

            //Claim ID
            Console.WriteLine("Enter the Claim ID:");
            newClaim.ClaimId = Convert.ToInt32(Console.ReadLine());
            //Claim Type
            Console.WriteLine("Enter the Claim Type:");
            string claimTypeString = Console.ReadLine();

            switch (claimTypeString.ToLower())
            {
            case "car":
            case "auto":
            case "vehicle":
                newClaim.ClaimType = ClaimType.Car;
                break;

            case "home":
            case "house":
                newClaim.ClaimType = ClaimType.Home;
                break;

            case "theft":
                newClaim.ClaimType = ClaimType.Theft;
                break;

            default:
                Console.WriteLine("You did not enter a valid type. Your response was not recorded.");
                break;
            }
            //Description
            Console.WriteLine("Enter a Claim Description:");
            newClaim.Description = Console.ReadLine();
            //Amount
            Console.WriteLine("Amount of Damage:");
            decimal claimAmount = decimal.Parse(Console.ReadLine(), NumberStyles.AllowCurrencySymbol | NumberStyles.Number);

            newClaim.ClaimAmount = claimAmount;
            //Date Of Accident
            Console.WriteLine("Date of Accident:");
            DateTime claimAccidentDate = Convert.ToDateTime(Console.ReadLine());

            newClaim.DateOfIncident = claimAccidentDate;
            //Date of Claim
            Console.WriteLine("Date of Claim:");
            DateTime claimDate = Convert.ToDateTime(Console.ReadLine());

            newClaim.DateOfClaim = claimDate;
            //The claim is valid
            if (newClaim.IsValid == true)
            {
                Console.WriteLine("This claim is valid");
            }
            else
            {
                Console.WriteLine("This claim is not valid");
            }
            _claimsRepo.AddClaimToQueue(newClaim);
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
        private void DisplayAllClaims(InsuranceClaim claim)
        {
            var output = String.Format("{0,-8}{1,8}{2,30}{3,15:C2}{4,20:d}{5,20:d}{6,12}", claim.ClaimId, claim.ClaimType, claim.Description, claim.ClaimAmount, claim.DateOfIncident, claim.DateOfClaim, claim.IsValid);

            Console.WriteLine(output);
        }
        public void GetClaimByClaimID_ShouldReturnCorrectClaim()
        {
            InsuranceClaim searchResult = _repo.GetInsuranceClaimByClaimID(6);

            Assert.AreEqual(_claim, searchResult);
        }
 public void Arrange()
 {
     _repo  = new InsuranceClaimRepo();
     _claim = new InsuranceClaim(6, ClaimType.Theft, "Stolen Cheeburg", 5.35, DateTime.Parse("05/10/21"), DateTime.Parse("05/13/21"));
     _repo.AddInsuranceClaimToQueue(_claim);
 }