/// <summary> /// This function returns a particular clsInvoice object based on the invoice number parameter /// </summary> /// <param name="InvoiceNum"></param> /// <returns></returns> public clsMainLogic PopulateInvoice(int InvoiceNum) { try { DataSet ds = new DataSet(); int iRet = 0; ds = db.ExecuteSQLStatement(SQLQueries.SelectInvoiceData(InvoiceNum), ref iRet); ObservableCollection <clsInvoiceItem> InvoiceItemCollection = new ObservableCollection <clsInvoiceItem>(); for (int i = 0; i < iRet; i++) { clsInvoiceItem InvoiceItem = new clsInvoiceItem(); InvoiceItem.ItemDesc = ds.Tables[0].Rows[i][3].ToString(); InvoiceItem.ItemCost = Convert.ToDecimal(ds.Tables[0].Rows[i][4].ToString()); InvoiceItem.LineItemNum = Convert.ToInt32(ds.Tables[0].Rows[i][5].ToString()); InvoiceItem.ItemCode = ds.Tables[0].Rows[i][6].ToString(); InvoiceItemCollection.Add(InvoiceItem); } clsMainLogic currInvoice = new clsMainLogic(); currInvoice.ItemsCollection = InvoiceItemCollection; currInvoice.InvoiceNum = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString()); currInvoice.InvoiceDate = Convert.ToDateTime(ds.Tables[0].Rows[0][1].ToString()); currInvoice.TotalCharge = Convert.ToDecimal(ds.Tables[0].Rows[0][2].ToString()); return(currInvoice); } catch (Exception ex) { //Just throw the exception throw new Exception(MethodInfo.GetCurrentMethod().DeclaringType.Name + "." + MethodInfo.GetCurrentMethod().Name + " -> " + ex.Message); } }