Для красоты

This commit is contained in:
Pipiaka 2024-12-22 21:36:43 +04:00
commit 0d7216a9a0
3 changed files with 21 additions and 13 deletions

View File

@ -8,18 +8,17 @@ public class Vacation
public int DirectorId { get; private set; } public int DirectorId { get; private set; }
public int EmployeeId { get; private set; } public int EmployeeId { get; private set; }
public DateTime StartDate { get; private set; } public DateTime StartDate { get; private set; }
public DateTime EndDate { get; private set; } public DateTime EndDate { get; private set; }
public static Vacation CreateOpeartion(int id, int directorId, int EmployeeId, DateTime startDate, DateTime endDate) public static Vacation CreateOpeartion(int id, int directorId, int employeeId, DateTime startDate, DateTime endDate)
{ {
return new Vacation return new Vacation
{ {
Id = id, Id = id,
DirectorId = directorId, DirectorId = directorId,
EmployeeId = EmployeeId, EmployeeId = employeeId,
StartDate = startDate, StartDate = startDate,
EndDate = endDate EndDate = endDate
}; };

View File

@ -1,6 +1,7 @@
using Accounting_Time_It_Company.Entities; using Accounting_Time_It_Company.Entities;
using Accounting_Time_It_Company.Entities.Enums; using Accounting_Time_It_Company.Entities.Enums;
using Accounting_Time_It_Company.Repositories; using Accounting_Time_It_Company.Repositories;
using Accounting_Time_It_Company.Repositories.Implementations;
using System.Data; using System.Data;
namespace Accounting_Time_It_Company.Forms namespace Accounting_Time_It_Company.Forms
@ -10,7 +11,7 @@ namespace Accounting_Time_It_Company.Forms
private readonly ITypeJobRepositories _typeJobRepositories; private readonly ITypeJobRepositories _typeJobRepositories;
public FormTypeJob(ITypeJobRepositories typeJobRepositories, IProductRepositories productRepositories, public FormTypeJob(ITypeJobRepositories typeJobRepositories, IProductRepositories productRepositories,
IEmployeeRepositories employeeRepositories) IEmployeeRepositories employeeRepositories, IPostRepositories postRepositories)
{ {
InitializeComponent(); InitializeComponent();
_typeJobRepositories = typeJobRepositories ?? throw new ArgumentNullException(nameof(typeJobRepositories)); _typeJobRepositories = typeJobRepositories ?? throw new ArgumentNullException(nameof(typeJobRepositories));
@ -19,15 +20,19 @@ namespace Accounting_Time_It_Company.Forms
comboBoxProduct.DisplayMember = "Name"; comboBoxProduct.DisplayMember = "Name";
comboBoxProduct.ValueMember = "Id"; comboBoxProduct.ValueMember = "Id";
comboBoxDirector.DataSource = employeeRepositories.ReadEmployees().Where(x => x.PostId == (int)TypePost.Director).ToList(); List<int> DirectorId = postRepositories.ReadPosts().Where(y => y.NamePost == TypePost.Director).Select(y => y.Id).ToList();
List<int> ManagerId = postRepositories.ReadPosts().Where(y => y.NamePost == TypePost.Manager).Select(y => y.Id).ToList();
List<int> DeveloperId = postRepositories.ReadPosts().Where(y => y.NamePost == TypePost.Developer).Select(y => y.Id).ToList();
comboBoxDirector.DataSource = employeeRepositories.ReadEmployees().Where(x => DirectorId.Any(z => z == x.PostId)).ToList();
comboBoxDirector.DisplayMember = "Name"; comboBoxDirector.DisplayMember = "Name";
comboBoxDirector.ValueMember = "Id"; comboBoxDirector.ValueMember = "Id";
ColumnDevelop.DataSource = employeeRepositories.ReadEmployees().Where(x => x.PostId == (int)TypePost.Developer).ToList(); ColumnDevelop.DataSource = employeeRepositories.ReadEmployees().Where(x => DeveloperId.Any(z => z == x.PostId)).ToList();
ColumnDevelop.DisplayMember = "Name"; ColumnDevelop.DisplayMember = "Name";
ColumnDevelop.ValueMember = "Id"; ColumnDevelop.ValueMember = "Id";
ColumnManager.DataSource = employeeRepositories.ReadEmployees().Where(x => x.PostId == (int)TypePost.Manager).ToList(); ColumnManager.DataSource = employeeRepositories.ReadEmployees().Where(x => ManagerId.Any(z => z == x.PostId)).ToList();
ColumnManager.DisplayMember = "Name"; ColumnManager.DisplayMember = "Name";
ColumnManager.ValueMember = "Id"; ColumnManager.ValueMember = "Id";
} }

View File

@ -1,6 +1,7 @@
using Accounting_Time_It_Company.Entities; using Accounting_Time_It_Company.Entities;
using Accounting_Time_It_Company.Entities.Enums; using Accounting_Time_It_Company.Entities.Enums;
using Accounting_Time_It_Company.Repositories; using Accounting_Time_It_Company.Repositories;
using Accounting_Time_It_Company.Repositories.Implementations;
namespace Accounting_Time_It_Company.Forms namespace Accounting_Time_It_Company.Forms
{ {
@ -8,25 +9,28 @@ namespace Accounting_Time_It_Company.Forms
{ {
private readonly IVacationRepositories _vacationRepositories; private readonly IVacationRepositories _vacationRepositories;
public FormVacation(IVacationRepositories vacationRepositories, IEmployeeRepositories employeeRepositories) public FormVacation(IVacationRepositories vacationRepositories, IEmployeeRepositories employeeRepositories, IPostRepositories postRepositories)
{ {
InitializeComponent(); InitializeComponent();
_vacationRepositories = vacationRepositories ?? throw new ArgumentNullException(nameof(vacationRepositories)); _vacationRepositories = vacationRepositories ?? throw new ArgumentNullException(nameof(vacationRepositories));
comboBoxDirector.DataSource = employeeRepositories.ReadEmployees().Where(x => x.PostId == (int)TypePost.Director).ToList(); List<int> DirectorId = postRepositories.ReadPosts().Where(y => y.NamePost == TypePost.Director).Select(y => y.Id).ToList();
comboBoxDirector.DisplayMember = "Name";
comboBoxDirector.ValueMember = "Id";
comboBoxEmployee.DataSource = employeeRepositories.ReadEmployees().Where(x => x.PostId != (int)TypePost.Director).ToList(); comboBoxEmployee.DataSource = employeeRepositories.ReadEmployees().Where(x => DirectorId.Any(z => z != x.PostId)).ToList();
comboBoxEmployee.DisplayMember = "Name"; comboBoxEmployee.DisplayMember = "Name";
comboBoxEmployee.ValueMember = "Id"; comboBoxEmployee.ValueMember = "Id";
comboBoxDirector.DataSource = employeeRepositories.ReadEmployees().Where(x => DirectorId.Any(z => z == x.PostId)).ToList();
comboBoxDirector.DisplayMember = "Name";
comboBoxDirector.ValueMember = "Id";
} }
private void ButtonSave_Click(object sender, EventArgs e) private void ButtonSave_Click(object sender, EventArgs e)
{ {
try try
{ {
if (comboBoxEmployee.SelectedIndex < 0) if (comboBoxEmployee.SelectedIndex < 0 || comboBoxDirector.SelectedIndex < 0 ||
dateTimePickerStartDate.Value >= dateTimePickerEndDate.Value)
{ {
throw new Exception("Имеются незаполненные поля"); throw new Exception("Имеются незаполненные поля");
} }