/// <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); }
/// <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); }
/// <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"); } }
/// <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"); } }