示例#1
0
        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;
                }
            }
        }
示例#2
0
        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();
        }
示例#3
0
        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();
            }
        }
示例#4
0
        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();
        }
示例#5
0
        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;
                }
            }
        }