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.PTask_DataGridViewProjectTasks_Init(); _view.Project_DataGridViewProjects_Init(); _view.PTask_TreeViewTasks1_Init(); 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.Client_DataGridViewClients_Init(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.Project_DataGridViewProjects_Fill(new BindingSource { DataSource = projects }); //LoadTasks(); } internal void LoadTasks(string projectId) { var dbo = new TaskData(_connectionString); _view.PTask_TreeViewTasks1_Fill(dbo.GetFS(projectId)); _view.InitProjectTasks(); //_view.InitDataGridViewProjectTasks(); } internal void LoadTasksRecursive(string id, PTask.RecursiveRoot root) { var dbo = new TaskData(_connectionString); BindingList tasks = dbo.GetRecursive(id, root); _view.PTask_DataGridViewProjectTasks_Fill(new BindingSource { DataSource = tasks }); } } }