private void AddManagment() { //tilføj Testledelse Console.WriteLine("Skriv navn på testcenter der ledes:"); var name = Console.ReadLine(); Console.WriteLine("Indtast telefon nr. og email: \"tlf email\""); string[] res = Console.ReadLine().Split(" "); using (var unitOfWork = new UnitOfWork(new CovidContext())) { TestCenter center = unitOfWork.TestCenters.GetAll().Where(s => s.CenterName == name).First(); TestCenterManagement testCenterManagement = null; if (center != null) { testCenterManagement = new TestCenterManagement(center.TestCenterId, res[0], int.Parse(res[1])); unitOfWork.TestCenterManagements.Add(testCenterManagement); unitOfWork.Complete(); } else { Console.WriteLine("Ugyldig Center navn."); Console.WriteLine("Tryk på en knap for at vælge en ny mulighed"); Console.ReadKey(); } } }
static void Main(string[] args) { //CLEAR DATABASE using (var context = new TrackerContext()) { context.CitizenTestedAtTestCenters.RemoveRange(context.CitizenTestedAtTestCenters); context.CitizenWasAtLocations.RemoveRange(context.CitizenWasAtLocations); context.Citizens.RemoveRange(context.Citizens); context.TestCenters.RemoveRange(context.TestCenters); context.Locations.RemoveRange(context.Locations); context.TestCenterManagements.RemoveRange(context.TestCenterManagements); context.Municipalities.RemoveRange(context.Municipalities); context.SaveChanges(); } //INSERT MUNICIPALITIES List <Municipality> municipalities = new List <Municipality>(); string[] readLines = File.ReadAllLines(@"Municipality.csv"); foreach (string line in readLines) { string[] splitLine = line.Split(','); Municipality municipality = new Municipality(); municipality.Name = splitLine[1]; municipality.Population = int.Parse(splitLine[2]); municipalities.Add(municipality); } using (var context = new TrackerContext()) { foreach (Municipality municipality in municipalities) { context.Add(municipality); } context.SaveChanges(); } //INSERT TEST CENTER MANAGEMENT List <TestCenterManagement> testCenterManagements = new List <TestCenterManagement>(); readLines = File.ReadAllLines(@"TestCenterManagementData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); TestCenterManagement management = new TestCenterManagement(); management.Name = splitLine[0]; management.PhoneNumber = int.Parse(splitLine[1]); management.Email = splitLine[2]; testCenterManagements.Add(management); } using (var context = new TrackerContext()) { foreach (TestCenterManagement management in testCenterManagements) { context.Add(management); } context.SaveChanges(); } //INSERT LOCATIONS List <Location> locations = new List <Location>(); readLines = File.ReadAllLines(@"LocationData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); Location location = new Location(); location.Address = splitLine[0]; location.MunicipalityName = splitLine[1]; locations.Add(location); } using (var context = new TrackerContext()) { foreach (Location location in locations) { context.Add(location); } context.SaveChanges(); } //INSERT TEST CENTERS List <TestCenter> testCenters = new List <TestCenter>(); readLines = File.ReadAllLines(@"TestCenterData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); TestCenter testCenter = new TestCenter(); testCenter.Name = splitLine[0]; testCenter.Hours = splitLine[1]; testCenter.ManagementName = splitLine[2]; testCenter.LocationAddress = splitLine[3]; testCenters.Add(testCenter); } using (var context = new TrackerContext()) { foreach (TestCenter testCenter in testCenters) { context.Add(testCenter); } context.SaveChanges(); } //INSERT CITIZENS List <Citizen> citizens = new List <Citizen>(); readLines = File.ReadAllLines(@"CitizenData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); Citizen citizen = new Citizen(); citizen.FirstName = splitLine[0]; citizen.LastName = splitLine[1]; citizen.Sex = splitLine[2][0]; citizen.Age = int.Parse(splitLine[3]); citizen.SSN = splitLine[4]; citizen.MunicipalityName = splitLine[5]; citizens.Add(citizen); } using (var context = new TrackerContext()) { foreach (Citizen citizen in citizens) { context.Add(citizen); } context.SaveChanges(); } //INSERT CITIZENVISITS List <CitizenWasAtLocation> citizenWasAtLocations = new List <CitizenWasAtLocation>(); readLines = File.ReadAllLines(@"LocationVisitedData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); CitizenWasAtLocation citizenWasAtLocation = new CitizenWasAtLocation(); citizenWasAtLocation.VisitingCitizenSSN = splitLine[0]; citizenWasAtLocation.DateOfVisit = DateTime.Parse(splitLine[1]); citizenWasAtLocation.VisitedLocationAddress = splitLine[2]; citizenWasAtLocations.Add(citizenWasAtLocation); } using (var context = new TrackerContext()) { foreach (CitizenWasAtLocation citizenWasAtLocation in citizenWasAtLocations) { var Location = context.Locations .Include(b => b.Visits).First(b => b.Address == citizenWasAtLocation.VisitedLocationAddress); Location.Visits.Add(citizenWasAtLocation); } context.SaveChanges(); } //INSERT TESTS List <CitizenTestedAtTestCenter> citizenTestedAtTestCenters = new List <CitizenTestedAtTestCenter>(); readLines = File.ReadAllLines(@"TestResultData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); CitizenTestedAtTestCenter citizenTestedAtTestCenter = new CitizenTestedAtTestCenter(); citizenTestedAtTestCenter.CitizenSSN = splitLine[0]; citizenTestedAtTestCenter.Date = DateTime.Parse(splitLine[1]); citizenTestedAtTestCenter.TestCenterName = splitLine[2]; citizenTestedAtTestCenter.Result = splitLine[3]; citizenTestedAtTestCenter.Status = splitLine[4]; citizenTestedAtTestCenters.Add(citizenTestedAtTestCenter); } using (var context = new TrackerContext()) { foreach (CitizenTestedAtTestCenter citizenTestedAtTestCenter in citizenTestedAtTestCenters) { var Citizen = context.Citizens .Include(b => b.Tests).First(b => b.SSN == citizenTestedAtTestCenter.CitizenSSN); Citizen.Tests.Add(citizenTestedAtTestCenter); } context.SaveChanges(); } }
private async void TestCenterManagementSaveCommandHandler() { bool verificationFailed = false; if (TestCenterManagementUnderCreation.Email == string.Empty) { Window.TestCenterManagementEmailRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { Window.TestCenterManagementEmailRequired.Visibility = Visibility.Hidden; } if (TestCenterManagementUnderCreation.PhoneNumber == 0) { Window.TestCenterManagementPhoneNumberRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { Window.TestCenterManagementPhoneNumberRequired.Visibility = Visibility.Hidden; } if (TestCenterManagementUnderCreation.Name == string.Empty) { Window.TestCenterManagementNameRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { Window.TestCenterManagementNameRequired.Visibility = Visibility.Hidden; } if (verificationFailed) { return; } else { try { using (var context = new TrackerContext()) { context.Add(TestCenterManagementUnderCreation); await context.SaveChangesAsync(); TestCenterManagementUnderCreation = new TestCenterManagement(); RaisePropertyChanged("TestCenterManagements"); } } catch (Exception e) { StringBuilder exceptionString = new StringBuilder(); while (e != null) { exceptionString.AppendLine(e.Message); e = e.InnerException; } MessageBox.Show(exceptionString.ToString()); } } }
public void Remove(TestCenterManagement testCenterManagementIn) => _testcentermanagement.DeleteOne(testcentermanagement => testcentermanagement.PhoneNumber == testCenterManagementIn.PhoneNumber);
public void Update(int phoneNumber, TestCenterManagement testCenterManagementIn) => _testcentermanagement.ReplaceOne(testcentermanagement => testcentermanagement.PhoneNumber == phoneNumber, testCenterManagementIn);
//CRUD operations public TestCenterManagement Create(TestCenterManagement testCenterManagement) { _testcentermanagement.InsertOne(testCenterManagement); return(testCenterManagement); }
private async void TestCenterSaveCommandHandler() { bool verificationFailed = false; if (TestCenterManagementUnderCreation.Email == string.Empty) { window.TestCenterManagementEmailRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { window.TestCenterManagementEmailRequired.Visibility = Visibility.Hidden; } if (TestCenterManagementUnderCreation.PhoneNumber == 0) { window.TestCenterManagementPhoneNumberRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { window.TestCenterManagementPhoneNumberRequired.Visibility = Visibility.Hidden; } if (TestCenterManagementUnderCreation.Name == string.Empty) { window.TestCenterManagementNameRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { window.TestCenterManagementNameRequired.Visibility = Visibility.Hidden; } if (TestCenterUnderCreation.PlacedIn == null) { window.TestCenterLocationRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { window.TestCenterLocationRequired.Visibility = Visibility.Hidden; } if (TestCenterUnderCreation.Name == string.Empty) { window.TestCenterNameRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { window.TestCenterNameRequired.Visibility = Visibility.Hidden; } if (TestCenterUnderCreation.Hours == string.Empty) { window.TestCenterHoursRequired.Visibility = Visibility.Visible; verificationFailed = true; } else { window.TestCenterHoursRequired.Visibility = Visibility.Hidden; } TestCenterUnderCreation.HasManagement = TestCenterManagementUnderCreation; if (verificationFailed) { return; } else { try { var client = new MongoClient("mongodb://127.0.0.1:27017"); var db = client.GetDatabase("CovidTracking"); var testCenterCollection = db.GetCollection <TestCenter>("TestCenters"); var locationCollection = db.GetCollection <Location>("Locations"); testCenterCollection.InsertOne(TestCenterUnderCreation); var update = Builders <Location> .Update.AddToSet("TestCentersId", TestCenterUnderCreation.Id); locationCollection.FindOneAndUpdate(l => l.Id == TestCenterUnderCreation.LocationId, update); TestCenterUnderCreation = new TestCenter(); TestCenterManagementUnderCreation = new TestCenterManagement(); RaisePropertyChanged("TestCenters"); } catch (Exception e) { StringBuilder exceptionString = new StringBuilder(); while (e != null) { exceptionString.AppendLine(e.Message); e = e.InnerException; } MessageBox.Show(exceptionString.ToString()); } } }
static void Main(string[] args) { //CLEAR DATABASE /* * using (var context = new TrackerContext()) * { * context.CitizenTestedAtTestCenters.RemoveRange(context.CitizenTestedAtTestCenters); * context.CitizenWasAtLocations.RemoveRange(context.CitizenWasAtLocations); * context.Citizens.RemoveRange(context.Citizens); * context.TestCenters.RemoveRange(context.TestCenters); * context.Locations.RemoveRange(context.Locations); * context.TestCenterManagements.RemoveRange(context.TestCenterManagements); * context.Municipalities.RemoveRange(context.Municipalities); * context.SaveChanges(); * } */ var client = new MongoClient("mongodb://127.0.0.1:27017"); var db = client.GetDatabase("CovidTracking"); db.DropCollection("LocationVisitDays"); db.DropCollection("Municipalities"); db.DropCollection("Locations"); db.DropCollection("TestCenters"); db.DropCollection("Citizens"); db.CreateCollection("Citizens"); db.CreateCollection("TestCenters"); db.CreateCollection("Locations"); db.CreateCollection("Municipalities"); db.CreateCollection("LocationVisitDays"); //GET MUNICIPALITIES List <Municipality> municipalities = new List <Municipality>(); string[] readLines = File.ReadAllLines(@"Municipality.csv"); foreach (string line in readLines) { string[] splitLine = line.Split(','); Municipality municipality = new Municipality(); municipality.Name = splitLine[1]; municipality.Population = int.Parse(splitLine[2]); municipalities.Add(municipality); } //GET TESTCENTERMANAGEMENTS List <TestCenterManagement> testCenterManagements = new List <TestCenterManagement>(); readLines = File.ReadAllLines(@"TestCenterManagementData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); TestCenterManagement management = new TestCenterManagement(); management.Name = splitLine[0]; management.PhoneNumber = int.Parse(splitLine[1]); management.Email = splitLine[2]; testCenterManagements.Add(management); } //GET LOCATIONS List <Location> locations = new List <Location>(); readLines = File.ReadAllLines(@"LocationData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); Location location = new Location(); location.Address = splitLine[0]; location.IsIn = municipalities.Find(m => m.Name == splitLine[1]); //Handle circular reference if (location.IsIn != null) { location.IsIn.LocationsInMunicipality.Add(location); } locations.Add(location); } //GET TEST CENTERS List <TestCenter> testCenters = new List <TestCenter>(); readLines = File.ReadAllLines(@"TestCenterData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); TestCenter testCenter = new TestCenter(); testCenter.Name = splitLine[0]; testCenter.Hours = splitLine[1]; testCenter.HasManagement = testCenterManagements.Find(t => t.Name == splitLine[2]); testCenter.PlacedIn = locations.Find(t => t.Address == splitLine[3]); testCenter.PlacedIn.TestCentersAtLocation.Add(testCenter); testCenters.Add(testCenter); } //GET CITIZENS List <Citizen> citizens = new List <Citizen>(); readLines = File.ReadAllLines(@"CitizenData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); Citizen citizen = new Citizen(); citizen.FirstName = splitLine[0]; citizen.LastName = splitLine[1]; citizen.Sex = splitLine[2]; citizen.Age = int.Parse(splitLine[3]); citizen.SSN = splitLine[4]; citizen.LivesIn = municipalities.Find(m => m.Name == splitLine[5]); citizen.LivesIn.CitizensInMunicipality.Add(citizen); citizens.Add(citizen); } //GET CITIZENVISITS List <LocationVisitDay> locationVisitDays = new List <LocationVisitDay>(); readLines = File.ReadAllLines(@"LocationVisitedData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); LocationVisitDay foundDay = locationVisitDays.Find(l => l.DateOfVisit == DateTime.Parse(splitLine[1], styles: DateTimeStyles.AssumeUniversal) && l.VisitedLocation.Address == splitLine[2]); if (foundDay != null) { Citizen foundCitizen = citizens.Find(c => c.SSN == splitLine[0]); foundDay.VisitingCitizens.Add(foundCitizen); foundCitizen.Visits.Add(foundDay); } else { LocationVisitDay locationVisitDay = new LocationVisitDay(); locationVisitDay.VisitingCitizens.Add(citizens.Find(c => c.SSN == splitLine[0])); locationVisitDay.DateOfVisit = DateTime.Parse(splitLine[1], styles: DateTimeStyles.AssumeUniversal); locationVisitDay.VisitedLocation = locations.Find(l => l.Address == splitLine[2]); locationVisitDay.VisitedLocation.Visits.Add(locationVisitDay); locationVisitDays.Add(locationVisitDay); } } //GET TESTS readLines = File.ReadAllLines(@"TestResultData"); foreach (string line in readLines) { string[] splitLine = line.Split(';'); CitizenTestedAtTestCenter citizenTestedAtTestCenter = new CitizenTestedAtTestCenter(); citizenTestedAtTestCenter.TestedCitizen = citizens.Find(c => c.SSN == splitLine[0]); citizenTestedAtTestCenter.Date = DateTime.Parse(splitLine[1], styles: DateTimeStyles.AssumeUniversal); citizenTestedAtTestCenter.TestedAt = testCenters.Find(t => t.Name == splitLine[2]); citizenTestedAtTestCenter.TestedAt.Tests.Add(citizenTestedAtTestCenter); citizenTestedAtTestCenter.Result = splitLine[3]; citizenTestedAtTestCenter.Status = splitLine[4]; citizenTestedAtTestCenter.TestedCitizen.Tests.Add(citizenTestedAtTestCenter); } var municipalityCollection = db.GetCollection <Municipality>("Municipalities"); municipalityCollection.InsertMany(municipalities); var locationCollection = db.GetCollection <Location>("Locations"); locationCollection.InsertMany(locations); var testCenterCollection = db.GetCollection <TestCenter>("TestCenters"); testCenterCollection.InsertMany(testCenters); var citizenCollection = db.GetCollection <Citizen>("Citizens"); citizenCollection.InsertMany(citizens); var locationVisitCollection = db.GetCollection <LocationVisitDay>("LocationVisitDays"); locationVisitCollection.InsertMany(locationVisitDays); }