added create account record

This commit is contained in:
Im_Alpha 2021-12-13 15:37:58 -08:00
parent 6414c9feed
commit b2a627a9c7
5 changed files with 62 additions and 20 deletions

View File

@ -17,9 +17,9 @@ namespace TeamHobby.HobbyProjectGenerator.DataAccess
public SqlDAO(string info) public SqlDAO(string info)
{ {
try { try {
Console.WriteLine("Establising Connection"); Console.WriteLine("Establising Connection...");
_conn = new OdbcConnection(info); _conn = new OdbcConnection(info);
Console.WriteLine("Connection established"); Console.WriteLine("Connection established.");
} }
catch { catch {
//_conn = null; //_conn = null;

View File

@ -3,28 +3,68 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Data.Odbc;
using TeamHobby.HobbyProjectGenerator.DataAccess;
namespace TeamHobby.HobbyProjectGenerator.UserManagement namespace TeamHobby.HobbyProjectGenerator.UserManagement
{ {
public class AccountService public class AccountService
{ {
public bool CreateUserRecord(UserAccount newUser) public bool CreateUserRecord(UserAccount newUser, IDataSource<string> dbSource)
{
// string checkAdmin = $"Select * from users where username = {user.username} and password = {user.password};";
// Insert into users table
string sqlUser = $"INSERT INTO hobby.users (UserName, Password," +
$"CreatedBy, CreatedDate, Email) VALUES ('{newUser.NewUserName}', " +
$"'{newUser.NewPassword}','{newUser.username}', NOW(),'{newUser.NewEmail}');";
Object insertNewUser = dbSource.WriteData(sqlUser);
// Insert into users table
string sqlRoles = $"INSERT INTO hobby.roles (Role, CreatedBy, CreatedDate) " +
$"VALUES ('{newUser.NewRole}', '{newUser.username}', NOW());";
Object insertNewRole = dbSource.WriteData(sqlUser);
// Create string for confirming user account
string confirmUser = $"Select * from users where username = {newUser.NewUserName} " +
$"and password = {newUser.NewPassword};";
Object conUser = dbSource.WriteData(confirmUser);
//Console.WriteLine("type of Reesult:" + confirmAdmin.GetType());
OdbcDataReader reader = null;
if (conUser.GetType() == typeof(OdbcDataReader))
{
reader = (OdbcDataReader)conUser;
}
// Create String to hold sql output
string checkSql = "";
// Read Sql query results
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
SqlDAO sqlDS = (SqlDAO)dbSource;
Console.WriteLine("");
// Closing the connection
sqlDS.getConnection().Close();
return true;
}
public bool EditUserRecord(UserAccount newUser, IDataSource<string> dbSource)
{ {
return true; return true;
} }
public bool EditUserRecord(UserAccount newUser) public bool DeleteUserRecord(UserAccount newUser, IDataSource<string> dbSource)
{ {
return true; return true;
} }
public bool DeleteUserRecord(UserAccount newUser) public bool DisableUser(UserAccount newUser, IDataSource<string> dbSource)
{ {
return true; return true;
} }
public bool DisableUser(UserAccount newUser) public bool EnableUser(UserAccount newUser, IDataSource<string> dbSource)
{
return true;
}
public bool EnableUser(UserAccount newUser)
{ {
return true; return true;
} }

View File

@ -146,7 +146,6 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
// Check with database if user is an admin // Check with database if user is an admin
public bool isAdmin(UserAccount user, IDataSource<string> dbSource) public bool isAdmin(UserAccount user, IDataSource<string> dbSource)
{ {
// select r.Role from roles r, users u where UserName = '{user.username}' and Password = '{user.password}' and r.RoleID = u.RoleID;
// string checkAdmin = $"Select * from users where username = {user.username} and password = {user.password};"; // string checkAdmin = $"Select * from users where username = {user.username} and password = {user.password};";
string checkAdmin = $"select r.Role from roles r, users u where " + string checkAdmin = $"select r.Role from roles r, users u where " +
$"UserName = '{user.username}' and Password = '{user.password}' and r.RoleID = u.RoleID;"; $"UserName = '{user.username}' and Password = '{user.password}' and r.RoleID = u.RoleID;";
@ -225,31 +224,31 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
UserAccount newUser = new UserAccount(newCredentials.GetUserName(), UserAccount newUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), newCredentials.GetEmail(), newCredentials.GetPassword(), newCredentials.GetEmail(),
newCredentials.GetRole(), DateTime.UtcNow); newCredentials.GetRole(), DateTime.UtcNow);
accountService.CreateUserRecord(newUser); accountService.CreateUserRecord(newUser, dbSource);
break; break;
// Edit account // Edit account
case 2: case 2:
UserAccount newEditUser = new UserAccount(newCredentials.GetUserName(), UserAccount newEditUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow); newCredentials.GetPassword(), DateTime.UtcNow);
accountService.EditUserRecord(newEditUser); accountService.EditUserRecord(newEditUser, dbSource);
break; break;
// Delete account // Delete account
case 3: case 3:
UserAccount newDeleteUser = new UserAccount(newCredentials.GetUserName(), UserAccount newDeleteUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow); newCredentials.GetPassword(), DateTime.UtcNow);
accountService.DeleteUserRecord(newDeleteUser); accountService.DeleteUserRecord(newDeleteUser, dbSource);
break; break;
// Disable account // Disable account
case 4: case 4:
UserAccount newDisableUser = new UserAccount(newCredentials.GetUserName(), UserAccount newDisableUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow); newCredentials.GetPassword(), DateTime.UtcNow);
accountService.DisableUser(newDisableUser); accountService.DisableUser(newDisableUser, dbSource);
break; break;
// Enable account // Enable account
case 5: case 5:
UserAccount newEnableUser = new UserAccount(newCredentials.GetUserName(), UserAccount newEnableUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow); newCredentials.GetPassword(), DateTime.UtcNow);
accountService.EnableUser(newEnableUser); accountService.EnableUser(newEnableUser, dbSource);
break; break;
// View logs // View logs
case 6: case 6:

View File

@ -51,24 +51,25 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
private string _newUserName; private string _newUserName;
private string _newPassword; private string _newPassword;
private string _newEmail; private string _newEmail;
private string _role; private string _newRole;
private DateTime _newTime; private DateTime _newTime;
public UserAccount(string newUN, string newPWD, string Email, string role, DateTime newTime) public UserAccount(string newUN, string newPWD, string Email, string role, DateTime newTime)
{ {
_newUserName = newUN; _newUserName = newUN;
_newPassword = newPWD; _newPassword = newPWD;
_role = role; _newRole = role;
_newEmail = Email; _newEmail = Email;
_newTime = newTime; _newTime = newTime;
} }
public UserAccount() public UserAccount()
{ {
_role = "regular"; _newRole = "regular";
_newTime= DateTime.Now; _newTime= DateTime.Now;
} }
public string NewUserName { get { return _newUserName; } } public string NewUserName { get { return _newUserName; } }
public string NewPassword { get { return _newPassword; } } public string NewPassword { get { return _newPassword; } }
public string NewEmail { get { return _newEmail; } } public string NewEmail { get { return _newEmail; } }
public DateTime Newtime { get { return _newTime; } } public string NewRole { get { return _newRole; } }
public DateTime NewTime { get { return _newTime; } }
} }
} }

View File

@ -19,6 +19,8 @@ namespace TeamHobby.HobbyProjectGenerator.Main
// Change terminal height // Change terminal height
Console.WindowHeight = 40; Console.WindowHeight = 40;
Console.WriteLine(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"));
// Creating the Factory class // Creating the Factory class
string dbType = "sql"; string dbType = "sql";
RDSFactory factory = new RDSFactory(); RDSFactory factory = new RDSFactory();