Dodaj pliki projektów.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Threading.Tasks;
|
||||
using DatabaseConnection.Model;
|
||||
|
||||
namespace DatabaseConnection.Services
|
||||
{
|
||||
public partial class AuthorService
|
||||
{
|
||||
private readonly DatabaseService databaseService;
|
||||
|
||||
public AuthorService(DatabaseService databaseService) => this.databaseService = databaseService;
|
||||
|
||||
public async Task<List<Author>> GetAuthors()
|
||||
{
|
||||
List<Author> authors = [];
|
||||
var table = await databaseService.ExecuteQuery("SELECT * FROM autorzy_ksiazek");
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
authors.Add(new Author
|
||||
{
|
||||
Id = Convert.ToInt32(row["id_autor"]),
|
||||
Name = row["imie"].ToString(),
|
||||
Surname = row["nazwisko"].ToString(),
|
||||
Birthdate = row["data_urodzenia"].ToString()
|
||||
});
|
||||
|
||||
}
|
||||
return authors;
|
||||
}
|
||||
|
||||
public async Task<int> AddAuthor(Author author)
|
||||
{
|
||||
return await databaseService.ExecuteNonQuery($"INSERT INTO autorzy_ksiazek(imie, nazwisko, data_urodzenia) VALUES('{author.Name}', '{author.Surname}', '{author.Birthdate}');");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Threading.Tasks;
|
||||
using DatabaseConnection.Model;
|
||||
|
||||
namespace DatabaseConnection.Services
|
||||
{
|
||||
public class BookService
|
||||
{
|
||||
private readonly DatabaseService databaseService;
|
||||
|
||||
public BookService(DatabaseService databaseService) => this.databaseService = databaseService;
|
||||
|
||||
public async Task<List<Book>> GetBooks()
|
||||
{
|
||||
List<Book> books = [];
|
||||
|
||||
var table = await databaseService.ExecuteQuery("SELECT id_ksiazka, tytul, GROUP_CONCAT(imie, ' ', nazwisko) as autor, kategoria.nazwa, wydawca, data_publikacji, cena, ilosc FROM ksiazki, autorzy_ksiazek, kategoria WHERE ksiazki.id_kategoria = kategoria.id_kategoria AND ksiazki.id_autor = autorzy_ksiazek.id_autor GROUP BY tytul");
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
books.Add(new Book
|
||||
{
|
||||
Id = Convert.ToInt32(row["id_ksiazka"]),
|
||||
Title = row["tytul"].ToString(),
|
||||
Author = row["autor"].ToString(),
|
||||
Category = row["nazwa"].ToString(),
|
||||
Publisher = row["wydawca"].ToString(),
|
||||
PublishDate = row["data_publikacji"].ToString(),
|
||||
Price = Convert.ToDouble(row["cena"]),
|
||||
Amount = Convert.ToInt32(row["ilosc"])
|
||||
});
|
||||
}
|
||||
|
||||
return books;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
namespace DatabaseConnection.Services
|
||||
{
|
||||
public class DatabaseService
|
||||
{
|
||||
private string _connectionString = "Server=localhost;Database=biblioteka;User=root;Password=;";
|
||||
|
||||
public MySqlConnection Connection()
|
||||
{
|
||||
return new MySqlConnection(_connectionString);
|
||||
}
|
||||
|
||||
public async Task<DataTable> ExecuteQuery(string query)
|
||||
{
|
||||
using MySqlConnection connection = Connection();
|
||||
await connection.OpenAsync();
|
||||
using MySqlCommand command = new(query, connection);
|
||||
|
||||
using var reader = await command.ExecuteReaderAsync();
|
||||
var table = new DataTable();
|
||||
table.Load(reader);
|
||||
return table;
|
||||
}
|
||||
|
||||
public async Task<int> ExecuteNonQuery(string query)
|
||||
{
|
||||
using MySqlConnection connection = Connection();
|
||||
await connection.OpenAsync();
|
||||
using MySqlCommand command = new(query, connection);
|
||||
|
||||
return await command.ExecuteNonQueryAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Threading.Tasks;
|
||||
using DatabaseConnection.Model;
|
||||
|
||||
namespace DatabaseConnection.Services
|
||||
{
|
||||
public class ReaderService
|
||||
{
|
||||
private readonly DatabaseService databaseService;
|
||||
|
||||
public ReaderService(DatabaseService databaseService) => this.databaseService = databaseService;
|
||||
|
||||
public async Task<List<Reader>> GetReaders()
|
||||
{
|
||||
List<Reader> readers = [];
|
||||
|
||||
var table = await databaseService.ExecuteQuery("SELECT * FROM czytelnicy");
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
readers.Add(new Reader
|
||||
{
|
||||
Id = Convert.ToInt32(row["id_autor"]),
|
||||
Name = row["imie"].ToString(),
|
||||
Surname = row["nazwisko"].ToString(),
|
||||
Address = row["adres_zamieszkania"].ToString(),
|
||||
Birthdate = row["data_urodzenia"].ToString(),
|
||||
Number = (long)Convert.ToInt64(row["numer_telefonu"]),
|
||||
EmailAddress = row["adres_email"].ToString()
|
||||
});
|
||||
}
|
||||
|
||||
return readers;
|
||||
}
|
||||
|
||||
public async Task<int> AddReader(Reader reader)
|
||||
{
|
||||
return await databaseService.ExecuteNonQuery($"INSERT INTO czytelnicy(imie, nazwisko, data_urodzenia, adres_zamieszkania, numer_telefonu, adres_email) VALUES('{reader.Name}', '{reader.Surname}', '{reader.Birthdate}', '{reader.Address}', '{reader.Number}', '{reader.EmailAddress}');");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Threading.Tasks;
|
||||
using DatabaseConnection.Model;
|
||||
|
||||
namespace DatabaseConnection.Services
|
||||
{
|
||||
public class WorkerService
|
||||
{
|
||||
private readonly DatabaseService databaseService;
|
||||
|
||||
public WorkerService(DatabaseService databaseService) => this.databaseService = databaseService;
|
||||
|
||||
public async Task<List<Worker>> GetWorkers()
|
||||
{
|
||||
List<Worker> workers = [];
|
||||
|
||||
var table = await databaseService.ExecuteQuery("SELECT * FROM pracownicy");
|
||||
foreach (DataRow row in table.Rows)
|
||||
{
|
||||
workers.Add(new Worker
|
||||
{
|
||||
Id = Convert.ToInt32(row["id_autor"]),
|
||||
Name = row["imie"].ToString(),
|
||||
Surname = row["nazwisko"].ToString(),
|
||||
StartOfWorking = row["data_rozpoczecia_pracy"].ToString(),
|
||||
Position = row["stanowisko"].ToString(),
|
||||
HourlyRate = Convert.ToDouble(row["stawka_godzinowa"]),
|
||||
EndOfWorking = row["data_zakonczenia_pracy"].ToString()
|
||||
});
|
||||
}
|
||||
|
||||
return workers;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user