Пример #1
0
 private string GetEmployeePosition(int empId)
 {
     using (DBConteiner db = new DBConteiner())
     {
         try
         {
             //EmployeeSubDivs emp = db.EmployeeSubDivisions.Where(e => e.Employee.Id == empId).FirstOrDefault();
             EmployeeSubDivs emp = db.EmployeeSubDivisions.Find(new EmployeeSubDivs()
             {
                 EmployeeSubDivsId = empId
             }.EmployeeSubDivsId);
             return(emp.Position);
         }
         catch (ArgumentNullException ex)
         {
             MessageBox.Show(ex.Message);
         }
         catch (OverflowException ex)
         {
             MessageBox.Show(ex.Message);
         }
         catch (System.Data.SqlClient.SqlException ex)
         {
             MessageBox.Show(ex.Message);
         }
         catch (System.Data.Entity.Core.EntityCommandExecutionException ex)
         {
             MessageBox.Show(ex.Message);
         }
         catch (System.Data.Entity.Core.EntityException ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
     return(null);
 }
Пример #2
0
        private void SaveNewEmployeeData()
        {
            using (DBConteiner db = new DBConteiner())
            {
                try
                {
                    // db.Entry(TransferSubDivision).State = EntityState.Modified;

                    if (editEmployee)
                    {
                        SelectedEmployee = db.Employees.Where(e => e.EmployeeId == SelectedEmployee.EmployeeId).FirstOrDefault();
                    }
                    //else
                    //    db.Employees.Attach(SelectedEmployee);



                    SelectedEmployee.EmpName       = textBox_Name.Text;
                    SelectedEmployee.EmpSurName    = textBox_Surname.Text;
                    SelectedEmployee.EmpPatronimic = textBox_Patronimic.Text;
                    if (radioButton_male.Checked)
                    {
                        SelectedEmployee.Sex = true;
                    }
                    if (radioButton_female.Checked)
                    {
                        SelectedEmployee.Sex = false;
                    }
                    SelectedEmployee.DateBirth     = dateTimePicker_BirthDate.Value;
                    SelectedEmployee.BirthPlace    = richTextBox_BirthPlace.Text;
                    SelectedEmployee.INN           = textBox_INN.Text;
                    SelectedEmployee.TabNumber     = textBox_TabNumber.Text;
                    SelectedEmployee.StartDateWork = dateTimePicker_StartDateWork.Value;
                    if (checkBox_Fired.Checked)
                    {
                        SelectedEmployee.FireDate   = dateTimePicker_FireDate.Value;
                        SelectedEmployee.FireReason = richTextBox1.Text;
                    }



                    //кастыли, которые не также не работают, но если их применить, то получаем
                    //дублирование название подразделения в БД. Что говорит о том, что нужно как-то умудриться
                    //подифицировать это подразделение.. Пока - хз как. Т.к. связ подразделения и сотрудника у нас
                    //посрдедством n - n, и с какого-то хера из подразделения не видно сотрудника, хотя и все
                    //нужные поля  - публичные . жопа кароч
                    //db.Configuration.AutoDetectChangesEnabled = false;
                    //db.Configuration.ValidateOnSaveEnabled = false;


                    if (editEmployee)
                    {
                        db.Entry(SelectedEmployee).State = EntityState.Modified;
                    }
                    else
                    {
                        db.Employees.Add(SelectedEmployee);
                    }



                    db.SaveChanges();

                    EmployeeSubDivs empSabDiv = new EmployeeSubDivs();
                    empSabDiv.Employee     = SelectedEmployee;
                    empSabDiv.SubDivision  = TransferSubDivision;
                    empSabDiv.Position     = textBox_EmpPosition.Text;
                    empSabDiv.TransferDate = dateTimePicker_StartDateWork.Value;


                    db.EmployeeSubDivisions.Add(empSabDiv);

                    db.SaveChanges();

                    MessageBox.Show("Данные сохранены");
                }
                catch (ArgumentNullException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (OverflowException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (System.Data.Entity.Core.EntityCommandExecutionException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (System.Data.Entity.Core.EntityException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }