}//end method /// <summary> /// this method finds out the specifc serach criteria the user wants to see /// </summary> private void UserWantsToSee() { try { clsInvoices InvoiceNum = (clsInvoices)cbChooseInvoice.SelectedItem; //specified invoice clsInvoices InvoiceCost = (clsInvoices)cbChooseCharge.SelectedItem; //specified Cost //specific date string sDate = dpInvoiceDate.SelectedDate.ToString(); if (InvoiceCost != null && InvoiceNum != null) { return; } else if (InvoiceCost == null && sDate == "")//only invoice number { ObservableCollection <clsInvoices> Temp = MyClsSearchLogic.SpecifiedInvoiceNum(InvoiceNum.InvoiceNum); InvoicesDataGrid.ItemsSource = Temp; //update datagrid } else if (InvoiceCost != null && sDate != "") //invoice cost and date selected { ObservableCollection <clsInvoices> Temp = MyClsSearchLogic.SpecifiedInvoiceDateAndCost(sDate, InvoiceCost.TotalCost); InvoicesDataGrid.ItemsSource = Temp; //update datagrid } else if (InvoiceNum != null && sDate != "") //invoice num and date selected { ObservableCollection <clsInvoices> Temp = MyClsSearchLogic.SpecifiedInvoiceNumAndDate(InvoiceNum.InvoiceNum, sDate); InvoicesDataGrid.ItemsSource = Temp; //update datagrid } else if (InvoiceCost != null && InvoiceNum == null && sDate == "") //only cost { ObservableCollection <clsInvoices> Temp = MyClsSearchLogic.SpecifiedInvoiceCost(InvoiceCost.TotalCost); InvoicesDataGrid.ItemsSource = Temp; //update datagrid } else if (InvoiceCost == null && InvoiceNum == null) //only date { ObservableCollection <clsInvoices> Temp = MyClsSearchLogic.SpecifiedInvoiceDate(sDate); InvoicesDataGrid.ItemsSource = Temp;//update datagrid } else//Invoice number and date and cost { ObservableCollection <clsInvoices> Temp = MyClsSearchLogic.SpecifiedInvoiceNumAndDateAndCost(InvoiceNum.InvoiceNum, sDate, InvoiceCost.TotalCost); InvoicesDataGrid.ItemsSource = Temp;//update datagrid } } catch (Exception ex) { //this is reflection for exception handling throw new Exception(MethodInfo.GetCurrentMethod().DeclaringType.Name + "." + MethodInfo.GetCurrentMethod().Name + " -> " + ex.Message); } }//end method
}//end method /// <summary> /// this Method takes the invoice the user selected and makes it available to other windows /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SelectInvoice_Click(object sender, RoutedEventArgs e) { try { if (InvoicesDataGrid.SelectedItem != null)//if selected { clsInvoices Invoice = (clsInvoices)InvoicesDataGrid.SelectedItem; MainWindow.MainWndwInvoice = Invoice;//send invoice to main window this.Close(); } } catch (Exception ex) { HandleError(MethodInfo.GetCurrentMethod().DeclaringType.Name, MethodInfo.GetCurrentMethod().Name, ex.Message); } }//end method