initial script for dummy bulk data
This commit is contained in:
parent
de8dd8a583
commit
9bba0ebcc1
41
Source Code/FileExtract.cs
Normal file
41
Source Code/FileExtract.cs
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.DataAccess;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.UserManagement;
|
||||||
|
|
||||||
|
namespace main
|
||||||
|
{
|
||||||
|
internal class FileExtract
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
string[] lines = { "First line", "Second line", "Third line" };
|
||||||
|
using StreamWriter file = new ("BulkRequest.txt");
|
||||||
|
|
||||||
|
var serviceTest = new AccountService();
|
||||||
|
string dbType = "sql";
|
||||||
|
RDSFactory dbFactory = new RDSFactory();
|
||||||
|
|
||||||
|
|
||||||
|
// Testing Data Access Layer
|
||||||
|
string dbInfo = "DRIVER={MariaDB ODBC 3.1 Driver};" +
|
||||||
|
"TCPIP=1;" +
|
||||||
|
"SERVER=localhost;" +
|
||||||
|
"DATABASE=hobby;" +
|
||||||
|
"UID=root;" +
|
||||||
|
"PASSWORD=hobby;" +
|
||||||
|
"OPTION=3";
|
||||||
|
IDataSource<string> datasource = dbFactory.getDataSource(dbType, dbInfo);
|
||||||
|
|
||||||
|
// Create a file
|
||||||
|
for (int i = 0; i < 10000; i++)
|
||||||
|
{
|
||||||
|
var TestAcc = new UserAccount("newUser" + $"{i}", "4567", $"email{i}@a.com", "regular", DateTime.Now);
|
||||||
|
file.Write(serviceTest.CreateUserRecord(TestAcc, "Rifat", datasource));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,6 +6,9 @@ namespace TeamHobby.HobbyProjectGenerator.DataAccess
|
|||||||
{
|
{
|
||||||
public void UserManagementMenu(string username)
|
public void UserManagementMenu(string username)
|
||||||
{
|
{
|
||||||
|
// File must be within the main folder path
|
||||||
|
// Get the current directory.
|
||||||
|
string path = Directory.GetCurrentDirectory();
|
||||||
// Menu for all UserManagement options
|
// Menu for all UserManagement options
|
||||||
int menu = 0;
|
int menu = 0;
|
||||||
Console.WriteLine("-------------------------------------\n");
|
Console.WriteLine("-------------------------------------\n");
|
||||||
@ -23,6 +26,8 @@ namespace TeamHobby.HobbyProjectGenerator.DataAccess
|
|||||||
menu += 1;
|
menu += 1;
|
||||||
Console.WriteLine(menu + ") Enable an account.\n");
|
Console.WriteLine(menu + ") Enable an account.\n");
|
||||||
menu += 1;
|
menu += 1;
|
||||||
|
Console.WriteLine(menu + $") Bulk operation from file within the directory.\n{path}\\BulkOps\n");
|
||||||
|
menu += 1;
|
||||||
Console.WriteLine(menu + ") View log path.\n");
|
Console.WriteLine(menu + ") View log path.\n");
|
||||||
menu += 1;
|
menu += 1;
|
||||||
Console.WriteLine(menu + ") View archive path.\n");
|
Console.WriteLine(menu + ") View archive path.\n");
|
||||||
|
|||||||
@ -98,5 +98,13 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public bool BulkOperation()
|
||||||
|
{
|
||||||
|
// List choices of operations
|
||||||
|
List<string> ops = new List<string> {"Create Account", "Edit Account",
|
||||||
|
"Delete Account", "Disable Account", "Enable Account"};
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,13 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
|
|||||||
{
|
{
|
||||||
public class SystemAccountManager
|
public class SystemAccountManager
|
||||||
{
|
{
|
||||||
|
public bool BulkOperation()
|
||||||
|
{
|
||||||
|
// List choices of operations
|
||||||
|
List<string> ops = new List<string> {"Create Account", "Edit Account",
|
||||||
|
"Delete Account", "Disable Account", "Enable Account"};
|
||||||
|
return true;
|
||||||
|
}
|
||||||
public string IsInputValid(string checkUN, string checkPWD)
|
public string IsInputValid(string checkUN, string checkPWD)
|
||||||
{
|
{
|
||||||
// Create bool variables to check if username and password are valid
|
// Create bool variables to check if username and password are valid
|
||||||
@ -304,11 +311,51 @@ namespace TeamHobby.HobbyProjectGenerator.UserManagement
|
|||||||
return "User does not exist";
|
return "User does not exist";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
// View logs
|
// Bulk operation through file
|
||||||
case 6:
|
case 6:
|
||||||
|
AccountService bulkOP = new AccountService();
|
||||||
|
// Get path to defualt bin location
|
||||||
|
string path = Directory.GetCurrentDirectory();
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
// Get name of file and update path to correct folder
|
||||||
|
Console.WriteLine("Please input the name of the file:(Example.txt)");
|
||||||
|
string filename = $"{path}\\BulkOps\\{Console.ReadLine()}";
|
||||||
|
|
||||||
|
// Read file
|
||||||
|
FileInfo fileInfo = new FileInfo(filename);
|
||||||
|
|
||||||
|
// Get filesize
|
||||||
|
long fileSize = filename.Length;
|
||||||
|
long fileSizeGB = fileSize / (1024 * 1024);
|
||||||
|
//Console.WriteLine($"File size is {fileSize}kb");
|
||||||
|
|
||||||
|
// Check if input is empty
|
||||||
|
if (filename == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Invalid file name.\n");
|
||||||
|
}
|
||||||
|
// Check if file is over 2GB
|
||||||
|
else if (fileSizeGB > 2)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"File size is {fileSizeGB}GB\n");
|
||||||
|
Console.WriteLine("File is too large, please enter a smaller file.\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Begin bulk operation
|
||||||
|
bulkOP.BulkOperation();
|
||||||
|
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
// View logs
|
||||||
|
case 7:
|
||||||
break;
|
break;
|
||||||
// View archive
|
// View archive
|
||||||
case 7:
|
case 8:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Console.WriteLine("Invalid input.\nPlease enter a valid option.\n");
|
Console.WriteLine("Invalid input.\nPlease enter a valid option.\n");
|
||||||
|
|||||||
@ -31,7 +31,7 @@ namespace TeamHobby.UserManagement.xTests
|
|||||||
"SERVER=localhost;" +
|
"SERVER=localhost;" +
|
||||||
"DATABASE=hobby;" +
|
"DATABASE=hobby;" +
|
||||||
"UID=root;" +
|
"UID=root;" +
|
||||||
"PASSWORD=hobby;" +
|
"PASSWORD=Teamhobby;" +
|
||||||
"OPTION=3";
|
"OPTION=3";
|
||||||
IDataSource<string> datasource = dbFactory.getDataSource(dbType, dbInfo);
|
IDataSource<string> datasource = dbFactory.getDataSource(dbType, dbInfo);
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ namespace TeamHobby.UserManagement.xTests
|
|||||||
"SERVER=localhost;" +
|
"SERVER=localhost;" +
|
||||||
"DATABASE=hobby;" +
|
"DATABASE=hobby;" +
|
||||||
"UID=root;" +
|
"UID=root;" +
|
||||||
"PASSWORD=hobby;" +
|
"PASSWORD=Teamhobby;" +
|
||||||
"OPTION=3";
|
"OPTION=3";
|
||||||
IDataSource<string> datasource = dbFactory.getDataSource(dbType, dbInfo);
|
IDataSource<string> datasource = dbFactory.getDataSource(dbType, dbInfo);
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ namespace TeamHobby.UserManagement.xTests
|
|||||||
for (int i = 0; i < 10000; i++)
|
for (int i = 0; i < 10000; i++)
|
||||||
{
|
{
|
||||||
var TestAcc = new UserAccount("newUser" + $"{i}", "4567", $"email{i}@a.com", "regular", sTime);
|
var TestAcc = new UserAccount("newUser" + $"{i}", "4567", $"email{i}@a.com", "regular", sTime);
|
||||||
serviceTest.CreateUserRecord(TestAcc, "Rifat", datasource);
|
serviceTest.DeleteUserRecord(TestAcc, "Rifat", datasource);
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTime eTime = DateTime.Now;
|
DateTime eTime = DateTime.Now;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
using System;
|
/*using System;
|
||||||
using System.Data.Odbc;
|
using System.Data.Odbc;
|
||||||
using TeamHobby.HobbyProjectGenerator.Archive;
|
using TeamHobby.HobbyProjectGenerator.Archive;
|
||||||
using TeamHobby.HobbyProjectGenerator.DataAccess;
|
using TeamHobby.HobbyProjectGenerator.DataAccess;
|
||||||
@ -147,3 +147,4 @@ namespace TeamHobby.HobbyProjectGenerator.Main
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
90
Source Code/main/ExtractBulkOp.cs
Normal file
90
Source Code/main/ExtractBulkOp.cs
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Data.Odbc;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.DataAccess;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.UserManagement;
|
||||||
|
|
||||||
|
namespace main
|
||||||
|
{
|
||||||
|
public class ExtractBulkOp
|
||||||
|
{
|
||||||
|
//public void ExtractBulkOP()
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Get the current directory.
|
||||||
|
string path = Directory.GetCurrentDirectory();
|
||||||
|
// Open file reader stream
|
||||||
|
using StreamReader fileRead = new(path + "\\BulkOps\\Bulk.txt"); // path + "\\BulkOps\\{input}"
|
||||||
|
// Show location of the file being written
|
||||||
|
Console.WriteLine(path + "\\BulkOps\\Bulk.txt");
|
||||||
|
|
||||||
|
// List choices of operations
|
||||||
|
List<string> ops = new List<string> {"Create Account", "Edit Account",
|
||||||
|
"Delete Account", "Disable Account", "Enable Account"};
|
||||||
|
|
||||||
|
// Create Account service object
|
||||||
|
AccountService serviceTest = new AccountService();
|
||||||
|
|
||||||
|
// List to hold file operation and credentials
|
||||||
|
List<string[]> fileList = new List<string[]>();
|
||||||
|
// Loop through file rows
|
||||||
|
while (!fileRead.EndOfStream)
|
||||||
|
{
|
||||||
|
// Create variable to hold current line
|
||||||
|
string line = fileRead.ReadLine();
|
||||||
|
// Check if line is not empty and contains the separator
|
||||||
|
if (line != null && line.Contains(":"))
|
||||||
|
{
|
||||||
|
// Assign value to hold current line parameter
|
||||||
|
string value = line.Split(':')[1].Trim();
|
||||||
|
|
||||||
|
// Check what operation is being called
|
||||||
|
if(ops.Contains(value))
|
||||||
|
{
|
||||||
|
// Declare empty list each time operation is found
|
||||||
|
string[] temp = new string[] { };
|
||||||
|
// Loop until empty line is found
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
string currLine = fileRead.ReadLine();
|
||||||
|
// Check if line is not empty
|
||||||
|
if(currLine != null && currLine.Contains(":"))
|
||||||
|
{
|
||||||
|
currLine = currLine.Split(':')[1].Trim();
|
||||||
|
if (ops.Contains(currLine))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
temp.Append(currLine);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fileList.Add(temp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Console.WriteLine(fileList[2]);
|
||||||
|
/* for (int i = 0; i < fileList.Count; i++)
|
||||||
|
{
|
||||||
|
for(int j = 0; j < fileList[i].Length; j++)
|
||||||
|
{
|
||||||
|
Console.WriteLine(fileList[i][j]);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
fileRead.Close();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Error reading file");
|
||||||
|
Console.WriteLine(e.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
70
Source Code/main/GenerateOpFile.cs
Normal file
70
Source Code/main/GenerateOpFile.cs
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.DataAccess;
|
||||||
|
using TeamHobby.HobbyProjectGenerator.UserManagement;
|
||||||
|
|
||||||
|
namespace main
|
||||||
|
{
|
||||||
|
public class GenerateOpFile
|
||||||
|
{
|
||||||
|
public void GenerateOPFile()
|
||||||
|
//public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Get the current directory.
|
||||||
|
string path = Directory.GetCurrentDirectory();
|
||||||
|
// Open file stream
|
||||||
|
using StreamWriter file = new(path + "\\BulkOps\\Bulk.txt", append: true);
|
||||||
|
// Show location of the file being written
|
||||||
|
Console.WriteLine(path + "\\BulkOps\\Bulk.txt");
|
||||||
|
|
||||||
|
// List choices of operations
|
||||||
|
List<string> ops = new List<string> {"Create Account", "Edit Account",
|
||||||
|
"Delete Account", "Disable Account", "Enable Account"};
|
||||||
|
// Create Account service object
|
||||||
|
AccountService serviceTest = new AccountService();
|
||||||
|
|
||||||
|
// Find database and connect to it
|
||||||
|
string dbType = "sql";
|
||||||
|
RDSFactory dbFactory = new RDSFactory();
|
||||||
|
|
||||||
|
// Testing Data Access Layer
|
||||||
|
string dbInfo = "DRIVER={MariaDB ODBC 3.1 Driver};" +
|
||||||
|
"TCPIP=1;" +
|
||||||
|
"SERVER=localhost;" +
|
||||||
|
"DATABASE=hobby;" +
|
||||||
|
"UID=root;" +
|
||||||
|
"PASSWORD=Teamhobby;" +
|
||||||
|
"OPTION=3";
|
||||||
|
IDataSource<string> datasource = dbFactory.getDataSource(dbType, dbInfo);
|
||||||
|
|
||||||
|
// Create a file
|
||||||
|
// Initialize value for random operation
|
||||||
|
Random random = new Random();
|
||||||
|
int index = 0;
|
||||||
|
for (int i = 0; i < 10000; i++)
|
||||||
|
{
|
||||||
|
// Choose random operation
|
||||||
|
index = random.Next(ops.Count);
|
||||||
|
// Create next dummy data
|
||||||
|
UserAccount testAcc = new UserAccount("newUser" + $"{i}", "4567", $"email{i}@aol.com", "regular", DateTime.Now);
|
||||||
|
// Write to file
|
||||||
|
// Write Operation: for now it is only create accounts to avoid errors
|
||||||
|
file.WriteLine($"Operation: {ops[0]}");
|
||||||
|
// Write credentials in the format of: (UserName, Password, Role, IsActive, CreatedBy, CreatedDate, Email)
|
||||||
|
file.WriteLine($"Username: {testAcc.username}\nPassword: {testAcc.password}\nRole: {testAcc.role}\nEmail: {testAcc.email}\n");
|
||||||
|
}
|
||||||
|
file.Close();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Error reading file");
|
||||||
|
Console.WriteLine(e.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user