/// <summary> /// Get detail for supplier invoice detail page /// Call Proc [usp_select_SupplierInvoice_for_Page] /// </summary> /// <param name="supplierInvoiceId"></param> /// <returns></returns> public override ClientInvoiceDetails GetForPage(System.Int32?clientInvoiceId, System.Boolean?isPOHub) { SqlConnection cn = null; SqlCommand cmd = null; try { cn = new SqlConnection(this.ConnectionString); if (isPOHub == true) { cmd = new SqlCommand("usp_select_ClientInvoice_for_Page", cn); } else { cmd = new SqlCommand("usp_select_ClientInvoice_for_PageClient", cn); } cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 30; cmd.Parameters.Add("@ClientInvoiceId", SqlDbType.Int).Value = clientInvoiceId; cn.Open(); DbDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow); if (reader.Read()) { ClientInvoiceDetails obj = new ClientInvoiceDetails(); obj.ClientInvoiceID = GetReaderValue_Int32(reader, "ClientInvoiceID", 0); obj.ClientInvoiceNumber = GetReaderValue_String(reader, "ClientInvoiceNumber", ""); obj.Clientname = GetReaderValue_String(reader, "Clientname", ""); obj.CompanyNo = GetReaderValue_Int32(reader, "CompanyNo", 0); obj.ClientNo = GetReaderValue_Int32(reader, "ClientNo", 0); return(obj); } else { return(null); } } catch (SqlException sqlex) { //LogException(sqlex); throw new Exception("Failed to get Client invoice", sqlex); } finally { cmd.Dispose(); cn.Close(); cn.Dispose(); } }
/// <summary> /// Call Proc [usp_select_ClientInvoiceByLineNo] /// Get the Client invoice by ClientinvoiceId and Line No /// </summary> /// <param name="clientInvoiceId"></param> /// <returns></returns> public override ClientInvoiceDetails GetClientInvoiceByLineNo(System.Int32?clientInvoiceId, System.Int32?clientInvoiceLineNo) { SqlConnection cn = null; SqlCommand cmd = null; try { cn = new SqlConnection(this.ConnectionString); cmd = new SqlCommand("usp_select_ClientInvoiceByLineNo", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 30; cmd.Parameters.Add("@ClientInvoiceId", SqlDbType.Int).Value = clientInvoiceId; cmd.Parameters.Add("@ClientInvoiceLineNo", SqlDbType.Int).Value = clientInvoiceLineNo; cn.Open(); DbDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow); if (reader.Read()) { ClientInvoiceDetails obj = new ClientInvoiceDetails(); obj.ClientInvoiceID = GetReaderValue_Int32(reader, "ClientInvoiceID", 0); obj.ClientInvoiceNumber = GetReaderValue_String(reader, "ClientInvoiceNumber", ""); obj.CompanyNo = GetReaderValue_Int32(reader, "CompanyNo", 0); obj.ClientNo = GetReaderValue_Int32(reader, "ClientNo", 0); obj.ClientInvoiceDate = GetReaderValue_DateTime(reader, "ClientInvoiceDate", DateTime.MinValue); obj.SupplierCode = GetReaderValue_String(reader, "SupplierCode", ""); obj.Clientname = GetReaderValue_String(reader, "Clientname", ""); obj.CurrencyNo = GetReaderValue_NullableInt32(reader, "CurrencyNo", null); obj.InvoiceAmount = GetReaderValue_NullableDouble(reader, "InvoiceAmount", null); obj.GoodsValue = GetReaderValue_NullableDouble(reader, "GoodsValue", null); obj.Tax = GetReaderValue_NullableDouble(reader, "Tax", null); obj.DeliveryCharge = GetReaderValue_NullableDouble(reader, "DeliveryCharge", null); obj.CreditCardFee = GetReaderValue_NullableDouble(reader, "CreditCardFee", null); obj.BankFee = GetReaderValue_NullableDouble(reader, "BankFee", null); obj.Exported = GetReaderValue_Boolean(reader, "Exported", false); obj.Notes = GetReaderValue_String(reader, "Notes", ""); obj.SecondRef = GetReaderValue_String(reader, "SecondRef", ""); obj.Narrative = GetReaderValue_String(reader, "Narrative", ""); obj.CanbeExported = GetReaderValue_Boolean(reader, "CanbeExported", false); obj.URNNumber = GetReaderValue_NullableInt64(reader, "URNNumber", null); obj.UpdatedBy = GetReaderValue_NullableInt32(reader, "UpdatedBy", null); obj.DLUP = GetReaderValue_DateTime(reader, "DLUP", DateTime.MinValue); obj.PurchaseOrderNumber = GetReaderValue_NullableInt32(reader, "PurchaseOrderNumber", null); obj.PurchaseOrderNo = GetReaderValue_NullableInt32(reader, "PurchaseOrderNo", null); obj.CurrencyCode = GetReaderValue_String(reader, "CurrencyCode", ""); obj.TaxNo = GetReaderValue_NullableInt32(reader, "TaxNo", null); obj.TaxName = GetReaderValue_String(reader, "TaxName", ""); obj.TaxCode = GetReaderValue_String(reader, "TaxCode", ""); obj.InternalPurchaseOrderNo = GetReaderValue_NullableInt32(reader, "InternalPurchaseOrderNo", 0); obj.InternalPurchaseOrderNumber = GetReaderValue_NullableInt32(reader, "InternalPurchaseOrderNumber", 0); obj.SalesmanName = GetReaderValue_String(reader, "SalesmanName", ""); obj.DivisionNo = GetReaderValue_NullableInt32(reader, "DivisionNo", 0); obj.SalesmanNo = GetReaderValue_NullableInt32(reader, "Salesman", null); obj.DivisionName = GetReaderValue_String(reader, "DivisionName", ""); return(obj); } else { return(null); } } catch (SqlException sqlex) { //LogException(sqlex); throw new Exception("Failed to get Client Invoice", sqlex); } finally { cmd.Dispose(); cn.Close(); cn.Dispose(); } }
/// <summary> /// ItemSearch /// Calls [usp_itemsearch_ClientInvoice] /// </summary> public override List <ClientInvoiceDetails> ItemSearch(System.Int32?clientId, System.Int32?orderBy, System.Int32?sortDir, System.Int32?pageIndex, System.Int32?pageSize, System.Int32?GoodsInNoLo, System.Int32?GoodsInNoHi, System.Int32?invoiceNoLo, System.Int32?invoiceNoHi, System.DateTime?invoiceDateFrom, System.DateTime?invoiceDateTo, System.Int32?ClientDebitNoLo, System.Int32?ClientDebitNoHi) { SqlConnection cn = null; SqlCommand cmd = null; try { cn = new SqlConnection(this.ConnectionString); cmd = new SqlCommand("usp_itemsearch_ClientInvoice", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 60; cmd.Parameters.Add("@ClientId", SqlDbType.Int).Value = clientId; cmd.Parameters.Add("@OrderBy", SqlDbType.Int).Value = orderBy; cmd.Parameters.Add("@SortDir", SqlDbType.Int).Value = sortDir; cmd.Parameters.Add("@PageIndex", SqlDbType.Int).Value = pageIndex; cmd.Parameters.Add("@PageSize", SqlDbType.Int).Value = pageSize; cmd.Parameters.Add("@GoodsInNoLo", SqlDbType.Int).Value = GoodsInNoLo; cmd.Parameters.Add("@GoodsInNoHi", SqlDbType.Int).Value = GoodsInNoHi; cmd.Parameters.Add("@InvoiceNoLo", SqlDbType.Int).Value = invoiceNoLo; cmd.Parameters.Add("@InvoiceNoHi", SqlDbType.Int).Value = invoiceNoHi; cmd.Parameters.Add("@InvoiceDateFrom", SqlDbType.DateTime).Value = invoiceDateFrom; cmd.Parameters.Add("@InvoiceDateTo", SqlDbType.DateTime).Value = invoiceDateTo; cmd.Parameters.Add("@ClientDebitNoLo", SqlDbType.Int).Value = ClientDebitNoLo; cmd.Parameters.Add("@ClientDebitNoHi", SqlDbType.Int).Value = ClientDebitNoHi; cn.Open(); DbDataReader reader = ExecuteReader(cmd); List <ClientInvoiceDetails> lst = new List <ClientInvoiceDetails>(); while (reader.Read()) { ClientInvoiceDetails obj = new ClientInvoiceDetails(); obj.ClientInvoiceID = GetReaderValue_Int32(reader, "ClientInvoiceId", 0); obj.ClientInvoiceNumber = GetReaderValue_String(reader, "ClientInvoiceNumber", ""); obj.ClientInvoiceDate = GetReaderValue_DateTime(reader, "ClientInvoiceDate", DateTime.MinValue); // obj.GoodsInNo = GetReaderValue_Int32(reader, "GoodsInNo", 0); obj.CompanyNo = GetReaderValue_Int32(reader, "CompanyNo", 0); obj.ClientCompanyName = GetReaderValue_String(reader, "Clientname", ""); obj.Narrative = GetReaderValue_String(reader, "Narrative", ""); obj.SecondRef = GetReaderValue_String(reader, "SecondRef", ""); obj.RowCnt = GetReaderValue_NullableInt32(reader, "RowCnt", null); obj.SalesmanName = GetReaderValue_String(reader, "SalesManName", ""); obj.ClientInvoiceLineNo = GetReaderValue_Int32(reader, "ClientInvoiceLineId", 0); lst.Add(obj); obj = null; } return(lst); } catch (SqlException sqlex) { //LogException(sqlex); throw new Exception("Failed to get Invoices", sqlex); } finally { cmd.Dispose(); cn.Close(); cn.Dispose(); } }
/// <summary> /// GetForPrint /// Calls [usp_select_ClientInvoice_for_Print] /// </summary> public override ClientInvoiceDetails GetForPrint(System.Int32?clientInvoiceId) { SqlConnection cn = null; SqlCommand cmd = null; try { cn = new SqlConnection(this.ConnectionString); cmd = new SqlCommand("usp_select_ClientInvoice_for_Print", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 30; cmd.Parameters.Add("@ClientInvoiceId", SqlDbType.Int).Value = clientInvoiceId; cn.Open(); DbDataReader reader = ExecuteReader(cmd, CommandBehavior.SingleRow); if (reader.Read()) { //return GetInvoiceFromReader(reader); ClientInvoiceDetails obj = new ClientInvoiceDetails(); obj.ClientInvoiceID = GetReaderValue_Int32(reader, "ClientInvoiceId", 0); obj.ClientNo = GetReaderValue_Int32(reader, "ClientNo", 0); obj.ClientInvoiceNumber = GetReaderValue_String(reader, "ClientInvoiceNumber", ""); //obj.ClientInvoiceDate = GetReaderValue_NullableInt32(reader, "SalesOrderNo", null); obj.ClientInvoiceDate = GetReaderValue_DateTime(reader, "ClientInvoiceDate", DateTime.MinValue); //obj.Notes = GetReaderValue_String(reader, "Notes", ""); //obj.Instructions = GetReaderValue_String(reader, "Instructions", ""); obj.ClientBillto = GetReaderValue_String(reader, "clientBillto", ""); obj.ClientShipTo = GetReaderValue_String(reader, "clientShipTo", ""); //obj.ShipViaNo = GetReaderValue_Int32(reader, "ShipViaNo", 0); //obj.Account = GetReaderValue_String(reader, "Account", ""); //obj.ShippingCost = GetReaderValue_NullableDouble(reader, "ShippingCost", null); //obj.Freight = GetReaderValue_NullableDouble(reader, "Freight", null); //obj.FreeOnBoard = GetReaderValue_String(reader, "FreeOnBoard", ""); //obj.Boxes = GetReaderValue_NullableInt32(reader, "Boxes", null); //obj.Weight = GetReaderValue_NullableDouble(reader, "Weight", null); //obj.DimensionalWeight = GetReaderValue_NullableDouble(reader, "DimensionalWeight", null); //obj.WeightInPounds = GetReaderValue_Boolean(reader, "WeightInPounds", false); //obj.AirWayBill = GetReaderValue_String(reader, "AirWayBill", ""); //obj.ShippedBy = GetReaderValue_NullableInt32(reader, "ShippedBy", null); //obj.Printed = GetReaderValue_NullableInt32(reader, "Printed", null); //obj.SupplierRMANo = GetReaderValue_NullableInt32(reader, "SupplierRMANo", null); //obj.ShippingNotes = GetReaderValue_String(reader, "ShippingNotes", ""); //obj.Exported = GetReaderValue_Boolean(reader, "Exported", false); //obj.InvoicePaid = GetReaderValue_Boolean(reader, "InvoicePaid", false); //obj.Salesman2 = GetReaderValue_NullableInt32(reader, "Salesman2", null); //obj.Salesman2Percent = GetReaderValue_Double(reader, "Salesman2Percent", 0); //obj.UpdatedBy = GetReaderValue_NullableInt32(reader, "UpdatedBy", null); //obj.DLUP = GetReaderValue_DateTime(reader, "DLUP", DateTime.MinValue); //obj.CustomerPO = GetReaderValue_String(reader, "CustomerPO", ""); //obj.Salesman = GetReaderValue_NullableInt32(reader, "Salesman", null); //obj.CompanyNo = GetReaderValue_NullableInt32(reader, "CompanyNo", null); //obj.ContactNo = GetReaderValue_NullableInt32(reader, "ContactNo", null); // //obj.TermsNo = GetReaderValue_NullableInt32(reader, "TermsNo", null); //obj.TaxNo = GetReaderValue_NullableInt32(reader, "TaxNo", null); //obj.ShipToAddressNo = GetReaderValue_NullableInt32(reader, "ShipToAddressNo", null); //obj.DivisionNo = GetReaderValue_NullableInt32(reader, "DivisionNo", null); //obj.SalesOrderNumber = GetReaderValue_NullableInt32(reader, "SalesOrderNumber", null); //obj.DateOrdered = GetReaderValue_NullableDateTime(reader, "DateOrdered", null); //obj.CofCNotes = GetReaderValue_String(reader, "CofCNotes", ""); //obj.BillToAddressNo = GetReaderValue_NullableInt32(reader, "BillToAddressNo", null); //obj.IncotermNo = GetReaderValue_NullableInt32(reader, "IncotermNo", null); //obj.CompanyName = GetReaderValue_String(reader, "CompanyName", ""); //obj.SalesmanName = GetReaderValue_String(reader, "SalesmanName", ""); //obj.SupplierRMANumber = GetReaderValue_NullableInt32(reader, "SupplierRMANumber", null); //obj.ContactName = GetReaderValue_String(reader, "ContactName", ""); //obj.CustomerCode = GetReaderValue_String(reader, "CustomerCode", ""); //obj.CurrencyDescription = GetReaderValue_String(reader, "CurrencyDescription", ""); //obj.Salesman2Name = GetReaderValue_String(reader, "Salesman2Name", ""); //obj.TermsName = GetReaderValue_String(reader, "TermsName", ""); //obj.ShippedByName = GetReaderValue_String(reader, "ShippedByName", ""); //obj.DivisionName = GetReaderValue_String(reader, "DivisionName", ""); //obj.TeamNo = GetReaderValue_NullableInt32(reader, "TeamNo", null); //obj.TaxName = GetReaderValue_String(reader, "TaxName", ""); //obj.VATNo = GetReaderValue_String(reader, "VATNo", ""); //obj.ShipViaName = GetReaderValue_String(reader, "ShipViaName", ""); //obj.InvoiceValue = GetReaderValue_NullableDouble(reader, "InvoiceValue", null); //obj.LandedCostValue = GetReaderValue_NullableDouble(reader, "LandedCostValue", null); //obj.TaxRate = GetReaderValue_NullableDouble(reader, "TaxRate", null); //obj.StatusText = GetReaderValue_String(reader, "StatusText", ""); //obj.IncotermName = GetReaderValue_String(reader, "IncotermName", ""); //obj.CompanyTelephone = GetReaderValue_String(reader, "CompanyTelephone", ""); //obj.CompanyFax = GetReaderValue_String(reader, "CompanyFax", ""); //obj.ContactEmail = GetReaderValue_String(reader, "ContactEmail", ""); //obj.PrintNotes = GetReaderValue_String(reader, "PrintNotes", ""); ////[001] Code start //obj.CompanyRegNo = GetReaderValue_String(reader, "CompanyRegNo", ""); ////[001] Code end ////[002] code start //obj.CurrencyNotes = GetReaderValue_String(reader, "CurrencyNotes", ""); ////[002] code end ////[009] code start //obj.InvoiceBankFee = GetReaderValue_Double(reader, "InvoiceBankFee", 0); //obj.IsApplyBankFee = GetReaderValue_NullableBoolean(reader, "IsApplyBankFee", false); ////[009] code end //obj.ExchangeRate = GetReaderValue_NullableDouble(reader, "ExchangeRate", null); //obj.LocalCurrencyNo = GetReaderValue_NullableInt32(reader, "LocalCurrencyNo", 0); //obj.ApplyLocalCurrency = GetReaderValue_NullableBoolean(reader, "ApplyLocalCurrency", false); //obj.LocalCurrencyCode = GetReaderValue_String(reader, "LocalCurrencyCode", ""); //obj.ShipToVatNo = GetReaderValue_String(reader, "ShipToVatNo", ""); obj.Fax = GetReaderValue_String(reader, "Fax", ""); obj.Telephone = GetReaderValue_String(reader, "Telephone", ""); obj.CustomerCode = GetReaderValue_String(reader, "CustomerCode", ""); obj.Vat = GetReaderValue_String(reader, "Vat", ""); obj.Email = GetReaderValue_String(reader, "Email", ""); obj.TaxRate = GetReaderValue_NullableDouble(reader, "TaxRate", null); obj.TaxName = GetReaderValue_String(reader, "TaxName", ""); obj.CurrencyCode = GetReaderValue_String(reader, "CurrencyCode", ""); obj.CurrencyNo = GetReaderValue_NullableInt32(reader, "CurrencyNo", null); obj.Tax = GetReaderValue_NullableDouble(reader, "Tax", 0); return(obj); } else { return(null); } } catch (SqlException sqlex) { //LogException(sqlex); throw new Exception("Failed to get Invoice", sqlex); } finally { cmd.Dispose(); cn.Close(); cn.Dispose(); } }
/// <summary> /// Call Proc [usp_datalistnugget_ClientInvoice] /// Get list of supplier invoice on basis of following search criteria /// </summary> /// <param name="clientId"></param> /// <param name="orderBy"></param> /// <param name="sortDir"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="supplierInvoiceNumber"></param> /// <param name="urnNoLo"></param> /// <param name="urnNoHi"></param> /// <param name="purchaseOrderNoLo"></param> /// <param name="purchaseOrderNoHi"></param> /// <param name="goodsInNoLo"></param> /// <param name="goodsInNoHi"></param> /// <param name="supplierInvoiceDateFrom"></param> /// <param name="supplierInvoiceDateTo"></param> /// <param name="cmSearch"></param> /// <param name="recentOnly"></param> /// <param name="cannotBeExported"></param> /// <returns></returns> public override List <ClientInvoiceDetails> DataListNugget(System.Int32?clientId, System.Int32?orderBy, System.Int32?sortDir, System.Int32?pageIndex, System.Int32?pageSize, System.Int32?ciNoLo, System.Int32?ciNoHi, System.Int32?urnNoLo, System.Int32?urnNoHi, System.Int32?purchaseOrderNoLo, System.Int32?purchaseOrderNoHi, System.Int32?goodsInNoLo, System.Int32?goodsInNoHi, System.DateTime?clientInvoiceDateFrom, System.DateTime?clientInvoiceDateTo, System.String cmSearch, System.Boolean?recentOnly, System.Boolean?exportedOnly, System.Boolean?approveandUnExported, System.Boolean?cannotBeExported, System.Int32?selectedClientNo, System.Boolean?isPOHub) { SqlConnection cn = null; SqlCommand cmd = null; try { cn = new SqlConnection(this.ConnectionString); if (isPOHub == true) { cmd = new SqlCommand("usp_datalistnugget_ClientInvoice", cn); } else { cmd = new SqlCommand("usp_datalistnugget_ClientInvoiceForClient", cn); } cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 60; cmd.Parameters.Add("@ClientId", SqlDbType.Int).Value = clientId; cmd.Parameters.Add("@OrderBy", SqlDbType.Int).Value = orderBy; cmd.Parameters.Add("@SortDir", SqlDbType.Int).Value = sortDir; cmd.Parameters.Add("@PageIndex", SqlDbType.Int).Value = pageIndex; cmd.Parameters.Add("@PageSize", SqlDbType.Int).Value = pageSize; //cmd.Parameters.Add("@ClientInvoiceNumber", SqlDbType.NVarChar).Value = clientInvoiceNumber; cmd.Parameters.Add("@CINoLo", SqlDbType.Int).Value = ciNoLo; cmd.Parameters.Add("@CINoHi", SqlDbType.Int).Value = ciNoHi; cmd.Parameters.Add("@URNNoLo", SqlDbType.Int).Value = urnNoLo; cmd.Parameters.Add("@URNNoHi", SqlDbType.Int).Value = urnNoHi; cmd.Parameters.Add("@PurchaseOrderNoLo", SqlDbType.Int).Value = purchaseOrderNoLo; cmd.Parameters.Add("@PurchaseOrderNoHi", SqlDbType.Int).Value = purchaseOrderNoHi; cmd.Parameters.Add("@GoodsInNoLo", SqlDbType.Int).Value = goodsInNoLo; cmd.Parameters.Add("@GoodsInNoHi", SqlDbType.Int).Value = goodsInNoHi; cmd.Parameters.Add("@ClientInvoiceDateFrom", SqlDbType.DateTime).Value = clientInvoiceDateFrom; cmd.Parameters.Add("@ClientInvoiceDateTo", SqlDbType.DateTime).Value = clientInvoiceDateTo; cmd.Parameters.Add("@CMSearch", SqlDbType.NVarChar).Value = cmSearch; cmd.Parameters.Add("@RecentOnly", SqlDbType.Bit).Value = recentOnly; cmd.Parameters.Add("@ExportedOnly", SqlDbType.Bit).Value = exportedOnly; cmd.Parameters.Add("@ApproveAndUnExported", SqlDbType.Bit).Value = approveandUnExported; cmd.Parameters.Add("@CannotBeExported", SqlDbType.Bit).Value = cannotBeExported; cmd.Parameters.Add("@SelectedClientNo", SqlDbType.Int).Value = selectedClientNo; cn.Open(); DbDataReader reader = ExecuteReader(cmd); List <ClientInvoiceDetails> lst = new List <ClientInvoiceDetails>(); while (reader.Read()) { ClientInvoiceDetails obj = new ClientInvoiceDetails(); obj.ClientInvoiceID = GetReaderValue_Int32(reader, "ClientInvoiceId", 0); obj.ClientInvoiceNumber = GetReaderValue_String(reader, "ClientInvoiceNumber", ""); obj.Clientname = GetReaderValue_String(reader, "Clientname", ""); obj.GoodsInNumber = GetReaderValue_Int32(reader, "GoodsInNumber", 0); obj.GoodsInNo = GetReaderValue_Int32(reader, "GoodsInId", 0); obj.PurchaseOrderNumber = GetReaderValue_NullableInt32(reader, "PurchaseOrderNumber", null); obj.ClientInvoiceDate = GetReaderValue_DateTime(reader, "ClientInvoiceDate", DateTime.MinValue); obj.Part = GetReaderValue_String(reader, "Part", ""); obj.InvoiceAmount = GetReaderValue_NullableDouble(reader, "InvoiceAmount", null); obj.RowCnt = GetReaderValue_NullableInt32(reader, "RowCnt", null); obj.CompanyNo = GetReaderValue_Int32(reader, "CompanyNo", 0); obj.PurchaseOrderNo = GetReaderValue_NullableInt32(reader, "PurchaseOrderNo", null); obj.CurrencyNo = GetReaderValue_Int32(reader, "CurrencyNo", 0); obj.CurrencyCode = GetReaderValue_String(reader, "CurrencyCode", ""); obj.URNNumber = GetReaderValue_NullableInt64(reader, "URNNumber", null); obj.InternalPurchaseOrderNo = GetReaderValue_NullableInt32(reader, "InternalPurchaseOrderNo", null); obj.InternalPurchaseOrderNumber = GetReaderValue_NullableInt32(reader, "InternalPurchaseOrderNumber", null); lst.Add(obj); obj = null; } return(lst); } catch (SqlException sqlex) { //LogException(sqlex); throw new Exception("Failed to get supplier invoice", sqlex); } finally { cmd.Dispose(); cn.Close(); cn.Dispose(); } }