211 lines
6.5 KiB
C#
211 lines
6.5 KiB
C#
using MySql.Data.MySqlClient;
|
|
|
|
namespace Nevyn.Classes
|
|
{
|
|
public class Mysql
|
|
{
|
|
private MySqlConnection connection;
|
|
private string server;
|
|
private string database;
|
|
private string uid;
|
|
private string password;
|
|
|
|
//Constructor
|
|
public Mysql()
|
|
{
|
|
Initialize();
|
|
}
|
|
|
|
//Initialize values
|
|
private void Initialize()
|
|
{
|
|
server = "192.168.1.108";
|
|
database = "Nevyn";
|
|
uid = "nevyn";
|
|
password = "";
|
|
string connectionString;
|
|
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
|
|
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
|
|
|
|
connection = new MySqlConnection(connectionString);
|
|
}
|
|
//open connection to database
|
|
public bool OpenConnection()
|
|
{
|
|
try
|
|
{
|
|
if (connection.State != System.Data.ConnectionState.Open)
|
|
connection.Open();
|
|
return true;
|
|
}
|
|
catch (MySqlException ex)
|
|
{
|
|
//When handling errors, you can your application's response based
|
|
//on the error number.
|
|
//The two most common error numbers when connecting are as follows:
|
|
//0: Cannot connect to server.
|
|
//1045: Invalid user name and/or password.
|
|
switch (ex.Number)
|
|
{
|
|
case 0:
|
|
Console.Write("Cannot connect to server. Contact administrator");
|
|
break;
|
|
|
|
case 1045:
|
|
Console.Write("Invalid username/password, please try again");
|
|
break;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//Close connection
|
|
public bool CloseConnection()
|
|
{
|
|
try
|
|
{
|
|
connection.Close();
|
|
return true;
|
|
}
|
|
catch (MySqlException ex)
|
|
{
|
|
Console.Write(ex.Message);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public Models.Wallet SelectWallet()
|
|
{
|
|
string query = "SELECT * FROM tblWallet";
|
|
|
|
//Create a list to store the result
|
|
Models.Wallet wallet = new Models.Wallet();
|
|
|
|
//Open connection
|
|
if (this.OpenConnection() == true)
|
|
{
|
|
//Create Command
|
|
MySqlCommand cmd = new MySqlCommand(query, connection);
|
|
//Create a data reader and Execute the command
|
|
MySqlDataReader dataReader = cmd.ExecuteReader();
|
|
|
|
//Read the data and store them in the list
|
|
while (dataReader.Read())
|
|
{
|
|
wallet.Id = (int)dataReader["idtblWallet"];
|
|
wallet.Kort = (int)dataReader["Kort"];
|
|
wallet.Buffert = (int)dataReader["Buffert"];
|
|
wallet.Spara = (int)dataReader["Spara"];
|
|
|
|
}
|
|
|
|
//close Data Reader
|
|
dataReader.Close();
|
|
|
|
//close Connection
|
|
this.CloseConnection();
|
|
|
|
//return list to be displayed
|
|
return wallet;
|
|
}
|
|
else
|
|
{
|
|
return wallet;
|
|
}
|
|
}
|
|
|
|
public List<Models.BudgetItem> getBudgetItems(int ID)
|
|
{
|
|
string query = "SELECT * FROM tblBudgetItems WHERE category='" + ID + "'";
|
|
|
|
//Create a list to store the result
|
|
List<Models.BudgetItem> budgetItems = new List<Models.BudgetItem>();
|
|
|
|
//Open connection
|
|
if (this.OpenConnection() == true)
|
|
{
|
|
//Create Command
|
|
MySqlCommand cmd = new MySqlCommand(query, connection);
|
|
//Create a data reader and Execute the command
|
|
MySqlDataReader dataReader = cmd.ExecuteReader();
|
|
|
|
//Read the data and store them in the list
|
|
while (dataReader.Read())
|
|
{
|
|
Models.BudgetItem item = new Models.BudgetItem();
|
|
item.ID = (int)dataReader["idtblBudgetItems"];
|
|
item.Name = (string)dataReader["Name"];
|
|
item.Amount = (int)dataReader["Amount"];
|
|
item.Description = (string)dataReader["Description"];
|
|
item.Month = (int)dataReader["Month"];
|
|
item.Year = (int)dataReader["Year"];
|
|
//item.User = (int)dataReader["UserID"];
|
|
|
|
budgetItems.Add(item);
|
|
}
|
|
|
|
//close Data Reader
|
|
dataReader.Close();
|
|
|
|
//close Connection
|
|
//this.CloseConnection();
|
|
|
|
//return list to be displayed
|
|
return budgetItems;
|
|
}
|
|
else
|
|
{
|
|
return budgetItems;
|
|
}
|
|
}
|
|
|
|
public List<Models.Category> getBudgetCategories()
|
|
{
|
|
string query = "SELECT * FROM tblCategories";
|
|
|
|
//Create a list to store the result
|
|
List<Models.Category> categoryList = new List<Models.Category>();
|
|
|
|
//Open connection
|
|
if (this.OpenConnection() == true)
|
|
{
|
|
//Create Command
|
|
MySqlCommand cmd = new MySqlCommand(query, connection);
|
|
//Create a data reader and Execute the command
|
|
MySqlDataReader dataReader = cmd.ExecuteReader();
|
|
|
|
//Read the data and store them in the list
|
|
while (dataReader.Read())
|
|
{
|
|
Models.Category category = new Models.Category();
|
|
category.ID = (int)dataReader["idtblCategories"];
|
|
category.Name = (string)dataReader["Name"];
|
|
category.parent = (int)dataReader["parent"];
|
|
categoryList.Add(category);
|
|
}
|
|
|
|
//close Data Reader
|
|
dataReader.Close();
|
|
|
|
for (var i = 0; i < categoryList.Count(); i++)
|
|
{
|
|
categoryList[i].Items = this.getBudgetItems(categoryList[i].ID);
|
|
|
|
}
|
|
|
|
//close Connection
|
|
this.CloseConnection();
|
|
|
|
|
|
|
|
//return list to be displayed
|
|
return categoryList;
|
|
}
|
|
else
|
|
{
|
|
return categoryList;
|
|
}
|
|
}
|
|
}
|
|
}
|