Ejemplo n.º 1
0
        private void SaveButton_ClickSalary(object sender1, EventArgs e1, TextBox monthlyTextBox, TextBox firstName, TextBox lastName, string empId, TextBox DepartmentName, TextBox Title, TextBox StartDate, TextBox Benefits)
        {
            if (BusinessRules.Instance.empData.ContainsKey(empId))
            {
                try
                {
                    if (Regex.IsMatch(firstName.Text, @"^[a-zA-Z]+$") == false)
                    {
                        throw new Exception("First name should only contain letters");
                    }
                    if (Regex.IsMatch(lastName.Text, @"^[a-zA-Z]+$") == false)
                    {
                        throw new Exception("Last name should only contain letters");
                    }

                    string fullName = firstName.Text + " " + lastName.Text;
                    double eId      = Convert.ToDouble(empId);
                    double salary   = Convert.ToDouble(monthlyTextBox.Text);
                    double emplTy   = Convert.ToDouble(empType.Salary);

                    monthlyTextBox.BackColor = Color.White;
                    firstName.BackColor      = Color.White;
                    lastName.BackColor       = Color.White;

                    BusinessRules.Instance.UpdateEmployee(eId, emplTy, firstName.Text, fullName, lastName.Text, DepartmentName.Text, Title.Text, StartDate.Text, Benefits.Text, salary);
                    MessageBox.Show(firstName.Text + " has been updated!");
                }
                catch (Exception e)
                {
                    if (e.Message == "Input string was not in a correct format.")
                    {
                        monthlyTextBox.BackColor = Color.Red;
                        firstName.BackColor      = Color.White;
                        lastName.BackColor       = Color.White;
                        MessageBox.Show("Monthly Salary should only contain numbers ");
                    }
                    else
                    {
                        firstName.BackColor      = Color.Red;
                        lastName.BackColor       = Color.Red;
                        monthlyTextBox.BackColor = Color.White;
                        MessageBox.Show(/*"Contract should only contain numbers "+ Environment.NewLine + */ e.Message);
                    }
                }
            }
            else
            {
                try
                {
                    if (Regex.IsMatch(firstName.Text, @"^[a-zA-Z]+$") == false)
                    {
                        throw new Exception("First name should only contain letters");
                    }
                    if (Regex.IsMatch(lastName.Text, @"^[a-zA-Z]+$") == false)
                    {
                        throw new Exception("Last name should only contain letters");
                    }

                    string fullName = firstName.Text + " " + lastName.Text;
                    double eId      = Convert.ToDouble(empId);
                    double salary   = Convert.ToDouble(monthlyTextBox.Text);
                    double emplTy   = Convert.ToDouble(empType.Salary);

                    firstName.BackColor      = Color.White;
                    lastName.BackColor       = Color.White;
                    monthlyTextBox.BackColor = Color.White;

                    Salary employee = new Salary(eId, emplTy, firstName.Text, fullName, lastName.Text, DepartmentName.Text, Title.Text, StartDate.Text, Benefits.Text, false, salary);
                    employeeList.Items.Add(employee.empId);

                    BusinessRules.Instance.AddEmployee(empId, employee);
                }
                catch (Exception e)
                {
                    if (e.Message == "Input string was not in a correct format.")
                    {
                        monthlyTextBox.BackColor = Color.Red;
                        firstName.BackColor      = Color.White;
                        lastName.BackColor       = Color.White;
                        MessageBox.Show("Monthly Salary should only contain numbers ");
                    }
                    else
                    {
                        firstName.BackColor      = Color.Red;
                        lastName.BackColor       = Color.Red;
                        monthlyTextBox.BackColor = Color.White;
                        MessageBox.Show(/*"Contract should only contain numbers "+ Environment.NewLine + */ e.Message);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void employeeList_SelectedIndexChanged(object sender, EventArgs e, TextBox firstName, TextBox lastName, ComboBox dropdown, TextBox DepartmentName, TextBox Title, TextBox StartDate, TextBox Benefits)
        {
            mainPanel.Controls.Clear();
            ListBox lb       = sender as ListBox;
            int     selected = lb.SelectedIndex;

            if (selected == -1)
            {
                return;
            }

            var    empId = lb.Items[selected];
            string id    = empId.ToString();

            var    employee   = BusinessRules.Instance.empData.ContainsKey(id) ? BusinessRules.Instance.empData[id] : BusinessRules.Instance.empDel[id];
            string employeeId = employee.empId.ToString();


            if (employee.empType == 0)
            {
                HourlyEmployee hEmployee = (HourlyEmployee)employee;
                dropdown.SelectedIndex = (int)hEmployee.empType;
                Label empID = new Label();
                empID.Location = new Point(175, 10);
                mainPanel.Controls.Add(empID);
                empID.AutoSize = true;
                empID.BringToFront();
                empID.Text = "Employee ID: " + employeeId;

                TextBox hourlyRateText = new TextBox();
                hourlyRateText.Location = new Point(175, 65);
                mainPanel.Controls.Add(hourlyRateText);
                hourlyRateText.BringToFront();
                hourlyRateText.Text = hEmployee.hourlyRate.ToString();


                Label hourlyRateLabel = new Label();
                hourlyRateLabel.Location = new Point(175, 40);
                mainPanel.Controls.Add(hourlyRateLabel);
                hourlyRateLabel.BringToFront();
                hourlyRateLabel.Text = "Hourly Rate*";

                TextBox HoursWorkedText = new TextBox();
                HoursWorkedText.Location = new Point(175, 120);
                mainPanel.Controls.Add(HoursWorkedText);
                HoursWorkedText.BringToFront();
                HoursWorkedText.Text = hEmployee.hoursWorked.ToString();

                Label HoursWorkedLabel = new Label();
                HoursWorkedLabel.Location = new Point(175, 90);
                mainPanel.Controls.Add(HoursWorkedLabel);
                HoursWorkedLabel.BringToFront();
                HoursWorkedLabel.Text = "Hours Worked*";


                firstName.Text      = hEmployee.firstName;
                lastName.Text       = hEmployee.lastName;
                DepartmentName.Text = hEmployee.departmentName;
                Title.Text          = hEmployee.title;
                StartDate.Text      = hEmployee.startDate;
                Benefits.Text       = hEmployee.benefits;

                Button SaveButton = new Button();
                SaveButton.Location = new Point(175, 275);
                mainPanel.Controls.Add(SaveButton);
                SaveButton.BringToFront();



                SaveButton.Text   = "Save";
                SaveButton.Click += delegate(object sender1, EventArgs e1) { SaveButton_ClickHourly(sender1, e1, HoursWorkedText, hourlyRateText, firstName, lastName, employeeId, DepartmentName, Title, StartDate, Benefits); };
            }
            else if (employee.empType == 1)
            {
                Salary sEmployee = (Salary)employee;
                dropdown.SelectedIndex = (int)sEmployee.empType;
                Label empID = new Label();
                empID.Location = new Point(175, 10);
                mainPanel.Controls.Add(empID);
                empID.AutoSize = true;
                empID.BringToFront();
                empID.Text = "Employee ID: " + employeeId;

                TextBox monthlyTextBox = new TextBox();
                monthlyTextBox.Location = new Point(175, 65);
                mainPanel.Controls.Add(monthlyTextBox);
                monthlyTextBox.BringToFront();
                monthlyTextBox.Text = sEmployee.monthlySalary.ToString();


                Label monthlySalary = new Label();
                monthlySalary.Location = new Point(175, 40);
                mainPanel.Controls.Add(monthlySalary);
                monthlySalary.BringToFront();
                monthlySalary.Text = "Monthly Salary*";

                firstName.Text      = sEmployee.firstName;
                lastName.Text       = sEmployee.lastName;
                DepartmentName.Text = sEmployee.departmentName;
                Title.Text          = sEmployee.title;
                StartDate.Text      = sEmployee.startDate;
                Benefits.Text       = sEmployee.benefits;


                Button SaveButton = new Button();
                SaveButton.Location = new Point(175, 275);
                mainPanel.Controls.Add(SaveButton);
                SaveButton.BringToFront();
                SaveButton.Text   = "Save";
                SaveButton.Click += delegate(object sender1, EventArgs e1) { SaveButton_ClickSalary(sender1, e1, monthlyTextBox, firstName, lastName, employeeId, DepartmentName, Title, StartDate, Benefits); };
            }
            else if (employee.empType == 2)
            {
                Sales saleEmployee = (Sales)employee;

                dropdown.SelectedIndex = (int)saleEmployee.empType;
                Label empID = new Label();
                empID.Location = new Point(175, 10);
                mainPanel.Controls.Add(empID);
                empID.AutoSize = true;
                empID.BringToFront();
                empID.Text = "Employee ID: " + employeeId;

                TextBox monthlyTextBox = new TextBox();
                monthlyTextBox.Location = new Point(175, 65);
                mainPanel.Controls.Add(monthlyTextBox);
                monthlyTextBox.BringToFront();
                monthlyTextBox.Text = saleEmployee.monthlySalary.ToString();


                Label monthlySalary = new Label();
                monthlySalary.Location = new Point(175, 40);
                mainPanel.Controls.Add(monthlySalary);
                monthlySalary.BringToFront();
                monthlySalary.Text = "Monthly Salary*";

                Label grossSales = new Label();
                grossSales.Location = new Point(175, 90);
                mainPanel.Controls.Add(grossSales);
                grossSales.BringToFront();
                grossSales.Text = "Gross Sales*";

                TextBox grossTextBox = new TextBox();
                grossTextBox.Location = new Point(175, 120);
                mainPanel.Controls.Add(grossTextBox);
                grossTextBox.BringToFront();
                grossTextBox.Text = saleEmployee.grossSales.ToString();


                Label Commission = new Label();
                Commission.Location = new Point(300, 40);
                mainPanel.Controls.Add(Commission);
                Commission.BringToFront();
                Commission.Text = "Commission*";

                TextBox commissionTextBox = new TextBox();
                commissionTextBox.Location = new Point(300, 65);
                mainPanel.Controls.Add(commissionTextBox);
                commissionTextBox.BringToFront();
                commissionTextBox.Text = saleEmployee.commission.ToString();

                firstName.Text      = saleEmployee.firstName;
                lastName.Text       = saleEmployee.lastName;
                DepartmentName.Text = saleEmployee.departmentName;
                Title.Text          = saleEmployee.title;
                StartDate.Text      = saleEmployee.startDate;
                Benefits.Text       = saleEmployee.benefits;


                Button SaveButton = new Button();
                SaveButton.Location = new Point(175, 275);
                mainPanel.Controls.Add(SaveButton);
                SaveButton.BringToFront();
                SaveButton.Text   = "Save";
                SaveButton.Click += delegate(object sender1, EventArgs e1) { SaveButton_ClickSales(sender1, e1, monthlyTextBox, grossTextBox, commissionTextBox, firstName, lastName, employeeId, DepartmentName, Title, StartDate, Benefits); };
            }
            else
            {
                Contract cEmployee = (Contract)employee;

                dropdown.SelectedIndex = (int)cEmployee.empType;
                Label empID = new Label();
                empID.Location = new Point(175, 10);
                mainPanel.Controls.Add(empID);
                empID.AutoSize = true;
                empID.BringToFront();
                empID.Text = "Employee ID: " + employeeId;

                TextBox contractWageText = new TextBox();
                contractWageText.Location = new Point(175, 65);
                mainPanel.Controls.Add(contractWageText);
                contractWageText.BringToFront();
                contractWageText.Text = cEmployee.contractWage.ToString();


                Label contractWageLabel = new Label();
                contractWageLabel.Location = new Point(175, 40);
                mainPanel.Controls.Add(contractWageLabel);
                contractWageLabel.BringToFront();
                contractWageLabel.Text = "Contract Wage*";

                firstName.Text      = cEmployee.firstName;
                lastName.Text       = cEmployee.lastName;
                DepartmentName.Text = cEmployee.departmentName;
                Title.Text          = cEmployee.title;
                StartDate.Text      = cEmployee.startDate;
                Benefits.Text       = cEmployee.benefits;



                Button SaveButton = new Button();
                SaveButton.Location = new Point(175, 275);
                mainPanel.Controls.Add(SaveButton);
                SaveButton.BringToFront();
                SaveButton.Text   = "Save";
                SaveButton.Click += delegate(object sender1, EventArgs e1) { SaveButton_ClickContract(sender1, e1, contractWageText, firstName, lastName, employeeId, DepartmentName, Title, StartDate, Benefits); };
            }
        }