Compare commits
	
		
			5 Commits
		
	
	
		
			8875d7e513
			...
			3ee4691a14
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3ee4691a14 | |||
| bb30997ece | |||
| a53ceb2def | |||
| c65fcf6a22 | |||
| 85749e927e | 
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -9,6 +9,7 @@ | |||||||
| *.user | *.user | ||||||
| *.userosscache | *.userosscache | ||||||
| *.sln.docstates | *.sln.docstates | ||||||
|  | **/*/.vscode/ | ||||||
| 
 | 
 | ||||||
| # User-specific files (MonoDevelop/Xamarin Studio) | # User-specific files (MonoDevelop/Xamarin Studio) | ||||||
| *.userprefs | *.userprefs | ||||||
| @ -396,3 +397,6 @@ FodyWeavers.xsd | |||||||
| 
 | 
 | ||||||
| # JetBrains Rider | # JetBrains Rider | ||||||
| *.sln.iml | *.sln.iml | ||||||
|  | 
 | ||||||
|  | # App config file | ||||||
|  | OOP-Opdracht-CSharp-Alfa-2022/OOP-Opdracht-CSharp-Alfa-2022/App.config | ||||||
|  | |||||||
| @ -8,6 +8,7 @@ | |||||||
| 
 | 
 | ||||||
|   <ItemGroup> |   <ItemGroup> | ||||||
|     <PackageReference Include="Microsoft.Data.SqlClient" Version="5.0.1" /> |     <PackageReference Include="Microsoft.Data.SqlClient" Version="5.0.1" /> | ||||||
|  |     <PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" /> | ||||||
|   </ItemGroup> |   </ItemGroup> | ||||||
| 
 | 
 | ||||||
| </Project> | </Project> | ||||||
|  | |||||||
| @ -10,19 +10,72 @@ namespace OOP_Opdracht_CSharp_Alfa_2022 | |||||||
|         { |         { | ||||||
|             Console.WriteLine("Hello World!"); |             Console.WriteLine("Hello World!"); | ||||||
|             Opdracht2(); |             Opdracht2(); | ||||||
|  |             Opdracht3(); | ||||||
|  |             Opdracht3c(); | ||||||
|  |             Opdracht4(); | ||||||
|         } |         } | ||||||
|         static void Opdracht2() |         static void Opdracht2() | ||||||
|         { |         { | ||||||
|             Game game = new classes.Game(); |             Game game = new classes.Game("game"); // Init publisher class instance | ||||||
|             var someRecord = game.find(1); |             var someRecord = game.find(1); // find specific record | ||||||
|             Console.WriteLine($"Record 1 is equal to {someRecord}"); |             Console.WriteLine($"Record 1 is equal to {someRecord}"); | ||||||
|             var games = game.getTableData(); |             // Get the full dictionary and loop over each record | ||||||
|  |             Dictionary<int, String> games = game.getTableData(); | ||||||
|             Console.WriteLine("Outputting Table Contents:"); |             Console.WriteLine("Outputting Table Contents:"); | ||||||
|             foreach (KeyValuePair<int, string> entry in games) |             foreach (KeyValuePair<int, string> entry in games) | ||||||
|             { |             { | ||||||
|                 Console.WriteLine($"Row with id {entry.Key} has value {entry.Value}"); |                 Console.WriteLine($"Row with id {entry.Key} has value {entry.Value}"); // Output entry to Console | ||||||
|             } |             } | ||||||
|             Console.WriteLine($"Trying to fetch KeyValue with invalid id 5 {game.find(5)}"); |             Console.WriteLine($"Trying to fetch KeyValue with invalid id 5 {game.find(7)}"); // Attempt to find invalid record and output to Console | ||||||
|  |         } | ||||||
|  |         static void Opdracht3() | ||||||
|  |         { | ||||||
|  |             Publisher publisher = new Publisher("publisher"); // Init publisher class instance | ||||||
|  |             var someRecord = publisher.find(1); // find specific record | ||||||
|  |             Console.WriteLine($"Record 1 is equal to {someRecord}"); | ||||||
|  | 
 | ||||||
|  |             // Get the full dictionary and loop over each record | ||||||
|  |             var publishers = publisher.getTableData(); | ||||||
|  |             Console.WriteLine("Outputting Table Contents:"); | ||||||
|  |             foreach (KeyValuePair<int, string> entry in publishers) | ||||||
|  |             { | ||||||
|  |                 Console.WriteLine($"Row with id {entry.Key} has value {entry.Value}"); // Output entry to Console | ||||||
|  |             } | ||||||
|  |             Console.WriteLine($"Trying to fetch KeyValue with invalid id 5 {publisher.find(7)}"); // Attempt to find invalid record and output to Console | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         static void Opdracht3c() | ||||||
|  |         { | ||||||
|  |             Publisher publisher = new Publisher("publisher"); // Init publisher class instance | ||||||
|  |             Dictionary<String, Model> tableDict = new Dictionary<string, Model>(); | ||||||
|  |              | ||||||
|  | 
 | ||||||
|  |             while(true){ | ||||||
|  |                 String input; | ||||||
|  |                 // Ask user if they want to request a specific entry | ||||||
|  |                 Console.WriteLine("Would you like to look up a record? [Y/n]"); | ||||||
|  |                 input  = Console.ReadLine(); | ||||||
|  |                 // Allow user to escape the loop | ||||||
|  |                 if(input == "n" || input == "N" || input == "no" || input == "NO" || input == "q"){ | ||||||
|  |                     break; | ||||||
|  |                 } | ||||||
|  |                 Console.WriteLine("Please enter the id of the publisher you wish to look up"); | ||||||
|  |                 input = Console.ReadLine(); | ||||||
|  |                 int id = -1; | ||||||
|  |                 try{ | ||||||
|  |                     id = int.Parse(input); | ||||||
|  |                 } | ||||||
|  |                 catch (FormatException) | ||||||
|  |                 { | ||||||
|  |                     Console.WriteLine("Invalid input for id. Please enter a positive Integer value (Whole number)"); | ||||||
|  |                 } | ||||||
|  |                 if(id >= 0){ | ||||||
|  |                     Console.WriteLine($"Record {id} is equal to {publisher.find(id)}"); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         public static void Opdracht4(){ | ||||||
|  |             Config config = Config.getInstance(); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -0,0 +1,47 @@ | |||||||
|  | using System.Collections.Generic; | ||||||
|  | using System.Collections; | ||||||
|  | using System.Linq; | ||||||
|  | using System.Configuration; | ||||||
|  | using System; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Config{ | ||||||
|  | 
 | ||||||
|  |     private static Config instance = null; | ||||||
|  |     private Dictionary<string,string> contents; | ||||||
|  |     private Config(){ | ||||||
|  |         contents = GetSettings(); | ||||||
|  |     } | ||||||
|  |     public static Config getInstance(){ | ||||||
|  |         if ( instance == null ) instance = new Config(); | ||||||
|  |         return instance; | ||||||
|  |     } | ||||||
|  |     Dictionary <string,string> GetSettings()   | ||||||
|  |     {   | ||||||
|  |         Dictionary<string,string> settings = new Dictionary<string, string>(); | ||||||
|  |         try   | ||||||
|  |             {   | ||||||
|  |                 var appSettings = ConfigurationManager.AppSettings;   | ||||||
|  |                 if (appSettings.Count == 0)   | ||||||
|  |                 {   | ||||||
|  |                     Console.WriteLine("AppSettings is empty.");   | ||||||
|  |                 }   | ||||||
|  |                 else   | ||||||
|  |                 {   | ||||||
|  |                     var keys = appSettings.AllKeys;  | ||||||
|  |                     foreach(string key in keys){ | ||||||
|  |                         String value = appSettings.GetValues(key).GetValue(0).ToString(); | ||||||
|  |                         #if DEBUG | ||||||
|  |                         Console.WriteLine($"Debug: key {key} has value {value}"); | ||||||
|  |                         #endif | ||||||
|  |                         settings.Add(key,value); | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             }   | ||||||
|  |             catch (ConfigurationErrorsException)   | ||||||
|  |             {   | ||||||
|  |                 Console.WriteLine("Error reading app settings");   | ||||||
|  |             }   | ||||||
|  |         return settings; | ||||||
|  |     }     | ||||||
|  | } | ||||||
| @ -13,13 +13,14 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes | |||||||
|     |     | ||||||
| 
 | 
 | ||||||
|         // Game class constructor |         // Game class constructor | ||||||
|         public Game() |         public Game(String _tablename) : base(_tablename) | ||||||
|         { |         { | ||||||
|  |             // Set the table name | ||||||
|             if(this.table_data == null) table_data = new Dictionary<int, string>(); |             if(this.table_data == null) table_data = new Dictionary<int, string>(); | ||||||
|             this.table_data.Add(1, "Battlefield 2042"); |             String[] games = { "Battlefield 2042", "Counter-Strike: Global Offensive", "Quake III Arena", "Rust", "Starcraft II" }; | ||||||
|             this.table_data.Add(2, "Counter-Strike: Global Offensive"); |             for(int index = 1; index < games.Length+1; index++){ | ||||||
|             this.table_data.Add(3, "Rust"); |                 this.table_data.Add(index, games[index-1]); | ||||||
| 
 |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -10,6 +10,12 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes | |||||||
|         protected SqlConnection connection; |         protected SqlConnection connection; | ||||||
|         protected Dictionary<int, string> table_data; |         protected Dictionary<int, string> table_data; | ||||||
|         protected KeyValuePair<int, string> record; |         protected KeyValuePair<int, string> record; | ||||||
|  |         protected String tablename; | ||||||
|  | 
 | ||||||
|  |         // Constructor | ||||||
|  |         public Model(String _tablename){ | ||||||
|  |             this.tablename = _tablename; | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         // Define Getters and Setters |         // Define Getters and Setters | ||||||
| 
 | 
 | ||||||
| @ -23,6 +29,7 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes | |||||||
|             this.table_data = table_data; |             this.table_data = table_data; | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|         // Record get/set methods |         // Record get/set methods | ||||||
|         public void setRecord(int key, string value) |         public void setRecord(int key, string value) | ||||||
|         { |         { | ||||||
|  | |||||||
| @ -6,10 +6,17 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes | |||||||
| { | { | ||||||
|     class Publisher : Model |     class Publisher : Model | ||||||
|     { |     { | ||||||
|         public Publisher() |         public Publisher(String _tablename) : base(_tablename) | ||||||
|         { |         { | ||||||
|             if (table_data == null) table_data = new Dictionary<int, string>(); |             // Set the table name | ||||||
|             table_data.Add(1, "Electronic Arts"); |             this.tablename = "publisher"; | ||||||
|  |             // Initialize dictionary | ||||||
|  |             if (this.table_data == null) this.table_data = new Dictionary<int, string>(); | ||||||
|  |             // Add the publishers to the dictionary | ||||||
|  |             String[] publishers = { "Electronic Arts", "Valve", "id Software", "Facepunch Studios", "Activision Blizzard" }; | ||||||
|  |             for(int index = 1; index < publishers.Length+1; index++){ | ||||||
|  |                 this.table_data.Add(index, publishers[index-1]); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user