示例#1
0
        /// <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);
        }
示例#2
0
 /// <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();
 }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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();
            }
        }
示例#5
0
 /// <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();
 }
示例#6
0
        /// <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();
                }
            }
        }