Exemplo n.º 1
0
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/2/2020
        /// Approver: Carl Davis 4/4/2020
        ///
        /// Adds the kennel cleaning record to the database
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="cleaningRecord"></param>
        /// <returns></returns>
        public bool AddKennelCleaningRecord(AnimalKennelCleaningRecord cleaningRecord)
        {
            bool result = false;

            try
            {
                result = _cleaningAccessor.InsertKennelCleaningRecord(cleaningRecord) > 0;
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Record not added.", ex);
            }

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/10/2020
        /// Approver: Carl Davis 4/10/2020
        ///
        /// Deletes a cleaning record from the database
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="cleaningRecord"></param>
        /// <returns></returns>
        public bool RemoveKennelCleaningRecord(AnimalKennelCleaningRecord cleaningRecord)
        {
            bool result = false;

            try
            {
                result = _cleaningAccessor.DeleteKennelCleaningRecord(cleaningRecord) == 1;
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Cleaning Record not deleted!", ex);
            }

            return(result);
        }
        public void TestAddKennelCleaningRecordSuccess()
        {
            //Arrange
            IAnimalKennelCleaningManager cleaningManager = new AnimalKennelCleaningManager(_cleaningAccessor);
            const bool expectedResult = true;
            AnimalKennelCleaningRecord cleaningRecord = new AnimalKennelCleaningRecord()
            {
                AnimalKennelID = 1, Date = DateTime.Now, FacilityKennelCleaningID = 3, Notes = "bubba", UserID = 1
            };

            //Act
            bool actualResult = cleaningManager.AddKennelCleaningRecord(cleaningRecord);

            //Assert
            Assert.AreEqual(expectedResult, actualResult);
        }
        public void TestDeleteKennelCleaningRecordBadValue()
        {
            // Arrange
            IAnimalKennelCleaningManager animalKennelCleaningManager = new AnimalKennelCleaningManager(_cleaningAccessor);
            AnimalKennelCleaningRecord   deleteMe = new AnimalKennelCleaningRecord
            {
                FacilityKennelCleaningID = 10,
                AnimalKennelID           = 2,
                UserID = 1,
                Date   = new DateTime(2019, 6, 24),
                Notes  = "Bad Notes Bad Notes"
            };

            // Act
            bool actualResult = animalKennelCleaningManager.RemoveKennelCleaningRecord(deleteMe);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/10/2020
        /// Approver: Carl Davis 4/10/2020
        ///
        /// Fake method to test removing the data
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="cleaningRecord"></param>
        /// <returns></returns>
        public int DeleteKennelCleaningRecord(AnimalKennelCleaningRecord cleaningRecord)
        {
            AnimalKennelCleaningRecord record = null;

            record = (cleaningRecords.Find(n => n.FacilityKennelCleaningID == cleaningRecord.FacilityKennelCleaningID));

            if (record != null)
            {
                cleaningRecords.Remove(cleaningRecord);

                return(1);
            }
            else
            {
                throw new ApplicationException("data not found");
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/9/2020
        /// Approver: Carl Davis 4/10/2020
        ///
        /// Fake method for testing editing a cleaning record.
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="oldRecord"></param>
        /// <param name="newRecord"></param>
        /// <returns></returns>
        public int UpdateKennelCleaningRecord(AnimalKennelCleaningRecord oldRecord, AnimalKennelCleaningRecord newRecord)
        {
            AnimalKennelCleaningRecord record = null;

            record = (cleaningRecords.Find(n => n.FacilityKennelCleaningID == oldRecord.FacilityKennelCleaningID));

            if (record != null)
            {
                cleaningRecords[(oldRecord.FacilityKennelCleaningID - 1)] = newRecord;

                return(1);
            }
            else
            {
                throw new ApplicationException("data not found");
            }
        }
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/7/2020
        /// Approver: Carl Davis 4/10/2020
        ///
        /// Gets all kennel records and returns them to the up layers
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        ///
        /// </remarks>
        /// <returns> List of all kennel cleaning records in the DB<</returns>
        public List <AnimalKennelCleaningRecord> SelectAllKennelCleaningRecords()
        {
            List <AnimalKennelCleaningRecord> cleaningRecords = new List <AnimalKennelCleaningRecord>();

            var conn = DBConnection.GetConnection();
            var cmd  = new SqlCommand("sp_select_all_kennel_cleaning_records");

            cmd.Connection  = conn;
            cmd.CommandType = CommandType.StoredProcedure;

            try
            {
                conn.Open();
                var reader = cmd.ExecuteReader();

                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var record = new AnimalKennelCleaningRecord()
                        {
                            FacilityKennelCleaningID = reader.GetInt32(0),
                            UserID         = reader.GetInt32(1),
                            AnimalKennelID = reader.GetInt32(2),
                            Date           = reader.GetDateTime(3),
                            Notes          = reader.GetString(4)
                        };

                        cleaningRecords.Add(record);
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }

            return(cleaningRecords);
        }
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/7/2020
        /// Approver: Carl Davis 4/10/2020
        ///
        /// Edits an existing cleaning record
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        ///
        /// </remarks>
        /// <param name="oldRecord"></param>
        /// <param name="newRecord"></param>
        /// <returns></returns>
        public int UpdateKennelCleaningRecord(AnimalKennelCleaningRecord oldRecord, AnimalKennelCleaningRecord newRecord)
        {
            int rows = 0;

            // connecttion
            var conn = DBConnection.GetConnection();

            // cmd
            var cmd = new SqlCommand("sp_update_kennel_cleaning_record");

            cmd.Connection  = conn;
            cmd.CommandType = CommandType.StoredProcedure;

            //Automatically assumes the value is an int32. Decimal and money are more ambiguous
            cmd.Parameters.AddWithValue("@FacilityKennelCleaningID", oldRecord.FacilityKennelCleaningID);

            cmd.Parameters.AddWithValue("@NewUserID", newRecord.UserID);
            cmd.Parameters.AddWithValue("@NewAnimalKennelID", newRecord.AnimalKennelID);
            cmd.Parameters.AddWithValue("@NewDate", newRecord.Date);
            cmd.Parameters.AddWithValue("@NewNotes", newRecord.Notes);


            cmd.Parameters.AddWithValue("@OldUserID", oldRecord.UserID);
            cmd.Parameters.AddWithValue("@OldAnimalKennelID", oldRecord.AnimalKennelID);
            cmd.Parameters.AddWithValue("@OldDate", oldRecord.Date);
            cmd.Parameters.AddWithValue("@OldNotes", oldRecord.Notes);

            try
            {
                conn.Open();
                rows = cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }

            return(rows);
        }
        public void TestDeleteKennelCleaningRecordGoodValue()
        {
            // Arrange
            IAnimalKennelCleaningManager animalKennelCleaningManager = new AnimalKennelCleaningManager(_cleaningAccessor);
            AnimalKennelCleaningRecord   deleteMe = new AnimalKennelCleaningRecord
            {
                FacilityKennelCleaningID = 2,
                AnimalKennelID           = 2,
                UserID = 1,
                Date   = new DateTime(2019, 6, 24),
                Notes  = "Notes Notes 2"
            };

            bool expectedResult = true;

            // Act
            bool actualResult = animalKennelCleaningManager.RemoveKennelCleaningRecord(deleteMe);

            //Assert
            Assert.AreEqual(expectedResult, actualResult);
        }
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/8/2020
        /// Approver: Carl Davis 4/10/2020
        ///
        /// Loads the data of a single cleaning record to the view/edit record.
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgKennelCleaning_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            try
            {
                _oldCleaningRecord = (AnimalKennelCleaningRecord)dgKennelCleaning.SelectedItem;

                lblTitle.Content = "Viewing Cleaning Record";

                txtKennelID.Text             = _oldCleaningRecord.AnimalKennelID.ToString();
                txtNotes.Text                = _oldCleaningRecord.Notes;
                txtUserID.Text               = _oldCleaningRecord.UserID.ToString();
                cndCleaningDate.SelectedDate = _oldCleaningRecord.Date;

                canAddKennelCleaningRecord.Visibility = Visibility.Visible;
                canView.Visibility = Visibility.Hidden;
                BtnSubmitCleaningRecord.Visibility = Visibility.Hidden;
                BtnEditCleaning.Visibility         = Visibility.Visible;
            }
            catch (Exception ex)
            {
                WPFErrorHandler.ErrorMessage(ex.Message);
            }
        }
        /// <summary>
        /// Creator: Ben Hanna
        /// Created: 4/2/2020
        /// Approver: Carl Davis 4/4/2020
        /// Approver:
        ///
        /// The button that triggers the process for saving record data.
        /// </summary>
        /// <remarks>
        /// Updater:
        /// Updated:
        /// Update:
        /// </remarks>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSubmitCleaningRecord_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(txtUserID.Text) || !int.TryParse(txtUserID.Text, out int num1))
            {
                MessageBox.Show("Please enter a valid user id");
                return;
            }
            if (string.IsNullOrEmpty(txtKennelID.Text) || !int.TryParse(txtKennelID.Text, out int num2))
            {
                MessageBox.Show("Please enter a valid kennel id");
                return;
            }
            if (string.IsNullOrEmpty(cndCleaningDate.SelectedDate.ToString()))
            {
                MessageBox.Show("Please select the cleaning date");
                return;
            }
            if (txtNotes.Text.Length > 250)
            {
                MessageBox.Show("Notes field is too long. Please enter again.");
                return;
            }

            try
            {
                AnimalKennelCleaningRecord newCleaningRecord = new AnimalKennelCleaningRecord
                {
                    UserID         = num1,
                    AnimalKennelID = num2,
                    Date           = (DateTime)cndCleaningDate.SelectedDate,
                    Notes          = txtNotes.Text
                };
                if (isAddMode)
                {
                    if (_cleaningManager.AddKennelCleaningRecord(newCleaningRecord))
                    {
                        WPFErrorHandler.SuccessMessage("Cleaning Record successfully added.");
                        CloseCleaningCanvas();
                    }
                    else
                    {
                        MessageBox.Show("Cleaning record was not added.");
                    }
                }
                else
                {
                    if (_cleaningManager.EditKennelCleaningRecord(_oldCleaningRecord, newCleaningRecord))
                    {
                        WPFErrorHandler.SuccessMessage("Cleaning Record successfully edited.");
                        CloseCleaningCanvas();
                    }
                    else
                    {
                        MessageBox.Show("Cleaning record was not edited.");
                    }
                }
            }
            catch (Exception ex)
            {
                WPFErrorHandler.ErrorMessage(ex.Message, "Save");
            }
        }