private void SetDefaultControls(SubDivision subDiv) { using (DBConteiner db = new DBConteiner()) { try { SelectedSubDivivsion = db.SubDivisions.Where(e => e.SubDivisionId == subDiv.SubDivisionId).FirstOrDefault(); ParentSubDiv_comboBox.SelectedItem = SelectedSubDivivsion; dateTimePicker1.Value = subDiv.CreateDate; checkBox1.Checked = false; dateTimePicker2.Value = subDiv.CollapsDate; SubDivName_txtBox.Text = subDiv.SubDivName; } 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); } } }
//for edit operations private void PreviosLoadData(int empId, int subId) { SubDivRecordsFill(subId); ShowEmpSubDivs(empId); using (DBConteiner db = new DBConteiner()) { try { SelectedEmployee = db.Employees.Where(e => e.EmployeeId == empId).FirstOrDefault(); } 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); } } }
//here we fill in previos data to DB private void PreviosDataLoad() { treeView1.Nodes.Clear(); using (DBConteiner db = new DBConteiner()) { try { SubDivRecords = new List <SubDivision>(db.SubDivisions.ToList().OrderBy(e => e.SubDivName)); PopulateTreeView(null, null); } 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); } } }
private void GetSelectedSubDiv(int Id) { using (DBConteiner db = new DBConteiner()) { try { SelectedSubDiv = db.SubDivisions.Where(item => item.SubDivisionId == Id).FirstOrDefault(); } 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); } } }
private void CloseSubdivision() { if (dateTimePicker2.Value < NewdSubDivivsion.CreateDate || dateTimePicker2.Value > DateTime.Now) { MessageBox.Show("Не корректная дата закрытия"); return; } using (DBConteiner db = new DBConteiner()) { try { SubDivName_txtBox.Enabled = false; SubDivision CloseSubdiv = db.SubDivisions.Where(o => o.SubDivisionId == NewdSubDivivsion.SubDivisionId).FirstOrDefault(); if (CloseSubdiv != null) { db.Entry(CloseSubdiv).State = EntityState.Modified; CloseSubdiv.CollapsDate = dateTimePicker2.Value; CloseSubdiv.WorkStatus = false; //here we change the status of parent subdivision in all of subdivision which have a parent subdivision //that we close now. New status of these subdivision is "No patent sabdivision" List <SubDivision> subDivisions = db.SubDivisions.Where(e => e.ParentIdent == NewdSubDivivsion.SubDivisionId).ToList(); if (subDivisions != null) { foreach (SubDivision sub in subDivisions) { db.Entry(sub).State = EntityState.Modified; sub.ParentIdent = 1; } } db.SaveChanges(); NewdSubDivivsion.WorkStatus = false;//for corret showing infomation by label4 (Work ort Don't work) PreviosDataLoad(); SetDefaultControls(); 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); } } }
private void EditSubdiv() { using (DBConteiner db = new DBConteiner()) { try { Library lib = new Library(); if (!lib.NewSubDivValidstion(SelectedSubDivivsion)) { return; } SubDivision tmp = db.SubDivisions.Where(o => o.SubDivisionId == NewdSubDivivsion.SubDivisionId).FirstOrDefault(); if (tmp != null) { db.Entry(tmp).State = EntityState.Modified; tmp.SubDivName = SubDivName_txtBox.Text; tmp.ParentIdent = SelectedSubDivivsion.SubDivisionId; tmp.ParentSubdiv = db.SubDivisions.Where(e => e.SubDivisionId == SelectedSubDivivsion.SubDivisionId).FirstOrDefault(); tmp.CreateDate = dateTimePicker1.Value; tmp.CollapsDate = dateTimePicker2.Value; db.SaveChanges(); editSave = true; NewdSubDivivsion = SelectedSubDivivsion; PreviosDataLoad(); SetDefaultControls(); 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); } } }
private void SubDivRecordsFill(int subId) { SubDivRecords.Clear(); using (DBConteiner db = new DBConteiner()) { try { // DivRecords = new ObservableCollection<SubDivision>(DivRecords.OrderBy(e => e.SubDivName)); var list = db.SubDivisions.ToList <SubDivision>(); foreach (var item in list) { SubDivRecords.Add( new SubDivision { SubDivisionId = item.SubDivisionId, SubDivName = item.SubDivName, ParentIdent = item.ParentIdent, ParentSubdiv = item.ParentSubdiv, CollapsDate = item.CollapsDate, CreateDate = item.CreateDate }); } SelectedSubDivision = SubDivRecords.Where(e => e.SubDivisionId == subId).FirstOrDefault(); TransferSubDivision = SelectedSubDivision; } 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); } } }
private void AddNewSubDiv() { NewdSubDivivsion.SubDivName = SubDivName_txtBox.Text; NewdSubDivivsion.ParentIdent = SelectedSubDivivsion.SubDivisionId; NewdSubDivivsion.CreateDate = dateTimePicker1.Value; NewdSubDivivsion.CollapsDate = dateTimePicker2.Value; Library lib = new Library(); if (!lib.NewSubDivValidstion(NewdSubDivivsion)) { return; } using (DBConteiner db = new DBConteiner()) { try { db.SubDivisions.Add(NewdSubDivivsion); db.SaveChanges(); MessageBox.Show("Данные о подразделении сохранены"); ParentSubDiv_comboBox.DataSource = null; //DivRecords.Clear(); PreviosDataLoad();//update ParentSubDiv_comboBox content SetDefaultControls(); } 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); } } }
//for load data in "new SabDiv" mode private void PreviosDataLoad() { DivRecords.Clear(); using (DBConteiner db = new DBConteiner()) { try { var list = db.SubDivisions.ToList <SubDivision>(); foreach (var item in list) { DivRecords.Add( new SubDivision { SubDivisionId = item.SubDivisionId, SubDivName = item.SubDivName, ParentIdent = item.ParentIdent, CollapsDate = item.CollapsDate, CreateDate = item.CreateDate }); } } 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); } } }
static void Main() { using (DBConteiner db = new DBConteiner()) { //if (db.SubDivisions.Count() == 0) //{ // db.SubDivisions.Add(new SubDivision() // { // SubDivName = "Строй Монтаж", // ParentSubDivName = "АМКР" // }); // db.SaveChanges(); //} } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); }
private void ShowEmpSubDivs(int empId) { using (DBConteiner db = new DBConteiner()) { try { //dataGridView1.Rows.Clear(); //dataGridView1.Columns.Clear(); //dataGridView1.Refresh(); //List<EmployeeSubDivs> list = db.EmployeeSubDivisions.Where(e => e.Employee.EmployeeId == empId).ToList(); //foreach (var item in list) //{ // item.SubDivName = db.SubDivisions.Where(e => e.SubDivisionId == item.SubDivision.SubDivisionId).FirstOrDefault().SubDivName; //} //var source = new BindingSource(list, null); //dataGridView1.DataSource = source; //DataGreedViewUpdate(list); //dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } 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); } } }
//here we check tabnumber in DB. private bool CheckTabnumber(string tabN) { using (DBConteiner db = new DBConteiner()) { try { List <Employee> Employees = db.Employees.ToList(); foreach (Employee item in Employees) { if (item.TabNumber == tabN) { return(true); } } } 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); } } //MessageBox.Show("Ошибка в генерации табельного номера"); return(false); }
//for filling datagridview private void GetEmployees(int Id) { using (DBConteiner db = new DBConteiner()) { try { dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); dataGridView1.Refresh(); List <Employee> empList = db.Employees.Where(e => e.EmployeeSubDivisions.Where(i => i.SubDivisionId == Id).FirstOrDefault().SubDivisionId == Id).ToList(); var source = new BindingSource(empList, null); dataGridView1.DataSource = source; DataGreedViewUpdate(empList); dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } 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); } } }
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); }
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); } } }