Exemple #1
0
        // Udfylder skyggetabellen TestCenterCitizen, binder tilfældige citizens til tilfældige testcentre
        // Kræver at der allerede er Citizens og TestCenter i databasen
        public void AddCitizenToTestCenter(CitizenService cs, TestCenterService tcs, TestCenterCitizenService tccs, int number = 100)
        {
            // Clears the database of TestCenterCitizens
            var myTestCenterCitizen = tccs.Get();

            foreach (var i in myTestCenterCitizen)
            {
                tccs.Remove(i);
            }

            for (int i = 0; i < number; i++)
            {
                //int rcit = random.Next((int)cs.GetCount());
                //int rtcr = random.Next((int)tcs.GetCount());

                int rcit = random.Next(100);
                int rtcr = random.Next(100);

                var cit = cs.GetRandomCitizen(rcit);
                var tcr = tcs.GetRandomTestCenter(rtcr);

                var tcc = new TestCenterCitizen()
                {
                    SocialSecurityNumber = cit.SocialSecurityNumber,
                    TestCenterID         = tcr.TestCenterID,
                    date       = $"{getDate()}{getMonth()}{getYear(0)}",
                    citizen    = cit,
                    testCenter = tcr
                };

                int rnum = random.Next(100);
                if (rnum < 33)
                {
                    tcc.result = false;
                    tcc.status = "Not Ready";
                }
                else if (rnum < 66)
                {
                    tcc.result = true;
                    tcc.status = "Ready";
                }
                else if (rnum <= 100)
                {
                    tcc.result = false;
                    tcc.status = "Ready";
                }

                tccs.Create(tcc);
            }
        }
Exemple #2
0
        public void createTestCenter(TestCenterService tcs)
        {
            Console.Clear();
            Console.WriteLine("Type the ID for the testcenter: ");
            int TestCenterID = int.Parse(Console.ReadLine());

            Console.WriteLine("Type the opening hours of the testcenter (fx. 8-16): ");
            string hours = Console.ReadLine();

            Console.WriteLine("Type the MunicipalityID for the municipality in which the testcenter is: ");
            int municipalityID = int.Parse(Console.ReadLine());

            var TestCenterAdd = new TestCenter()
            {
                TestCenterID   = TestCenterID,
                Hours          = hours,
                MunicipalityID = municipalityID
            };

            tcs.Create(TestCenterAdd);

            Console.WriteLine("TestCenter succesfully added!\n");
        }
Exemple #3
0
        public void createManagement(TestCenterManagementService tcms, TestCenterService tcs)
        {
            Console.Clear();
            Console.WriteLine("Type in TestCenterManagements PhoneNumber:(8 digits): ");
            int phonenumber = int.Parse(Console.ReadLine());

            Console.WriteLine("Type in TestCenterManagements Email: ");
            string email = Console.ReadLine();

            Console.WriteLine("Type in TestCenterID for the TestCenter that the this Management will manage: ");
            int testcenterid = int.Parse(Console.ReadLine());

            var TestCenterManagementAdd = new TestCenterManagement()
            {
                PhoneNumber  = phonenumber,
                Email        = email,
                TestCenterID = testcenterid,
                testCenter   = tcs.Get(testcenterid)
            };

            tcms.Create(TestCenterManagementAdd);

            Console.WriteLine("TestCenterManagement succesfully added!\n");
        }
Exemple #4
0
        // Genererer et antal tilfældige TestCenterManagements
        public void GenerateTestCenterManagement(TestCenterManagementService tcms, TestCenterService tcs, int number = 100)
        {
            // Clears the database of TestCenterManagements
            var myTestCenterManagements = tcms.Get();

            foreach (var i in myTestCenterManagements)
            {
                tcms.Remove(i);
            }

            for (int i = 1; i < (number + 1); i++)
            {
                var temp = random.Next(Municipalities.Count);
                var tcm  = new TestCenterManagement()
                {
                    PhoneNumber  = 10000000 + i,
                    Email        = "random@mail" + i.ToString() + ".dk",
                    TestCenterID = i,
                    testCenter   = tcs.Get(i)
                };

                tcms.Create(tcm);
            }
        }
Exemple #5
0
        // Genererer et antal tilfældige testcentre
        public void GenerateTestCenter(TestCenterService tcs, int number = 100)
        {
            // Clears the database of TestCenter
            var myTestCenters = tcs.Get();

            foreach (var i in myTestCenters)
            {
                tcs.Remove(i);
            }

            for (int i = 1; i < (number + 1); i++)
            {
                var temp = random.Next(Municipalities.Count);

                var testcenter = new TestCenter()
                {
                    TestCenterID   = i,
                    MunicipalityID = Municipalities[temp],
                    Hours          = "8-20"
                };

                tcs.Create(testcenter);
            }
        }
Exemple #6
0
        public void createTestCase(CitizenService cs, TestCenterService tcs, TestCenterCitizenService tccs, LocationCitizenService lcs)
        {
            Console.Clear();
            Console.WriteLine("Type the SocialSecurityNumber of the citizen: ");
            string temp1 = Console.ReadLine();
            string ssn   = temp1.Trim();

            Console.Clear();
            Console.WriteLine("Type the TestCenterID of the TestCenter where the test was made: ");
            string temp2        = Console.ReadLine();
            int    testcenterid = int.Parse(temp2);

            var cit = cs.Get(ssn);
            var tcr = tcs.Get(testcenterid);

            var tcc = new TestCenterCitizen();

            tcc.SocialSecurityNumber = cit.SocialSecurityNumber;
            tcc.TestCenterID         = tcr.TestCenterID;
            tcc.citizen    = cit;
            tcc.testCenter = tcr;

            Console.Clear();
            Console.WriteLine("Type the date of the test (ddmmyy): ");
            string date12 = Console.ReadLine();

            tcc.date = date12;

            Console.Clear();
            Console.WriteLine("Type the status of the test (Not Tested, Not Ready, Ready): ");
            string status = Console.ReadLine();

            tcc.status = status;

            Console.Clear();
            Console.WriteLine("Type the test result: \n" +
                              "'P' for positive\n" +
                              "'N' for negative/unknown\n");
            string temp  = Console.ReadLine();
            int    check = 0;

            do
            {
                if (temp == "P")
                {
                    tcc.result = true;
                    check      = 1;

                    //using (var context = new MyDBContext())
                    //{
                    var tmpresult = lcs.GetSSN(ssn);

                    foreach (LocationCitizen loccit in tmpresult)
                    {
                        var adress = loccit.Address;
                        var tmp2   = lcs.GetADR(adress);

                        // Får den nuværende dato
                        DateTime dt      = DateTime.Now;
                        DateTime dt3days = dt.AddDays(-3);

                        // Får den smittede persons dato
                        string   day1     = loccit.Date.Substring(0, 2);
                        string   month1   = loccit.Date.Substring(2, 2);
                        string   year1    = "20" + loccit.Date.Substring(4, 2);
                        DateTime infectdt = new DateTime(int.Parse(year1), int.Parse(month1), int.Parse(day1));

                        float compareStart = infectdt.CompareTo(dt3days);
                        Console.WriteLine(dt);
                        Console.WriteLine(infectdt);
                        if (compareStart <= 0)
                        {
                            DateTime dt1;
                            DateTime dt2;
                            DateTime dt3;
                            // Trækker 3 dage fra for at se om den er aktiv
                            dt1 = dt.AddDays(-1);
                            dt2 = dt.AddDays(-2);
                            dt3 = dt.AddDays(-3);
                            // Fjerner timer/minutter/sekunder fra DateTime
                            string stringdt1 = dt1.ToShortDateString();
                            dt1 = Convert.ToDateTime(stringdt1);
                            string stringdt2 = dt2.ToShortDateString();
                            dt2 = Convert.ToDateTime(stringdt2);
                            string stringdt3 = dt3.ToShortDateString();
                            dt3 = Convert.ToDateTime(stringdt3);

                            var table = new ConsoleTable("People who MIGHT be infected");

                            foreach (LocationCitizen C in tmp2)
                            {
                                // Formaterer Citizen dato til DateTime og sammenligner med dt1/2/3
                                string   day      = C.Date.Substring(0, 2);
                                string   month    = C.Date.Substring(2, 2);
                                string   year     = "20" + C.Date.Substring(4, 2);
                                DateTime citdt    = new DateTime(int.Parse(year), int.Parse(month), int.Parse(day));
                                float    compare1 = dt1.CompareTo(citdt);
                                float    compare2 = dt2.CompareTo(citdt);
                                float    compare3 = dt3.CompareTo(citdt);

                                if (compare1 == 0 || compare2 == 0 || compare3 == 0)
                                {
                                    if (C.SocialSecurityNumber != ssn)
                                    {
                                        table.AddRow(C.SocialSecurityNumber);
                                    }
                                }
                            }
                            table.Write();
                            Console.WriteLine("Press any key to end");
                            Console.ReadLine();
                        }
                    }
                    //}
                }
                else if (temp == "N")
                {
                    tcc.result = false;
                    check      = 1;
                }
                else
                {
                    Console.WriteLine("Please type a valid result: ");
                    temp  = Console.ReadLine();
                    check = 0;
                }
            } while (check == 0);

            tccs.Create(tcc);

            Console.WriteLine("Test Case succesfully added!\n");
        }
Exemple #7
0
        static void Main(string[] args)
        {
            CitizenService              cs   = new CitizenService();
            LocationService             ls   = new LocationService();
            MunicipalityService         ms   = new MunicipalityService();
            NationService               ns   = new NationService();
            TestCenterService           tcs  = new TestCenterService();
            TestCenterManagementService tcms = new TestCenterManagementService();

            LocationCitizenService   lcs  = new LocationCitizenService();
            TestCenterCitizenService tccs = new TestCenterCitizenService();

            GenerateFunctions gf = new GenerateFunctions();
            CreateFunctions   cf = new CreateFunctions();

            int  choice;
            int  choice2;
            bool finished       = false;
            bool finishedSearch = false;


            // program start
            Console.WriteLine("Make a choice! \n" +
                              " 1: Add Denmark municipality and random dummy data\n" +
                              " 2: Empty database");
            choice = Convert.ToInt32(Console.ReadLine());
            switch (choice)
            {
            case 1:
                Console.Clear();
                gf.ParseMunicipality(ms, ns);
                gf.GenerateTestCenter(tcs, 100);
                gf.GenerateCitizens(cs, 100);
                gf.AddCitizenToTestCenter(cs, tcs, tccs);
                gf.GenerateLocation(ls, 100);
                gf.AddCitizenToLocation(cs, ls, lcs, 100);
                gf.GenerateTestCenterManagement(tcms, tcs, 100);
                break;

            case 2:
                Console.Clear();
                break;
            }

            choice = 0;
            do
            {
                Console.Clear();
                Console.WriteLine("Choose an option... \n" +
                                  " 1: Create Citizen\n" +
                                  " 2: Create Test Center\n" +
                                  " 3: Create Management\n" +
                                  " 4: Create Test Case\n" +
                                  " 5: Create Location\n" +
                                  " 6: Create LocationCitizen\n" +
                                  " 7: Search the database\n" +
                                  " 0: Exit");

                choice = Convert.ToInt32(Console.ReadLine());
                switch (choice)
                {
                case 1:
                    cf.createCitizen(cs);
                    break;

                case 2:
                    cf.createTestCenter(tcs);
                    break;

                case 3:
                    cf.createManagement(tcms, tcs);
                    break;

                case 4:
                    cf.createTestCase(cs, tcs, tccs, lcs);
                    break;

                case 5:
                    cf.createLocation(ls);
                    break;

                case 6:
                    cf.createLocationCitizen(lcs, cs, ls);
                    break;

                case 7:
                    Console.Clear();
                    do
                    {
                        Console.Clear();
                        Console.WriteLine("What do you want to search by? \n" +
                                          " 1: Search by name\n" +
                                          " 2: Search by age groups\n" +
                                          " 3: Search by gender\n" +
                                          " 4: Search by municipality\n" +
                                          " 0: Exit search");

                        choice2 = Convert.ToInt32(Console.ReadLine());
                        switch (choice2)
                        {
                        case 1:
                            cf.searchForCitizen(cs);
                            break;

                        case 2:
                            cf.searchforAge(tccs);
                            break;

                        case 3:
                            cf.searchforSex(tccs);
                            break;

                        case 4:
                            cf.SearchForMunincipality(tccs);
                            break;

                        case 0:
                            finishedSearch = true;
                            break;
                        }
                    } while (finishedSearch == false);
                    break;

                case 0:
                    finished = true;
                    break;
                }
            } while (finished == false);
        }