private void TransferFactStaffBtn_Click(object sender, EventArgs e)
{
if (dgvFactStaff.SelectedRows.Count < 1)
{
MessageBox.Show("Выберите сотрудников для перевода!");
return;
}
//проверяем, чтобы переводимые еще не были уволены
foreach (DataGridViewRow selectedRow in dgvFactStaff.SelectedRows)
{
//в текущей записи выставляем приказ о переводе и дату перевода
FactStaff currentFactStaff = (selectedRow.DataBoundItem as FactStaff);
if (currentFactStaff.Prikaz != null)
{
MessageBox.Show("Cотрудник " + currentFactStaff.Employee.ToString() + " уже уволен!");
return;
}
}
using (FactStaffTransfer dlg = new FactStaffTransfer())
{
dlg.CurentPlanStaff = planStaffBindingSource.Current as Kadr.Data.PlanStaff;
//dlg.Department = Department;
dlg.LoadDepartments();
dlg.Department = Department.FullDepartment;
dlg.ShowDialog();
//переводим
if (dlg.DialogResult == DialogResult.OK)
{
try
{
try
{
//переводим по одному с помощью хранимой процедуры
foreach (DataGridViewRow selectedRow in dgvFactStaff.SelectedRows)
{
FactStaff currentFactStaff = (selectedRow.DataBoundItem as FactStaff);
KadrController.Instance.Model.TransferFactStaff(currentFactStaff.id, dlg.NewPlanStaff.id,
dlg.TransferPrikaz.id, dlg.TransferData, dlg.TransferWithBonus);
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message, "АИС \"Штатное расписание\"");
}
}
finally
{
KadrController.Instance.DeleteModel();
LoadFactStaff();
}
}
}
}