Initial commit

This commit is contained in:
2022-03-28 18:44:08 -04:00
commit e43d9a90e7
267 changed files with 17049 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
using System.Net.Http.Json;
using Contexts;
using Microsoft.EntityFrameworkCore;
using Model.Work.Tasks;
namespace Services.Work;
public class AgileService : IAgileService {
private readonly HttpClient httpClient;
private bool isLoaded;
public AgileService(HttpClient httpClient) {
this.httpClient = httpClient;
}
private DatabaseContext Database { get; set; }
public DbSet<SprintModel> SprintModels => Database.SprintModels;
public DbSet<TaskModel> TaskModels => Database.TaskModels;
public void Subscribe(Action action) {
_onChange += action;
}
public void Unsubscribe(Action action) {
_onChange -= action;
}
public bool IsLoaded() {
return isLoaded;
}
public async Task Load(DatabaseContext database) {
Database = database;
if (isLoaded) return;
Database.SprintModels.AddRange(await httpClient.GetFromJsonAsync<SprintModel[]>("generated/SprintModels.json"));
Database.TaskModels.AddRange(await httpClient.GetFromJsonAsync<TaskModel[]>("generated/TaskModels.json"));
Database.SaveChanges();
isLoaded = true;
NotifyDataChanged();
}
public void Update() {
NotifyDataChanged();
}
private event Action _onChange;
private void NotifyDataChanged() {
_onChange?.Invoke();
}
}
+56
View File
@@ -0,0 +1,56 @@
using System.Net.Http.Json;
using Contexts;
using Microsoft.EntityFrameworkCore;
using Model.Work.Git;
namespace Services.Work;
public class GitService : IGitService {
private readonly HttpClient httpClient;
private bool isLoaded;
public GitService(HttpClient httpClient) {
this.httpClient = httpClient;
}
public DatabaseContext Database { get; set; }
public DbSet<ChangeModel> ChangeModels => Database.ChangeModels;
public DbSet<PatchModel> PatchModels => Database.PatchModels;
public void Subscribe(Action action) {
_onChange += action;
}
public void Unsubscribe(Action action) {
_onChange -= action;
}
public bool IsLoaded() {
return isLoaded;
}
public async Task Load(DatabaseContext database) {
Database = database;
if (isLoaded) return;
Database.ChangeModels.AddRange(await httpClient.GetFromJsonAsync<ChangeModel[]>("generated/ChangeModels.json"));
Database.PatchModels.AddRange(await httpClient.GetFromJsonAsync<PatchModel[]>("generated/PatchModels.json"));
Database.SaveChanges();
isLoaded = true;
NotifyDataChanged();
}
public void Update() {
NotifyDataChanged();
}
private event Action _onChange;
private void NotifyDataChanged() {
_onChange?.Invoke();
}
}