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.Prikaz1 != null) { MessageBox.Show("Cотрудник " + currentFactStaff.Employee.ToString() + " уже уволен!"); return; } } using (FactStaffTransfer dlg = new FactStaffTransfer()) { dlg.Department = Department; dlg.CurentPlanStaff = planStaffBindingSource.Current as Kadr.Data.PlanStaff; dlg.ShowDialog(); //переводим try { if (dlg.DialogResult == DialogResult.OK) { foreach (DataGridViewRow selectedRow in dgvFactStaff.SelectedRows) { //в текущей записи выставляем приказ о переводе и дату перевода FactStaff currentFactStaff = (selectedRow.DataBoundItem as FactStaff); currentFactStaff.Prikaz1 = dlg.TransferPrikaz; currentFactStaff.DateEnd = dlg.TransferData; //создаем новую запись - с даты перевода и приказом о преводе FactStaff newFactStaff = new FactStaff(); newFactStaff.Employee = currentFactStaff.Employee; newFactStaff.WorkType = currentFactStaff.WorkType; newFactStaff.StaffCount = currentFactStaff.StaffCount; newFactStaff.DateBegin = dlg.TransferData; newFactStaff.Prikaz = dlg.TransferPrikaz; newFactStaff.PlanStaff = dlg.NewPlanStaff; //закрепляем, сохраняем новую запись KadrController.Instance.Model.FactStaffs.InsertOnSubmit(newFactStaff); KadrController.Instance.SubmitChanges(); } } } catch (Exception exp) { MessageBox.Show(exp.Message, "АИС \"Штатное расписание\""); //KadrController.Instance.DeleteModel(); return; } } }
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(); } } } }