163 lines
3.7 KiB
C#
163 lines
3.7 KiB
C#
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;
|
||
using Diplom_O.DataBase;
|
||
|
||
namespace Diplom_O
|
||
{
|
||
public partial class ChildForm : Form
|
||
{
|
||
private readonly ColumnConf[] tableMainColumns = {
|
||
new ColumnConf(name: "№"),
|
||
new ColumnConf(name: "Фамилия И.О.", size: 140),
|
||
new ColumnConf(name: "Пол", size: 80),
|
||
new ColumnConf(name: "Дата рождения", size: 80),
|
||
new ColumnConf(name: "Род 1", size: 140),
|
||
new ColumnConf(name: "Род 2", size: 140)
|
||
};
|
||
|
||
private void resetChildTable()
|
||
{
|
||
try
|
||
{
|
||
var res = FuncDB.ChildTableMain(findBox.Text);
|
||
this.ResetTable(
|
||
childGridView,
|
||
tableMainColumns,
|
||
res
|
||
);
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
this.ShowError(errorLabel, e.Message);
|
||
}
|
||
}
|
||
private Child selectedChildTable()
|
||
{
|
||
try
|
||
{
|
||
if (childGridView.SelectedRows.Count != 1)
|
||
throw new Exception("Ребонок не выбран.");
|
||
if (int.TryParse((string)childGridView.SelectedRows[0].Cells[0].Value, out int value))
|
||
return FuncDB.ChildGetById(value);
|
||
else
|
||
throw new Exception("Ошибка в таблице.");
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
this.ShowError(errorLabel, e.Message);
|
||
return null;
|
||
}
|
||
}
|
||
|
||
private void resetChildCount()
|
||
{
|
||
try
|
||
{
|
||
lableChildCount.Text = FuncDB.ChildCount(dateTimePicker1.Value).ToString();
|
||
lableChildCountMale.Text = FuncDB.ChildCount(dateTimePicker1.Value, true).ToString();
|
||
lableChildCountFemale.Text = FuncDB.ChildCount(dateTimePicker1.Value, false).ToString();
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
this.ShowError(errorLabel, e.Message);
|
||
}
|
||
}
|
||
|
||
public ChildForm()
|
||
{
|
||
InitializeComponent();
|
||
this.correctUpperMenu(menuStrip, 6);
|
||
resetChildTable();
|
||
dateTimePicker1.Value = DateTime.Now;
|
||
resetChildCount();
|
||
|
||
addButton.Enabled =
|
||
changeButton.Enabled =
|
||
delButton.Enabled = false;
|
||
|
||
var user = this.GetUser();
|
||
if (user == null)
|
||
return;
|
||
delButton.Enabled = FuncDB.AccessGetByUserIdFormIdAccessId(user.Id, 6, 1) != null;
|
||
changeButton.Enabled = FuncDB.AccessGetByUserIdFormIdAccessId(user.Id, 6, 2) != null;
|
||
addButton.Enabled = FuncDB.AccessGetByUserIdFormIdAccessId(user.Id, 6, 3) != null;
|
||
}
|
||
|
||
private void addButton_Click(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
var form = new SupportForms.ChildForm();
|
||
form.ShowDialog();
|
||
if (!form.isCanceled)
|
||
resetChildTable();
|
||
resetChildCount();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
this.ShowError(errorLabel, ex.Message);
|
||
}
|
||
}
|
||
|
||
private void changeButton_Click(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
var form = new SupportForms.ChildForm(selectedChildTable());
|
||
form.ShowDialog();
|
||
if (!form.isCanceled)
|
||
resetChildTable();
|
||
resetChildCount();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
this.ShowError(errorLabel, ex.Message);
|
||
}
|
||
}
|
||
|
||
private void delButton_Click(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
var res = selectedChildTable();
|
||
FuncDB.ChildDelete(res);
|
||
resetChildTable();
|
||
resetChildCount();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
this.ShowError(errorLabel, ex.Message);
|
||
}
|
||
}
|
||
|
||
private void upperMenuClicked(object sender, ToolStripItemClickedEventArgs e)
|
||
{
|
||
this.upperMenuClicked((MenuStrip)sender);
|
||
if (this.GetNextForm() != -1)
|
||
Close();
|
||
}
|
||
|
||
private void button1_Click(object sender, EventArgs e)
|
||
{
|
||
resetChildCount();
|
||
}
|
||
private void findBox_TextChanged(object sender, EventArgs e)
|
||
{
|
||
this.FindOnChanged(resetChildTable);
|
||
}
|
||
private void dropFindButton_Click(object sender, EventArgs e)
|
||
{
|
||
findBox.Text = "";
|
||
this.FindOnChanged(null);
|
||
resetChildTable();
|
||
}
|
||
}
|
||
}
|