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)
{
try {
Console.WriteLine("Establising Connection");
Console.WriteLine("Establising Connection...");
_conn = new OdbcConnection(info);
Console.WriteLine("Connection established");
Console.WriteLine("Connection established.");
}
catch {
//_conn = null;

View File

@ -3,28 +3,68 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Odbc;
using TeamHobby.HobbyProjectGenerator.DataAccess;
namespace TeamHobby.HobbyProjectGenerator.UserManagement
{
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;
}
public bool EditUserRecord(UserAccount newUser)
public bool DeleteUserRecord(UserAccount newUser, IDataSource<string> dbSource)
{
return true;
}
public bool DeleteUserRecord(UserAccount newUser)
public bool DisableUser(UserAccount newUser, IDataSource<string> dbSource)
{
return true;
}
public bool DisableUser(UserAccount newUser)
{
return true;
}
public bool EnableUser(UserAccount newUser)
public bool EnableUser(UserAccount newUser, IDataSource<string> dbSource)
{
return true;
}

View File

@ -146,7 +146,6 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
// Check with database if user is an admin
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 r.Role from roles r, users u where " +
$"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(),
newCredentials.GetPassword(), newCredentials.GetEmail(),
newCredentials.GetRole(), DateTime.UtcNow);
accountService.CreateUserRecord(newUser);
accountService.CreateUserRecord(newUser, dbSource);
break;
// Edit account
case 2:
UserAccount newEditUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow);
accountService.EditUserRecord(newEditUser);
accountService.EditUserRecord(newEditUser, dbSource);
break;
// Delete account
case 3:
UserAccount newDeleteUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow);
accountService.DeleteUserRecord(newDeleteUser);
accountService.DeleteUserRecord(newDeleteUser, dbSource);
break;
// Disable account
case 4:
UserAccount newDisableUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow);
accountService.DisableUser(newDisableUser);
accountService.DisableUser(newDisableUser, dbSource);
break;
// Enable account
case 5:
UserAccount newEnableUser = new UserAccount(newCredentials.GetUserName(),
newCredentials.GetPassword(), DateTime.UtcNow);
accountService.EnableUser(newEnableUser);
accountService.EnableUser(newEnableUser, dbSource);
break;
// View logs
case 6:

View File

@ -51,24 +51,25 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
private string _newUserName;
private string _newPassword;
private string _newEmail;
private string _role;
private string _newRole;
private DateTime _newTime;
public UserAccount(string newUN, string newPWD, string Email, string role, DateTime newTime)
{
_newUserName = newUN;
_newPassword = newPWD;
_role = role;
_newRole = role;
_newEmail = Email;
_newTime = newTime;
}
public UserAccount()
{
_role = "regular";
_newRole = "regular";
_newTime= DateTime.Now;
}
public string NewUserName { get { return _newUserName; } }
public string NewPassword { get { return _newPassword; } }
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
Console.WindowHeight = 40;
Console.WriteLine(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"));
// Creating the Factory class
string dbType = "sql";
RDSFactory factory = new RDSFactory();