/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/04 /// Approver : Mohamed Elamin /// after reviewer select a customer record, btnOpenRecord retrireve that customer data and filled /// the customer details and hidden the adoption appliaction then show the customer data /// </summary> /// <param name="e"></param> /// <param name="sender"></param> private void btnOpenRecord_Click(object sender, RoutedEventArgs e) { List <Questionnair> questionnairs = new List <Questionnair>(); try { adoptionApplication = (AdoptionApplication)DGViewData.SelectedItem; if (adoptionApplication != null) { this.customerEmail = adoptionApplication.CustomerEmail; reviewerManager = new ReviewerManager(); customer = reviewerManager.retrieveCustomerByCustomerName(this.customerEmail); List <CustomerQuestionnar> customerQuestionnars = reviewerManager.retrieveCustomerQuestionnar(this.customerEmail); lblCustomerName.Content = adoptionApplication.CustomerEmail; DGViewQuestionnair.ItemsSource = customerQuestionnars; adoptionApplication = new AdoptionApplication(); ReviewerDecission.Visibility = Visibility.Hidden; ViewAdoptionApplications.Visibility = Visibility.Hidden; CustomerQustionnair.Visibility = Visibility.Visible; } else { lblAdoptionApplicationErrorMessage.Content = "Please select a customer"; } } catch (Exception) { lblAdoptionApplicationErrorMessage.Content = "This customer did not fill the questionnar!"; } }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/03/06 /// Approver: Mohamed Elamin /// Retrieve Questionnaes general questions table /// </summary> /// <remarks> /// Updater: Mohamed Elamin /// Updated: 2020/04/21 /// Update: Fixed comments format. /// </remarks> /// <param name="adoptionApplication"></param> /// <returns>questions</returns> /// <returns>True or false depending if the record was inserted</returns> public bool insertAdoptionApplication(AdoptionApplication adoptionApplication) { bool result = false; var conn = DBConnection.GetConnection(); var cmd = new SqlCommand("sp_add_new_adoptionApplication", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@CustomerEmail", adoptionApplication.CustomerEmail); cmd.Parameters.AddWithValue("@RecievedDate", adoptionApplication.RecievedDate); cmd.Parameters.AddWithValue("@Status", adoptionApplication.Status); cmd.Parameters.AddWithValue("@AnimalID", adoptionApplication.AnimalID); try { conn.Open(); if ((int)cmd.ExecuteNonQuery() == 1) { result = true; } } catch (Exception) { throw; } finally { conn.Close(); } return(result); }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/04 /// Approver : Mohamed Elamin /// open (Hidden/visible) the reviewer decssion page /// </summary> /// <param name="e"></param> /// <param name="sender"></param> private void btnReviewerDecisionView_Click(object sender, RoutedEventArgs e) { if (DGViewData.SelectedItem != null) { AdoptionApplication selectedAdoptionApplication = (AdoptionApplication)DGViewData.SelectedItem; //adoptionApplication = reviewerManager.retrieveCustomerAdoptionApplicaionByCustomerEmail(selectedAdoptionApplication.CustomerEmail); txtAdoptionApplicationID.IsReadOnly = true; txtCustomerLastName.IsReadOnly = true; txtAnimalName.IsReadOnly = true; txtAdoptionApplicationID.Text = selectedAdoptionApplication.AdoptionApplicationID.ToString(); txtCustomerLastName.Text = selectedAdoptionApplication.CustomerEmail; txtAnimalName.Text = selectedAdoptionApplication.AnimalName; ReviewerDecission.Visibility = Visibility.Visible; ViewAdoptionApplications.Visibility = Visibility.Hidden; CustomerQustionnair.Visibility = Visibility.Hidden; lblAdoptionApplicationErrorMessage.Content = ""; } else { txtAdoptionApplicationID.Text = ""; txtCustomerLastName.Text = ""; txtAnimalName.Text = ""; txtAdoptionApplicationID.IsReadOnly = true; txtCustomerLastName.IsReadOnly = true; txtAnimalName.IsReadOnly = true; ReviewerDecission.Visibility = Visibility.Hidden; ViewAdoptionApplications.Visibility = Visibility.Visible; CustomerQustionnair.Visibility = Visibility.Hidden; lblAdoptionApplicationErrorMessage.Content = "Please Select Adoption Application"; } }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/3/7 /// Approver: Mohamed Elamin /// default constructor assgined intial values /// </summary> /// <remarks> /// UPDATED BY: NA /// UPDATE DATE: NA /// CHANGE: NA /// </remarks> public AdoptionController() { adoptionApplication = new AdoptionApplication(); adoptionApplicationManager = new ReviewerManager(); questionnair = new Questionnair(); _adoptionCustomerManager = new AdoptionCustomerManager(); _adoptionApplicationManager = new AdoptionApplicationManager(); _adoptionAnimalManager = new AdoptionAnimalManager(); _adoptionAppointmentManager = new AdoptionAppointmentManager(); _userManager = new UserManager(); _animalManager = new AnimalManager(); }
public void TestAdoptionApplication() { AdoptionApplication adoptionApplication = new AdoptionApplication(); adoptionApplication.AdoptionApplicationID = 10003; adoptionApplication.CustomerEmail = "*****@*****.**"; adoptionApplication.AnimalID = 10004; adoptionApplication.RecievedDate = DateTime.Now; adoptionApplication.Status = "Reviewer"; bool expect = true; bool result = reviewerManager.addAdoptionApplication(adoptionApplication); Assert.AreEqual(expect, result); }
//[AllowAnonymous] //[ValidateAntiForgeryToken] public ActionResult AdoptionApplication(AdoptionApplication adoptionApplication) { if (adoptionApplicationManager.addAdoptionApplication(adoptionApplication)) { ViewBag.StatusMessage = "update goes right!"; return(RedirectToAction("Index")); } else { ViewBag.StatusMessage = "Model state is not valid"; return(RedirectToAction("Index")); //return View(); } }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/04 /// Approver : Mohamed Elamin ///submit the reviewer decission (Approve/Deny) /// </summary> /// <param name="e"></param> /// <param name="sender"></param> private void btnSubmitDecision_Click(object sender, RoutedEventArgs e) { adoptionApplication = (AdoptionApplication)DGViewData.SelectedItem; if (Interviewer.IsSelected) { if (adoptionManager.SubmitReviewerDecision(adoptionApplication.AdoptionApplicationID, Interviewer.Content.ToString())) { lblDecisionErrorMessage.Content = Interviewer.Content.ToString(); lblAdoptionApplicationDecision.Content = Interviewer.Content.ToString(); DGViewData.ItemsSource = adoptionManager.retrieveCustomersFilledQuestionnair(); ReviewerDecission.Visibility = Visibility.Hidden; ViewAdoptionApplications.Visibility = Visibility.Visible; CustomerQustionnair.Visibility = Visibility.Hidden; } else { lblDecisionErrorMessage.Content = "Please choose a decision"; ReviewerDecission.Visibility = Visibility.Visible; ViewAdoptionApplications.Visibility = Visibility.Hidden; CustomerQustionnair.Visibility = Visibility.Hidden; } } else if (Deny.IsSelected) { if (adoptionManager.SubmitReviewerDecision(adoptionApplication.AdoptionApplicationID, Deny.Content.ToString())) { lblDecisionErrorMessage.Content = Deny.Content.ToString(); lblAdoptionApplicationDecision.Content = Deny.Content.ToString(); DGViewData.ItemsSource = adoptionManager.retrieveCustomersFilledQuestionnair(); ReviewerDecission.Visibility = Visibility.Hidden; ViewAdoptionApplications.Visibility = Visibility.Visible; CustomerQustionnair.Visibility = Visibility.Hidden; } else { lblDecisionErrorMessage.Content = "Please choose a decision"; ReviewerDecission.Visibility = Visibility.Visible; ViewAdoptionApplications.Visibility = Visibility.Hidden; CustomerQustionnair.Visibility = Visibility.Hidden; } } else { lblDecisionErrorMessage.Content = "Please choose a decision"; return; } }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/04 /// Approver: Mohamed Elamin /// add the adoption application of the customer /// </summary> /// <remarks> /// Updater: Mohamed Elamin /// Updated: 2020/04/21 /// Update: Fixed Comments format. /// </remarks> /// <param name="adoptionApplication"></param> /// <returns>True or false depending if the record was inserted</returns> public bool addAdoptionApplication(AdoptionApplication adoptionApplication) { bool result = false; try { if (adoptionAccessor.insertAdoptionApplication(adoptionApplication)) { result = true; } } catch (Exception) { throw; } return(result); }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/03/6 /// Approver: Mohamed Elamin /// Insert Adoption Apllication in AdoptionApplication table /// </summary> /// <remarks> /// Updater: /// Updated: /// Update: /// </remarks> /// <param name="adoptionApplication"></param> /// <returns>result</returns> public bool insertAdoptionApplication(AdoptionApplication adoptionApplication) { bool result = false; int count = adoptionApplications.Count; AdoptionApplication adoption = new AdoptionApplication(); adoption.AdoptionApplicationID = adoptionApplication.AdoptionApplicationID; adoption.CustomerEmail = adoptionApplication.CustomerEmail; adoption.AnimalName = adoptionApplication.AnimalID.ToString(); adoption.RecievedDate = adoptionApplication.RecievedDate; adoption.Status = adoptionApplication.Status; adoptionApplications.Add(adoption); if (adoptionApplications.Count > count) { result = true; } return(result); }
/// <summary> /// Creator: Mohamed Elamin /// Created On: 2020/03/29 /// Approved By: Awaab Elamin /// This is an event when Back To Inspector Screen button is clicked , And will open /// Customer Detail window.And sends the Customer Email to the Customer Detail's /// Constructor as an argument. /// </summary> /// <remarks> /// Updater Name /// Updated: yyyy/mm/dd /// Update: () /// </remarks> /// <param name="sender"></param> /// <param name="e"></param> private void btnCustomerDetails_Click(object sender, RoutedEventArgs e) { AdoptionApplication adoptionApplication = new AdoptionApplication(); adoptionApplication = (AdoptionApplication)DGViewData.SelectedItem; var selectedItem = (AdoptionApplication)DGViewData.SelectedItem; if (selectedItem == null) { MessageBox.Show("Please select an Adoption Application to open the Customer Details."); } else { this.NavigationService?.Navigate(new CustomerDetail (adoptionApplication.CustomerEmail)); } }
/// <summary> /// Creator: Mohamed Elamin /// Created: 2020/02/19 /// Approver: Austin Gee, 2020/02/19 /// This is an event on btnOpen is clicked which will open Customer Detail window. /// </summary> /// <remarks> /// Updater Name /// Updated: yyyy/mm/dd /// Update: () /// </remarks> /// <param name=" sender"></param> /// <param name=" e"></param> private void BtnOpenRecord_Click(object sender, RoutedEventArgs e) { AdoptionApplication adoptionApplication = new AdoptionApplication(); adoptionApplication = (AdoptionApplication)dgAdoptionApplicationsList.SelectedItem; var selectedItem = (AdoptionApplication)dgAdoptionApplicationsList.SelectedItem; if (selectedItem == null) { MessageBox.Show("Please select an Adoption Appliction to open the Customer Details."); } else { this.NavigationService?.Navigate(new CustomerDetail (adoptionApplication.CustomerEmail)); populatedgAdoptionApplicationsList(); } }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/04 /// Approver: Mohamed Elamin /// </summary> /// <remarks> /// Updater: Mohamed Elamin /// Updated: 2020/04/22 /// Update: Fixed Comments format. /// </remarks> /// <param name="e"></param> /// <param name="sender"></param> private void DGInterviewerData_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { AdoptionApplication application = new AdoptionApplication(); application = (AdoptionApplication)DGInterviewerData.SelectedItem; txtAdoptionApplicationID.Text = application.AdoptionApplicationID.ToString(); lblInterviewerErrorMessage.Content = ""; btnInterviewerDecission.Visibility = Visibility.Visible; GridInterviewerDecission.Visibility = Visibility.Visible; } catch (Exception) { btnInterviewerDecission.Visibility = Visibility.Hidden; GridInterviewerDecission.Visibility = Visibility.Hidden; txtAdoptionApplicationID.Text = "Please select one of the adoption application list"; } }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/15 /// Approver: Mohamed Elamin /// Retrieve Adoption Application for a customer from Customer Questionnar table /// by his ID. /// </summary> /// <remarks> /// Updater: Mohamed Elamin /// Updated: 2020/04/21 /// Update: Fixed comments format. /// </remarks> /// <param name="customerEmail"></param> /// <returns>adoptionApplication</returns> public AdoptionApplication getAdoptionApplicationByCustomerEmail(string customerEmail) { AdoptionApplication adoptionApplication = new AdoptionApplication(); // var conn = DBConnection.GetConnection(); // string cmdText = @"sp_get_Adoption_Application_By_CustomerID"; // var cmd = new SqlCommand(cmdText, conn); // cmd.CommandType = CommandType.StoredProcedure; // cmd.Parameters.Add("@customerID", SqlDbType.Int); // cmd.Parameters["@customerID"].Value = customerID; // try // { // conn.Open(); // SqlDataReader reader = cmd.ExecuteReader(); // if (reader.HasRows) // { // while (reader.Read()) // { // adoptionApplication.AdoptionApplicationID = reader.GetInt32(0); // adoptionApplication.CustomerName = getCustomerLastName(customerID); // adoptionApplication.AnimalName = getAnimalName(reader.GetInt32(1)); // adoptionApplication.Status = reader.GetString(2); // adoptionApplication.RecievedDate = reader.GetDateTime(3); // } // reader.Close(); // } // } // catch (Exception) // { // throw; // } // finally // { // conn.Close(); // } return(adoptionApplication); }
/// <summary> /// Creator: Mohamed Elamin /// Created: 2/5/2020 /// Approver: Austin Gee, 2/7/2020 /// This method used to get all Adoption Applications where thier status /// is In-home Inspection. /// </summary> /// <remarks> /// Updater Name /// Updated: yyyy/mm/dd /// Update: () /// </remarks> /// <returns>Adoption Applications list</returns> public List <AdoptionApplication> SelectAdoptionApplicationsByStatus() { List <AdoptionApplication> adoptionApplications = new List <AdoptionApplication>(); var conn = DBConnection.GetConnection(); var cmd = new SqlCommand("sp_select_AdoptionApplication_by_Status", conn); cmd.Connection = conn; cmd.CommandType = CommandType.StoredProcedure; try { conn.Open(); var reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { var adoptionApplication = new AdoptionApplication(); adoptionApplication.AdoptionApplicationID = reader.GetInt32(0); adoptionApplication.AnimalName = SelectAnimalNameByAnimalID(reader.GetInt32(1)); adoptionApplication.CustomerEmail = reader.GetString(2); adoptionApplication.Status = reader.GetString(3); adoptionApplication.RecievedDate = reader.GetDateTime(4); adoptionApplications.Add(adoptionApplication); } } reader.Close(); } catch (Exception ex) { throw ex; } finally { conn.Close(); } return(adoptionApplications); }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/15 /// Approver: Mohamed Elamin /// Method to get all Adoption Applications. /// </summary> /// <remarks> /// Updater: Mohamed Elamin /// Updated: 2020/04/21 /// Update: Fixed comments format. /// </remarks> /// <returns>adoptionApplications</returns> public List <AdoptionApplication> getAllAdoptionApplication() { List <AdoptionApplication> adoptionApplications = new List <AdoptionApplication>(); var conn = DBConnection.GetConnection(); string cmdText = @"sp_get_Adoption_Application"; var cmd = new SqlCommand(cmdText, conn); cmd.CommandType = CommandType.StoredProcedure; try { conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { AdoptionApplication adoptionApplication = new AdoptionApplication(); adoptionApplication.AdoptionApplicationID = reader.GetInt32(0); adoptionApplication.CustomerEmail = reader.GetString(1); adoptionApplication.AnimalName = reader.GetString(2); adoptionApplication.Status = reader.GetString(3); adoptionApplication.RecievedDate = reader.GetDateTime(4); adoptionApplications.Add(adoptionApplication); } reader.Close(); } } catch (Exception) { throw; } finally { conn.Close(); } return(adoptionApplications); }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/15 /// Approver: Mohamed Elamin /// retrieve the Adoption Apllication of specific customer /// according to his ID /// </summary> /// <remarks> /// Updated by: Awaab Elamin /// Date: 2020/03/15 /// Updated to get Adoption Application by Customer Email neither than Customer ID /// According to DB update /// </remarks> /// <param name="customerEmail"></param> /// <return type="AdoptionApplication"> adoptionApplication</return> public AdoptionApplication getAdoptionApplicationByCustomerEmail(String customerEmail) { AdoptionApplication adoptionApplication = new AdoptionApplication(); //string customerLastName = ""; //foreach (AdoptionCustomer customer in customers) //{ // if (customerID == customer.CustomerID) // { // customerLastName = customer.LastName; // break; // } // foreach (AdoptionApplication adoption in adoptionApplications) // { // if (adoption.CustomerName == customerLastName) // { // adoptionApplication = adoption; // break; // } // } //} return(adoptionApplication); }
/// <summary> /// Creator: Awaab Elamin /// Created: 2020/02/04 /// Approver: Mohamed Elamin /// Retrieve A customer's AdoptionApplication by a customerID /// </summary> /// <remarks> /// Updater: Mohamed Elamin /// Updated: 2020/04/21 /// Update: Fixed Comments format.Added try catch block. /// </remarks> /// <param name="customerEmail"></param> /// <returns >adoptionApplication</returns> public AdoptionApplication retrieveCustomerAdoptionApplicaionByCustomerEmail(string customerEmail) { adoptionApplication = adoptionAccessor.getAdoptionApplicationByCustomerEmail(customerEmail); return(adoptionApplication); }