/// <summary>
        /// Validation for creating a new worker and inserts it into the database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCalculate_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                // creating object and adding it to the database
                var myWorker = new PieceworkWorker(txtFName.Text, txtLName.Text, txtTextSent.Text);

                txtTotalPay.Text = myWorker.Pay.ToString("c");

                txtFName.IsEnabled     = false;
                txtLName.IsEnabled     = false;
                txtTextSent.IsEnabled  = false;
                btnCalculate.IsEnabled = false;

                btnClear.Focus();

                UpdateStatus("Status: worker " + txtFName.Text + " " + txtLName.Text + " added with " + txtTextSent.Text + " messages sent");
            }
            catch (ArgumentNullException ex)
            {
                if (ex.ParamName == "Null Name")
                {
                    ExceptionText(txtFName);
                    lblWorkerFNameError.Content = ex.Message;
                    UpdateStatus("Status: error");
                }
                if (ex.ParamName == "Null Name")
                {
                    ExceptionText(txtLName);
                    lblWorkerLNameError.Content = ex.Message;
                    UpdateStatus("Status: error");
                }
            }
            catch (ArgumentOutOfRangeException ex)
            {
                if (ex.ParamName == "Messages Range")
                {
                    ExceptionText(txtTextSent);
                    lblMessagesSentError.Content = ex.Message;
                    UpdateStatus("Status: error");
                }
            }
            catch (ArgumentException ex)
            {
                if (ex.ParamName == "Messages Datatype")
                {
                    ExceptionText(txtTextSent);
                    lblMessagesSentError.Content = ex.Message;
                    UpdateStatus("Status: error");
                }
            }
            catch (Exception)
            {
                // exceptions not prepared for
                MessageBox.Show("Critical Error!", "Something very unexpected happened.");
            }
        }
Exemple #2
0
        /// <summary>
        /// Function to add a new worker to the worker database
        /// </summary>
        /// <param name="insertWorker">a worker object to be inserted</param>
        /// <returns>true if successful</returns>
        internal static bool InsertNewRecord(PieceworkWorker insertWorker)
        {
            // Create return value
            bool returnValue = false;

            // Declare the SQL connection
            SqlConnection dbConnection = new SqlConnection(GetConnectionString());

            // Create new SQL command and assign it paramaters
            SqlCommand command = new SqlCommand("INSERT INTO tblEntries VALUES(@firstName, @lastName, @messages, @pay, @entryDate)", dbConnection);

            command.Parameters.AddWithValue("@firstName", insertWorker.FirstName);
            command.Parameters.AddWithValue("@lastName", insertWorker.LastName);
            command.Parameters.AddWithValue("@messages", insertWorker.Messages);
            command.Parameters.AddWithValue("@pay", insertWorker.Pay);
            command.Parameters.AddWithValue("@entryDate", insertWorker.EntryDate);

            // The above SQL command is the same as the following:
            // SqlCommand command = new SqlCommand("INSERT INTO tblEntries VALUES(" + insertWorker.FirstName + ", " + insertWorker.LastName + ", " + insertWorker.Messages + ", " + insertWorker.Pay + ", " + insertWorker.EntryDate + ")", dbConnection);
            // Your choice if you think this version is nicer!

            // Try to insert the new record, return result
            try
            {
                dbConnection.Open();
                returnValue = (command.ExecuteNonQuery() == 1);
            }
            catch (Exception ex)
            {
                System.Windows.MessageBox.Show("A database error has been encountered: " + Environment.NewLine + ex.Message, "Database Error");
            }
            finally
            {
                dbConnection.Close();
            }

            // Return the true if this worked, false if it failed
            return(returnValue);
        }