trakker/Services/MainCtrl.cs

61 lines
1.7 KiB
C#

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;
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.InitDataGridViewProjects();
LoadProjects();
}
public BindingSource GetLOV(string source)
{
var dbo = new Data.LOVData(_connectionString);
return new BindingSource { DataSource = dbo.Get(source) };
}
public BindingList<Client> GetClients()
{
var dbo = new Data.ClientData(_connectionString);
return dbo.Get();
}
internal void LoadClients()
{
var clients = GetClients();
_view.InitDataGridViewClients(clients);
}
public BindingList<Project> 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 });
}
}
}