static void Main(string[] args) { ClaimRepository claimRepository = new ClaimRepository(); claimRepository.AddClaim(new Claim(1, "Fire in kitchen", 400.00m, DateTime.Now, DateTime.Now)); while (true) { Console.Clear(); Console.WriteLine("Choose a Menu Item:\n1. See all claims.\n2. Take care of next claim.\n3. Enter a new Claim\n4. Close"); string Command = Console.ReadLine(); if (Command == "1") { DisplayDataSetup(); int row = 1; foreach (Claim claim in claimRepository.GetClaims()) { DisplayClaimInRow(claim, row); row++; } Console.Read(); //-- See all claims } else if (Command == "2") { Claim peekingClaim = claimRepository.GetNextClaim(); Console.Clear(); Console.WriteLine("Here are the details for the next claim to be handled: \n" + $"ClaimID: {peekingClaim.ClaimID} \n" + $"Type: {peekingClaim.ClaimType} \n" + $"Description: {peekingClaim.Description} \n" + $"Amount: ${peekingClaim.ClaimAmount} \n" + $"DateOfClaim: {peekingClaim.DateOfClaim} \n" + $"DateOfAccident: {peekingClaim.DateOfAccident} \n" + $"IsValid: {peekingClaim.IsValid}" ); Console.WriteLine("Do you want to handle this claim now? Y/N"); string yn = Console.ReadLine().ToLower(); if (yn == "y") { claimRepository.Dequeue(); claimRepository.AddClaim(newClaim()); } else if (yn == "n") { } //-- Take care of next claim } else if (Command == "3") { claimRepository.AddClaim(newClaim()); //-- Enter a new Claim } else if (Command == "4") { break; } } }
static void Main(string[] args) { ClaimRepository claims = new ClaimRepository(); claims.AddClaim(new Claim(ClaimType.Home, "Wreck in my house", 0.05m, new DateTime(2006, 04, 27), new DateTime(2018, 04, 28))); claims.Run(); }
static void Main(string[] args) { ClaimRepository claimRepo = new ClaimRepository(); DateTime incidentOneTime = new DateTime(2018, 04, 25); DateTime claimOneTime = new DateTime(2018, 04, 27); Claim claimSmith = new Claim(101, "Car", "Car accident on 465", 400.00m, incidentOneTime, claimOneTime, true); claimRepo.AddClaim(claimSmith); bool cont = true; while (cont) { Console.Clear(); Console.WriteLine($"What do you want to do? Please select a number:\n" + $"1) See all claims\n" + $"2) Take care of the next claim\n" + $"3) Enter a new claim\n" + $"4) Exit"); string userAnswer = Console.ReadLine(); switch (userAnswer) { case "1": Console.Clear(); claimRepo.printQueue(); break; case "2": Console.Clear(); Console.SetBufferSize(150, 150); Claim peek = claimRepo.SeeNextClaimInQueue(); Console.SetCursorPosition(0, 0); Console.Write("ID:"); Console.SetCursorPosition(0, 1); Console.Write(peek.ClaimID); //Console.WriteLine($"Claim ID: {peek.ClaimID}\n" + Console.SetCursorPosition(9, 0); Console.Write("Type:"); Console.SetCursorPosition(9, 1); Console.Write(peek.ClaimType); //$"Claim Type: {peek.ClaimType}\n" + Console.SetCursorPosition(20, 0); Console.Write("Description:"); Console.SetCursorPosition(20, 1); Console.Write(peek.ClaimDescription); //$"Claim Description: {peek.ClaimDescription}\n" + Console.SetCursorPosition(47, 0); Console.Write("Amount:"); Console.SetCursorPosition(47, 1); Console.Write(peek.ClaimAmount); //$"Claim Amount: {peek.ClaimAmount}\n" + Console.SetCursorPosition(60, 0); Console.Write("Date of Incident:"); Console.SetCursorPosition(60, 1); Console.Write(peek.DateOfIncident.ToShortDateString()); //$"Date of Incident: {peek.DateOfIncident}\n" + Console.SetCursorPosition(83, 0); Console.Write("Date of Claim:"); Console.SetCursorPosition(83, 1); Console.Write(peek.DateOfClaim.ToShortDateString()); //$"Date of Claim: {peek.DateOfClaim}\n" + Console.SetCursorPosition(103, 0); Console.Write("Validity:"); Console.SetCursorPosition(103, 1); Console.Write(peek.IsValidKomodo); //$"Claim Validity: {peek.IsValidKomodo}\n"); Console.WriteLine("\n\nDo you want to be assigned as the agent for this claim? y/n"); string agentAssignment = Console.ReadLine(); if (agentAssignment == "y") { claimRepo.TakeNextClaim(); Console.WriteLine("You have been assigned as the agent for this claim."); } else { Console.WriteLine("This claim will remain in the queue."); } break; case "3": Console.Clear(); while (true) { bool isValidKomodo = true; Console.Clear(); Console.WriteLine("Enter the Claim ID:"); string claimIDString = Console.ReadLine(); int claimID = Int32.Parse(claimIDString); Console.WriteLine("Enter claim type (Car, Home, or Theft:"); string claimType = Console.ReadLine(); Console.WriteLine("Enter claim description:"); string claimDescription = Console.ReadLine(); Console.WriteLine("Enter amount of damage:"); string claimAmountString = Console.ReadLine(); decimal claimAmount = decimal.Parse(claimAmountString); Console.WriteLine("Enter date of incident (MM/DD/YYYY):"); //how to I manage how DateTime appears? string dateOfIncidentString = Console.ReadLine(); DateTime dateOfIncident = DateTime.Parse(dateOfIncidentString); Console.WriteLine("Enter date of claim:"); //how to I manage how DateTime appears? string dateOfClaimString = Console.ReadLine(); DateTime dateOfClaim = DateTime.Parse(dateOfClaimString); TimeSpan span = new TimeSpan(30, 0, 0, 0); if (dateOfClaim - dateOfIncident <= span) { isValidKomodo = true; } else if (dateOfClaim - dateOfIncident > span) { isValidKomodo = false; Console.WriteLine("I'm sorry, we cannot process your claim because it occurred outside our 30-day claim period."); break; } Claim userInput = new Claim(claimID, claimType, claimDescription, claimAmount, dateOfIncident, dateOfClaim, isValidKomodo); claimRepo.AddClaim(userInput); Console.WriteLine("Thank you! Your claim is being processed."); break; } break; case "4": (cont) = false; Console.Clear(); Console.WriteLine("Goodbye!"); break; default: break; } Console.ReadLine(); } }
private void EnterNewClaim() { Console.Clear(); Console.Write("Enter Claim ID: "); string idStr = Console.ReadLine(); bool idBool = int.TryParse(idStr, out int ID); if (idBool == false) { Console.Clear(); Console.WriteLine("Invalid Response"); Console.ReadKey(); EnterNewClaim(); } Console.Write("Enter Claim Type: "); string type = Console.ReadLine(); ClaimType claimType = ClaimType.Undefined; switch (type) { case "Car": claimType = ClaimType.Car; break; case "Home": claimType = ClaimType.Home; break; case "Theft": claimType = ClaimType.Theft; break; default: claimType = ClaimType.Undefined; break; } Console.Write("Enter Claim Description: "); string desc = Console.ReadLine(); Console.Write("Enter Amount: "); string amountStr = Console.ReadLine(); bool amtBool = double.TryParse(amountStr, out double amount); if (amtBool == false) { Console.Clear(); Console.WriteLine("Invalid Answer"); Console.ReadKey(); EnterNewClaim(); } Console.Write("Date of Accident: "); string dateAcc = Console.ReadLine(); DateTime dateAccident = DateTime.Parse(dateAcc); Console.Write("Date of Claim: "); string dateCl = Console.ReadLine(); DateTime dateClaim = DateTime.Parse(dateCl); Claim newClaim = new Claim(ID, amount, desc, dateAccident, dateClaim, claimType); if (newClaim.IsValid == true) { Console.WriteLine("This Claim is Valid"); } else { Console.WriteLine("This Claim is not Valid"); } Console.ReadKey(); claimRepo.AddClaim(newClaim); Console.Clear(); Console.Write("Claim Added\nAdd Another? (Y/N) "); string input = Console.ReadLine(); if (input == "y" || input == "Y") { EnterNewClaim(); } InitialPrompt(); }
static void Main(string[] args) { ClaimRepository claimRepo = new ClaimRepository(); Queue <Claim> claimQueue = claimRepo.GetClaims(); string response = null; while (response != "4") { Console.Clear(); Console.Write($"Which action would you like to take?" + $"\n1. View all claims." + $"\n2. Process next claim." + $"\n3. Enter new claim." + $"\n4. Exit." + $"\n "); response = Console.ReadLine(); claimQueue = claimRepo.GetClaims(); if (response == "1") { Console.Clear(); Console.WriteLine($"ClaimID\t " + $"Type\t" + $"Description\t" + $"Amount\t" + $"DateOfAccident\t" + $"DateOfClaim\t" + $"IsValid"); foreach (Claim claim in claimQueue) { Console.WriteLine($" {claim.ClaimID}\t " + $"{claim.ClaimType}\t" + $"{claim.Description}\t\t" + $"${claim.ClaimAmount}\t" + $"{claim.DateOfIncident.ToShortDateString()}\t" + $"{claim.DateOfClaim.ToShortDateString()}\t" + $"{claim.IsValid}"); } Console.Read(); } else if (response == "2") { Console.Clear(); if (claimQueue.Count != 0) { Claim topItem = claimQueue.Peek(); Console.WriteLine($"Here are the details for the next claim to be handled:\n" + $" ClaimID: {topItem.ClaimID}\n" + $" Type: {topItem.ClaimType}\n" + $" Description: {topItem.Description}\n" + $" Amount: {topItem.ClaimAmount}\n" + $" DateOfIncident: {topItem.DateOfIncident.ToShortDateString()}\n" + $" DateOfClaim: {topItem.DateOfClaim.ToShortDateString()}\n" + $" IsValid: {topItem.IsValid}"); Console.Write("Do you want to deal with this claim now? (y/n): "); string delClaim = Console.ReadLine(); if (delClaim == "y") { claimQueue.Dequeue(); foreach (Claim claim in claimQueue) { claim.ClaimID--; } claimRepo.CountDown(); } } } else if (response == "3") { ClaimType type = ClaimType.Car; string outPut = null; while (true) { Console.Clear(); Console.Write($"{outPut}" + $"Enter the type of claim being made." + $"\n1. Car \n2. Home \n3. Theft \n "); string inType = Console.ReadLine(); if (inType == "1") { type = ClaimType.Car; break; } else if (inType == "2") { type = ClaimType.Home; break; } else if (inType == "3") { type = ClaimType.Theft; break; } else { outPut = "Invalid Input, please try again.\n"; } } Console.Clear(); Console.Write("Enter the claim amount: $"); string claimAmountAsString = Console.ReadLine(); decimal amount = Decimal.Parse(claimAmountAsString); Console.Write("\nEnter a brief description for the claim: "); string desc = Console.ReadLine(); DateTime claimDate = CreateDate("\nEnter the Month, Day, and Year of the claim."); DateTime incidentDate = CreateDate("\nEnter the Month, Day, and Year of the incident."); claimRepo.AddClaim(type, desc, amount, incidentDate, claimDate); } else if (response == "4") { break; } } }