public void SelectDataRegularUserInfo(IRegularUser user) { try { Connect(); var command = connection.CreateCommand(); var columns = new List <string>(); command.CommandText = "SELECT id, title, numberOfPages, ISBN, isCheckedOut, isReserved FROM librarycatalog.books WHERE isReserved = @isReserved AND isCheckedOut = @isCheckedOut"; command.Parameters.AddWithValue("@isReserved", "No"); command.Parameters.AddWithValue("@isCheckedOut", "No"); MySqlDataReader reader = command.ExecuteReader(); PrintWithColumns(reader); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { connection.Close(); } }
public void CheckInDataBook(int bookID, IRegularUser user) { try { Connect(); var command = connection.CreateCommand(); command.CommandText = "UPDATE librarycatalog.books SET isCheckedOut = @isCheckedOut, isReserved = @isReserved, takenByUserID = @takenByUserID where id = @id AND isReserved = @isReserved AND isCheckedOut=@CurrentIsCheckedOut AND takenByUserID = @CurrenttakenByUserID"; command.Parameters.AddWithValue("@id", bookID); command.Parameters.AddWithValue("@isCheckedOut", "No"); command.Parameters.AddWithValue("@CurrentIsCheckedOut", "Yes"); command.Parameters.AddWithValue("@takenByUserID", 0); command.Parameters.AddWithValue("@CurrenttakenByUserID", user.ID); command.Parameters.AddWithValue("@isReserved", "No"); var result = command.ExecuteNonQuery(); if (result != 0) { Console.WriteLine("Book has been returned."); } else { Console.WriteLine("You can't return this book."); } connection.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public Application(IRegister register, ILogin login, IBaseUser baseUser, IAdminUser admin, IRegularUser regular) { _register = register; _login = login; _baseUser = baseUser; _adminFunction = admin; _regularFunction = regular; }
public void Register() { Console.Write("Enter your name: "); var name = Console.ReadLine(); Console.Write("Enter your last name: "); var lastName = Console.ReadLine(); Console.Write("Enter your username: "******"Enter your password: "******"Confirm password: "); var confirmPassword = Console.ReadLine(); _regularUser = _register.CreateUser(name, lastName, username, password, confirmPassword); _register.SignUp(_regularUser); }
public void SelectDataBooks(string query, string columnName, IRegularUser user) { Connect(); var command = connection.CreateCommand(); var columns = new List <string>(); command.CommandText = query; command.Parameters.AddWithValue("@" + columnName, user.ID); command.ExecuteNonQuery(); var reader = command.ExecuteReader(); if (reader.HasRows) { PrintWithColumns(reader); } else { Console.WriteLine("You did not take any book. \n"); } }
public void ReserveDataBook(int bookID, IRegularUser user) { try { Connect(); var command = connection.CreateCommand(); command.CommandText = "SELECT id FROM librarycatalog.users WHERE username = @username"; command.Parameters.AddWithValue("@username", user.Username); var id = command.ExecuteScalar(); command.CommandText = "UPDATE librarycatalog.books SET isReserved = @isReserved, reservedByUserID = @loggedInUserID where id = @id AND isCheckedOut = @isCheckedOut AND isReserved = @CurrentlyIsReserved"; command.Parameters.AddWithValue("@id", bookID); command.Parameters.AddWithValue("@loggedInUserID", id); command.Parameters.AddWithValue("@isCheckedOut", "No"); command.Parameters.AddWithValue("@isReserved", "Yes"); command.Parameters.AddWithValue("@CurrentlyIsReserved", "No"); var result = command.ExecuteNonQuery(); if (result != 0) { Console.WriteLine("Book has been reserved!"); } else { Console.WriteLine("This book cannot be reserved."); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { connection.Close(); } }
public void Login() { Console.Write("Enter your username: "******"Enter your password: "); var password = Console.ReadLine(); _user = _login.SignIn(username, password); if (_user.Role == 0) { _regularUser = Authentication <RegularUser>(_user); var menu = new RegularMenu(_regularFunction, _regularUser); menu.Menu(); } else { _adminUser = Authentication <AdminUser>(_user); var menu = new AdminMenu(_adminFunction, _adminUser); menu.Menu(); } }
public void CheckOutDataBook(int bookID, IRegularUser user) { try { Connect(); var command = connection.CreateCommand(); command.CommandText = "SELECT id FROM librarycatalog.users WHERE username=@username"; command.Parameters.AddWithValue("@username", user.Username); var loggedInUserID = command.ExecuteScalar(); command.CommandText = "UPDATE librarycatalog.books SET isCheckedOut = @isCheckedOut, isReserved = @isReserved, takenByUserID = @takenByUserID, reservedByUserId = @reservedByUserId WHERE id = @id AND isReserved = @isReserved OR reservedByUserID = @takenByUserID"; command.Parameters.AddWithValue("@id", bookID); command.Parameters.AddWithValue("@isCheckedOut", "Yes"); command.Parameters.AddWithValue("@isReserved", "No"); command.Parameters.AddWithValue("@takenByUserID", loggedInUserID); command.Parameters.AddWithValue("@reservedByUserID", 0); var result = command.ExecuteNonQuery(); if (result != 0) { Console.WriteLine("Book is checked out."); } else { Console.WriteLine("Book cannot be checked out"); } connection.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void SignUp(IRegularUser user) { _database.AddDataUser(user); }
public RegularMenu(IRegularUser regular, IRegularUser user) { _regular = regular; _user = user; }
public void TakeBook(int bookID, IRegularUser user) { _database.CheckOutDataBook(bookID, user); }
public void ShowTakenBooks(IRegularUser user) { var query = "SELECT id, title, numberOfPages, ISBN FROM librarycatalog.books WHERE takenByUserID = @takenByUserID;"; _database.SelectDataBooks(query, "takenByUserID", user); }
public void ReturnBook(int bookID, IRegularUser user) { _database.CheckInDataBook(bookID, user); }
public void ReserveBook(int bookID, IRegularUser user) { _database.ReserveDataBook(bookID, user); }