Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 56 additions & 41 deletions Web.Api/Controllers/AdminController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,63 +28,78 @@ public AdminController(IOptions<StatusChange> statusChangeOptions, TaskManagerAp
[HttpPost("/AddStatus", Name = "AddStatus")]
public async Task<ActionResult<string>> AddStatus()
{
using (logger.BeginScope(new Dictionary<string, object> { ["TransactionId"] = HttpContext.TraceIdentifier, }))
try
{
Status pendingStatus = new() { Id = statusChange.PendingId, Name = statusChange.Pending, Code = statusChange.Code1 };
Status completedStatus = new() { Id = statusChange.CompleteId, Name = statusChange.Complete, Code = statusChange.Code2 };
using (logger.BeginScope(new Dictionary<string, object> { ["TransactionId"] = HttpContext.TraceIdentifier, }))
{
Status pendingStatus = new() { Id = statusChange.PendingId, Name = statusChange.Pending, Code = statusChange.Code1 };
Status completedStatus = new() { Id = statusChange.CompleteId, Name = statusChange.Complete, Code = statusChange.Code2 };

context.Add(pendingStatus);
context.Add(completedStatus);
context.Add(pendingStatus);
context.Add(completedStatus);

await context.SaveChangesAsync();
logger.LogInformation("Pending and completed status saved to database");
return Ok("Status' Added");
await context.SaveChangesAsync();
logger.LogInformation("Pending and completed status saved to database");
return Ok("Status' Added");
}
}
catch (Exception ex)
{
logger.LogError($"Adding status process failed: {ex.Message}");
return StatusCode(500);
}
}


[HttpPost("/Refresh", Name = "Refresh")]
public async Task<ActionResult<string>> AddDummyData() {

using (logger.BeginScope(new Dictionary<string, object> { ["TransactionId"] = HttpContext.TraceIdentifier, }))
try
{
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;
using (logger.BeginScope(new Dictionary<string, object> { ["TransactionId"] = HttpContext.TraceIdentifier, }))
{
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token = source.Token;

context.Database.ExecuteSqlRaw("""
delete from SubTasks
delete from TaskItemStatusHistory
delete from TaskWithinList
delete from TaskItemNotes
delete from Lists
delete from TaskItems
delete from Statuses
delete from users
""");
logger.LogInformation("Successfully removed all previous data in database");
context.Database.ExecuteSqlRaw("""
delete from SubTasks
delete from TaskItemStatusHistory
delete from TaskWithinList
delete from TaskItemNotes
delete from Lists
delete from TaskItems
delete from Statuses
delete from users
""");
logger.LogInformation("Successfully removed all previous data in database");

Status pendingStatus = new() { Id = statusChange.PendingId, Name = statusChange.Pending, Code = statusChange.Code1 };
Status completedStatus = new() { Id = statusChange.CompleteId, Name = statusChange.Complete, Code = statusChange.Code2 };
Status pendingStatus = new() { Id = statusChange.PendingId, Name = statusChange.Pending, Code = statusChange.Code1 };
Status completedStatus = new() { Id = statusChange.CompleteId, Name = statusChange.Complete, Code = statusChange.Code2 };

context.Add(pendingStatus);
context.Add(completedStatus);
logger.LogInformation("Successfully added pending and completed status'");
context.Add(pendingStatus);
context.Add(completedStatus);
logger.LogInformation("Successfully added pending and completed status'");


UserDirector userDirector = new UserDirector(statusChange);
context.AddRange([
userDirector.MakeAlexFarmerProfile(),
userDirector.MakeJessieHopkinsProfile(),
userDirector.MakeAprilRiceProfile(),
userDirector.MakeNikoLoganProfile(),
userDirector.MakeChuckFinleyProfile(),
userDirector.MakeIrenePetersonProfile(),
]);
logger.LogInformation("Successfully created all dummy data");
UserDirector userDirector = new UserDirector(statusChange);
context.AddRange([
userDirector.MakeAlexFarmerProfile(),
userDirector.MakeJessieHopkinsProfile(),
userDirector.MakeAprilRiceProfile(),
userDirector.MakeNikoLoganProfile(),
userDirector.MakeChuckFinleyProfile(),
userDirector.MakeIrenePetersonProfile(),
]);
logger.LogInformation("Successfully created all dummy data");

await context.SaveChangesAsync(token);
logger.LogInformation("Successfully saved all changes to database");
return Ok("Dummy Data Added");
await context.SaveChangesAsync(token);
logger.LogInformation("Successfully saved all changes to database");
return Ok("Dummy Data Added");
}
}
catch (Exception ex)
{
logger.LogError($"Refresh process failed: {ex.Message}");
return StatusCode(500);
}
}
}
Expand Down
Loading