/// <summary> /// Konstruktor do edycji /// </summary> /// <param name="id">id pożyczki</param> public LoanNewForm(int id) //280 -> { InitializeComponent(); isEdit = true; //bindowanie BindEmployee(); AssignLoan(id); //blokowanie zmiany pracownika cbEmployee.Enabled = false; btnSave.Enabled = false; //eventy this.tbName.TextChanged += new System.EventHandler(this.loan_TextChanged); this.dtpData.ValueChanged += new System.EventHandler(this.loan_TextChanged); this.tbAmount.TextChanged += new System.EventHandler(this.loan_TextChanged); this.tbInstallmentLoan.TextChanged += new System.EventHandler(this.loan_TextChanged); this.tbOther.TextChanged += new System.EventHandler(this.loan_TextChanged); //pasek tytułowy this.Text = DaneFirmy.NazwaProgramu + "Edycja pożyczki"; //ikona this.Icon = Properties.Resources.logo_firmy; //ustawienie blokady na dany rekord Blokady.UstawienieBlokady(NazwaTabeli.pozyczka, id, "", Polaczenia.idUser, DateTime.Now); }
/// <summary> /// anulowanie - zamykanie formulerza i usuwanie blokady /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAnuluj_Click(object sender, EventArgs e) { if (isEdit) { Blokady.UsuwanieBlokady(Polaczenia.idUser, NazwaTabeli.pozyczka); Polaczenia.OdlaczenieOdBazy(); } this.Close(); }
/// <summary> /// Konstruktor przeciążony /// Służy do edycji danych pracownika /// </summary> /// <param name="idEmployee">id pracownika</param> public NewEmployeeForm(int idEmployee) { InitializeComponent(); isEdit = true; //blokowanie wybierania dat dtpRegularRateFromDate.Enabled = false; dtpOvertimeRateFromDate.Enabled = false; //blokowanie przycisku zatwierdz btnSave.Enabled = false; //pasek tytułowy this.Text = DaneFirmy.NazwaProgramu + "Pracownik - Edycja"; //ikona this.Icon = Properties.Resources.logo_firmy; employee = employeeManager.GetEmployee(idEmployee, TableView.view, ConnectionToDB.disconnect); PermissionsCheck(); DisplayEmployee(); //dodanie delegatow this.tbOthersInfo.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.cbNumberDaysOffAnnually.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbTelNumer.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbNumberDaysOffLeft.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbLastName.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbName.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbZipCode.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbCity.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbStreet.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbNextMmedicalExaminationDate.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbNextTrainingBhpDate.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbHiredDate.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbReleaseDate.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbMail.TextChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.chbPartTimeJob.CheckedChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.chbIsManagement.CheckedChanged += new System.EventHandler(this.editEmployee_ValueChanged); this.tbRateOvertimeValue.TextChanged += new System.EventHandler(this.editRateOvertime_ValueChanged); this.tbRateValue.TextChanged += new System.EventHandler(this.editRateRegular_ValueChanged); this.dtpHiredDate.ValueChanged += new System.EventHandler(this.dtpHiredDate_ValueChanged); this.dtpReleaseDate.ValueChanged += new System.EventHandler(this.dtpRealiseDate_ValueChanged); this.dtpNextMmedicalExaminationDate.ValueChanged += new System.EventHandler(this.dtpNextMmedicalExaminationDate_ValueChanged); this.dtpNextTrainingBhpDate.ValueChanged += new System.EventHandler(this.dtpNextBhpTrainingDate_ValueChanged); //ustawienie blokady na dany rekord Blokady.UstawienieBlokady(NazwaTabeli.pracownik, idEmployee, "", Polaczenia.idUser, DateTime.Now); }
/// <summary> /// Zapisuje pożyczke w bazie danych /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Click(object sender, EventArgs e) { try { CheckDataCorrectness(); DataAssignment(); if (isEdit) { LoanManager.EditLoan(loan, ConnectionToDB.notDisconnect); Blokady.UsuwanieBlokady(Polaczenia.idUser, NazwaTabeli.pozyczka); } else { LoanManager.AddLoan(loan, ConnectionToDB.disconnect); } //jeżeli nie było błedów ustawia poprawność na true Loan.correctLoan = true; //zamykanie formularza this.Close(); } catch (FormatException) { MessageBox.Show("Musisz podać kwotę oddzieloną przecinkiem (np. 120,80)", "Błędne dane, popraw i spróbuj ponownie", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (EmptyStringException ex1) { MessageBox.Show(ex1.Message, "Błędne dane, popraw i spróbuj ponownie", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (WrongSizeStringException ex2) { MessageBox.Show(ex2.Message, "Błędne dane, popraw i spróbuj ponownie", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex1) { MessageBox.Show(ex1.Message, "Błąd podczas edycji pożyczki", MessageBoxButtons.OK, MessageBoxIcon.Error); //log LogErr.DodajLogErrorDoBazy(new LogErr(Polaczenia.idUser, DateTime.Now, Polaczenia.ip, 0, NazwaTabeli.pozyczka, "PozyczkaNowaForm.btnDodaj_Click()/n/n" + ex1.Message)); //zamykanie formularza } finally { Polaczenia.OdlaczenieOdBazy(); } }
/// <summary> /// Anulowanie wpisu i zamknię cie formularza /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void anulujButton_Click(object sender, EventArgs e) { Blokady.UsuwanieBlokady(Polaczenia.idUser, NazwaTabeli.pracownik); Polaczenia.OdlaczenieOdBazy(); this.Close(); }
/// <summary> /// Przycisk zatwierdzania zmian dokonanych w formularzu /// zapisuje zmiany w bazie danych /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSave_Click(object sender, EventArgs e) { try { CheckDataCorrectnessEmployee(); DataAssignmentEmployee(); //jeżeli zmienna "edycja" ma wartość true wpis o podanym idPracownwnika jest edytowany if (isEdit) { //rozpoczęcie transakcji i blokowanie rekordu Polaczenia.BeginTransactionSerializable(); //wprowadzanie zmian do bazy if (editEmployee) { employeeManager.Edit(employee, ConnectionToDB.notDisconnect); } if (editRateRegular) { //sprawdzenie czy istnieje stawka z wybraną datą //jeżeli istnieje to edycja stawki if (employee.RateRegular.IsExist()) { employee.RateRegular.DateFrom = dtpRegularRateFromDate.Value; employee.RateRegular.RateValue = Convert.ToSingle(this.tbRateValue.Text); employee.RateRegular.IsMonthlyOrHourly = (rbRateHourly.Checked ? RateType.hourly : RateType.monthly); employee.EditRateRegular(ConnectionToDB.notDisconnect); } else //jeżeli nie to dodanie nowej { employee.RateRegular = new RateRegular(dtpRegularRateFromDate.Value, Convert.ToSingle(this.tbRateValue.Text), rbRateHourly.Checked ? RateType.hourly : RateType.monthly); employee.AddRateRegular(ConnectionToDB.notDisconnect); } } if (editRateOvertime) { //sprawdzenie czy istnieje stawka z wybraną datą //jeżeli istnieje to edycja stawki if (employee.RateOvertime.IsExist()) { employee.RateOvertime.DateFrom = dtpOvertimeRateFromDate.Value; employee.RateOvertime.RateValue = Convert.ToSingle(this.tbRateOvertimeValue.Text); employee.EditRateOvertime(ConnectionToDB.notDisconnect); } else { //jeżeli nie to dodanie nowej employee.RateOvertime = new RateOvertime(dtpOvertimeRateFromDate.Value, Convert.ToSingle(this.tbRateOvertimeValue.Text)); employee.AddRateOvertime(ConnectionToDB.notDisconnect); } } Polaczenia.CommitTransaction(); Blokady.UsuwanieBlokady(Polaczenia.idUser, NazwaTabeli.pracownik); Polaczenia.OdlaczenieOdBazy(); Employee.correctEmployee = true; //zamykanie formularza this.Close(); } else//jeżeli nie edycja to dodaje nowego pracownika do bazy { //rozpoczęcie transakcji Polaczenia.BeginTransaction(); //dodanie pracownika int idInsertedEmployee = employeeManager.AddReturnId(employee, ConnectionToDB.notDisconnect); employee = employeeManager.GetEmployee(idInsertedEmployee, TableView.table, ConnectionToDB.notDisconnect); //pobranie i przypisanie id ostatniego pracownika employee.RateRegular = new RateRegular(idInsertedEmployee, dtpRegularRateFromDate.Value, Convert.ToSingle(this.tbRateValue.Text), rbRateHourly.Checked ? RateType.hourly : RateType.monthly); employee.RateOvertime = new RateOvertime(idInsertedEmployee, dtpOvertimeRateFromDate.Value, Convert.ToSingle(this.tbRateOvertimeValue.Text)); //dodanie stawki employee.AddRateRegular(ConnectionToDB.notDisconnect); //dodanie stawki za nadgodziny employee.AddRateOvertime(ConnectionToDB.notDisconnect); Polaczenia.CommitTransaction(); Polaczenia.OdlaczenieOdBazy(); //zamykanie formularza this.Close(); } } catch (EmptyStringException ex) { MessageBox.Show(ex.Message, "Błąd danych", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (WrongSizeStringException ex) { MessageBox.Show(ex.Message, "Błąd danych", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (NoNullException ex) { MessageBox.Show(ex.Message, "Błąd danych", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (OverflowException) { MessageBox.Show("Wprowadziłeś niepoprawną stawkę lub urlop.\n\nPopraw pola zaznaczone na czerwono.", "Błąd danych", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (SqlException eSQL) { MessageBox.Show(eSQL.Message, "Błąd SQL podczas wprowadzania danych", MessageBoxButtons.OK, MessageBoxIcon.Error); Polaczenia.RollbackTransaction(); Polaczenia.OdlaczenieOdBazy(); //log LogErr.DodajLogErrorDoBazy(new LogErr(Polaczenia.idUser, DateTime.Now, Polaczenia.ip, 0, NazwaTabeli.pracownik, "PracownikNowyForm.btnDodaj_Click()/n/n" + eSQL.Message)); } catch (System.IO.FileNotFoundException ex) { MessageBox.Show(ex.Message, "Brak pliku konfiguracyjnego", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex2) { MessageBox.Show(ex2.Message, "Błąd podczas sprawdzania danych", MessageBoxButtons.OK, MessageBoxIcon.Error); Polaczenia.RollbackTransaction(); Polaczenia.OdlaczenieOdBazy(); //log LogErr.DodajLogErrorDoBazy(new LogErr(Polaczenia.idUser, DateTime.Now, Polaczenia.ip, 0, NazwaTabeli.pracownik, "PracownikNowyForm.btnDodaj_Click()/n/n" + ex2.Message)); } finally { //jeżeli edycja danych to usuwa blokade rekordu if (isEdit) { Blokady.UsuwanieBlokady(Polaczenia.idUser, NazwaTabeli.pracownik); Polaczenia.OdlaczenieOdBazy(); } } }