137 lines
5.0 KiB
C#
137 lines
5.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Dapper;
|
|
using System.Data;
|
|
using System.Windows.Forms;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace db_AI_4
|
|
{
|
|
public class DataAccess
|
|
{
|
|
public SqlConnection connection { get; private set; }
|
|
|
|
//Read locations from the Database function start
|
|
public List<GetLocations> GetLocations(string LocationName)
|
|
{
|
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("marketdb")))
|
|
{
|
|
|
|
var output = connection.Query<GetLocations>($"SELECT * FROM locations WHERE location_name like '%{ LocationName }%'").ToList();
|
|
return output;
|
|
|
|
}
|
|
}
|
|
|
|
public void CurrentUser(string input_mail)
|
|
{
|
|
List<int> QueryResult = new List<int>();
|
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("marketdb")))
|
|
{
|
|
var command = "SELECT member_id FROM dbo.members WHERE members.email_address = @Email_Adress";
|
|
QueryResult = connection.Query<int>(command, new { Email_Adress = input_mail }).ToList();
|
|
GetMembers.member_id = Convert.ToInt32(QueryResult[0]);
|
|
}
|
|
}
|
|
|
|
|
|
// Insert Locations into Database start
|
|
public void InsertLocations(string StreetName, int LocationCapacity, string LocationName)
|
|
{
|
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("marketdb")))
|
|
{
|
|
List<GetLocations> locations = new List<GetLocations>();
|
|
|
|
locations.Add(new GetLocations { streetname = StreetName, location_capacity = LocationCapacity, location_name = LocationName });
|
|
|
|
connection.Execute("INSERT INTO dbo.locations (streetname, location_capacity, location_name)" +
|
|
" VALUES (@streetName, @location_capacity, @location_name)", locations);
|
|
}
|
|
}
|
|
// Insert Locations into Database end
|
|
|
|
|
|
|
|
// Insert Rents into Database start
|
|
public void InsertRent(string RentDate, int MemberID, int RentPriceID )
|
|
{
|
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("marketdb")))
|
|
{
|
|
List<GetRents> rents = new List<GetRents>();
|
|
|
|
rents.Add(new GetRents { rent_date = RentDate, member_id = GetMembers.member_id, rent_price_id = RentPriceID, location_id = 1});
|
|
|
|
connection.Execute("INSERT INTO dbo.rents (rent_date, member_id, rent_price_id, location_id)" +
|
|
" VALUES (@rent_date, @member_id, @rent_price_id, @location_id )", rents);
|
|
}
|
|
}
|
|
// Insert Rents into Database end
|
|
|
|
|
|
|
|
//Registration function start
|
|
public void InsertMember(string input_mail, string input_pw)
|
|
{
|
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("marketdb")))
|
|
{
|
|
var command = "INSERT INTO dbo.members (email_address, password) VALUES ( @Email_address, @Password)";
|
|
connection.Execute(command, new { Email_address = input_mail, Password = input_pw });
|
|
|
|
}
|
|
}
|
|
//Registration function end
|
|
|
|
//Read Rented locations start
|
|
internal List<GetRents> GetRentedLocations(string LocationName)
|
|
{
|
|
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("marketdb")))
|
|
{
|
|
|
|
var rentoutput = connection.Query<GetRents>( $"SELECT * FROM [RentedLocations] WHERE location_name like '%{ LocationName }%' ORDER BY rent_date ASC ").ToList();
|
|
return rentoutput;
|
|
|
|
}
|
|
}
|
|
|
|
//Read Rented locations end
|
|
|
|
|
|
|
|
//CheckLogin function start
|
|
public void CheckLogin(string Email_address, string Password)
|
|
{
|
|
SqlConnection con = new SqlConnection(Helper.CnnVal("marketdb"));
|
|
|
|
con.Open();
|
|
SqlCommand cmd = new SqlCommand($"SELECT * FROM dbo.members WHERE email_address = '{Email_address}' and password = '{Password}'",con);
|
|
SqlDataReader reader;
|
|
reader = cmd.ExecuteReader();
|
|
|
|
int count = 0;
|
|
while (reader.Read())
|
|
{
|
|
count += 1;
|
|
}
|
|
|
|
if (count == 1)
|
|
{
|
|
CurrentUser(GetMembers.email_address);
|
|
Dashboard dashboard = new Dashboard();
|
|
dashboard.Show();
|
|
}
|
|
else if (count > 0)
|
|
{
|
|
MessageBox.Show("Already existing");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Username or Password not correct");
|
|
|
|
}
|
|
//CheckLogin function end
|
|
}
|
|
}
|
|
} |