71 lines
2.5 KiB
C#
Raw Normal View History

2024-11-05 17:54:04 +04:00
using ProjectFamilyBudget.Entities;
using ProjectFamilyBudget.Repositories;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ProjectFamilyBudget.Forms
{
public partial class FormPeopleIncome : Form
{
private readonly IPeopleIncome _peopleIncome;
public FormPeopleIncome(IPeopleIncome peopleIncome, IPeople people, IIncome income)
{
InitializeComponent();
_peopleIncome = peopleIncome ??
throw new ArgumentNullException(nameof(peopleIncome));
comboBoxPeople.DataSource = people.ReadPeople();
comboBoxPeople.DisplayMember = "Name";
comboBoxPeople.ValueMember = "Id";
ColumnIncome.DataSource = income.ReadIncome();
ColumnIncome.DisplayMember = "Name";
ColumnIncome.ValueMember = "Id";
}
private void buttonSave_Click(object sender, EventArgs e)
{
try
{
if ((dataGridView.RowCount < 1)
||
(comboBoxPeople.SelectedIndex < 0))
{
throw new Exception("Имеются незаполненные поля");
}
2024-11-19 18:47:06 +04:00
_peopleIncome.CreatePeopleIncome(PeopleIncome.CreateOperation(0, (int)comboBoxPeople.SelectedValue!, dateTimePicker.Value,
2024-11-05 17:54:04 +04:00
CreateListPeopleIncomeFromDataGrid()));
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка при сохранении",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void buttonCansel_Click(object sender, EventArgs e) => Close();
private List<IncomePeopleIncome> CreateListPeopleIncomeFromDataGrid()
{
var list = new List<IncomePeopleIncome>();
foreach (DataGridViewRow row in dataGridView.Rows)
{
if (row.Cells["ColumnIncome"].Value == null || row.Cells["ColumnSum"].Value == null)
{
continue;
}
list.Add(IncomePeopleIncome.CreateElement(0, Convert.ToInt32(row.Cells["ColumnIncome"].Value)
, Convert.ToInt32(row.Cells["ColumnSum"].Value)));
}
return list;
}
}
}