コード例 #1
0
        /// <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);
            }
        }