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
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
**/*/.vscode/
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
@ -396,3 +397,6 @@ FodyWeavers.xsd
|
||||
|
||||
# JetBrains Rider
|
||||
*.sln.iml
|
||||
|
||||
# App config file
|
||||
OOP-Opdracht-CSharp-Alfa-2022/OOP-Opdracht-CSharp-Alfa-2022/App.config
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.0.1" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@ -10,19 +10,72 @@ namespace OOP_Opdracht_CSharp_Alfa_2022
|
||||
{
|
||||
Console.WriteLine("Hello World!");
|
||||
Opdracht2();
|
||||
Opdracht3();
|
||||
Opdracht3c();
|
||||
Opdracht4();
|
||||
}
|
||||
static void Opdracht2()
|
||||
{
|
||||
Game game = new classes.Game();
|
||||
var someRecord = game.find(1);
|
||||
Game game = new classes.Game("game"); // Init publisher class instance
|
||||
var someRecord = game.find(1); // find specific record
|
||||
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:");
|
||||
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
|
||||
public Game()
|
||||
public Game(String _tablename) : base(_tablename)
|
||||
{
|
||||
// Set the table name
|
||||
if(this.table_data == null) table_data = new Dictionary<int, string>();
|
||||
this.table_data.Add(1, "Battlefield 2042");
|
||||
this.table_data.Add(2, "Counter-Strike: Global Offensive");
|
||||
this.table_data.Add(3, "Rust");
|
||||
|
||||
String[] games = { "Battlefield 2042", "Counter-Strike: Global Offensive", "Quake III Arena", "Rust", "Starcraft II" };
|
||||
for(int index = 1; index < games.Length+1; index++){
|
||||
this.table_data.Add(index, games[index-1]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -10,6 +10,12 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes
|
||||
protected SqlConnection connection;
|
||||
protected Dictionary<int, string> table_data;
|
||||
protected KeyValuePair<int, string> record;
|
||||
protected String tablename;
|
||||
|
||||
// Constructor
|
||||
public Model(String _tablename){
|
||||
this.tablename = _tablename;
|
||||
}
|
||||
|
||||
// Define Getters and Setters
|
||||
|
||||
@ -23,6 +29,7 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes
|
||||
this.table_data = table_data;
|
||||
return;
|
||||
}
|
||||
|
||||
// Record get/set methods
|
||||
public void setRecord(int key, string value)
|
||||
{
|
||||
|
||||
@ -6,10 +6,17 @@ namespace OOP_Opdracht_CSharp_Alfa_2022.classes
|
||||
{
|
||||
class Publisher : Model
|
||||
{
|
||||
public Publisher()
|
||||
public Publisher(String _tablename) : base(_tablename)
|
||||
{
|
||||
if (table_data == null) table_data = new Dictionary<int, string>();
|
||||
table_data.Add(1, "Electronic Arts");
|
||||
// Set the table name
|
||||
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