using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using trakker.Models; using trakker.Interfaces; using trakker.Data; namespace trakker.Services { internal class MainCtrl { private readonly string _connectionString; private readonly IMainForm _view; public MainCtrl(IMainForm view, string? connectionString) { _view = view ?? throw new ArgumentNullException(nameof(view)); _connectionString = connectionString ?? throw new ArgumentNullException(nameof(connectionString)); LoadClients(); _view.InitDataGridViewProjectTasks(); _view.InitDataGridViewProjects(); _view.InitTreeViewTasks(); LoadProjects(); } public BindingSource GetLOV(string source) { var dbo = new Data.LOVData(_connectionString); return new BindingSource { DataSource = dbo.Get(source) }; } public BindingList GetClients() { var dbo = new Data.ClientData(_connectionString); return dbo.Get(); } internal void LoadClients() { var clients = GetClients(); _view.InitDataGridViewClients(clients); } public BindingList GetProjects() { var dbo = new Data.ProjectData(_connectionString); return dbo.Get(); } internal void LoadProjects() { var projects = GetProjects(); foreach (var project in projects) { var x = project.Status; } _view.FillDataGridViewProjects(new BindingSource { DataSource = projects }); LoadTasks(); } internal void LoadTasks() { var dbo = new TaskData(_connectionString); _view.FillTreeViewTasks(dbo.GetFS()); } internal void LoadTasksRecursive(string id, trakker.Models.Task.RecursiveRoot root) { var dbo = new TaskData(_connectionString); BindingList tasks = dbo.GetRecursive(id, root); _view.FillDataGridViewProjectTasks(new BindingSource { DataSource = tasks }); } } }