public double GetReturned(int grnItem) { m_command.CommandText = GoodReceiveNoteItem.GetReturnSQL(grnItem); double result = Convert.ToDouble(m_command.ExecuteScalar()); return(result); }
protected override void doDelete(Event e) { GoodReceiveNote st = (GoodReceiveNote)e;//this.Get(e.ID); MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { if (getEventStatus(st.ID) == EventStatus.Confirm) { throw new Exception("Revise before delete"); } m_command.CommandText = SupplierInvoiceItem.GetGRNUseBySupplierInvoice(st.EVENT_ITEMS); int count = Convert.ToInt32(m_command.ExecuteScalar()); if (count > 0) { throw new Exception("Can not delete this GRN, this GRN used by Supplier Invoice"); } m_command.CommandText = GoodReceiveNoteItem.DeleteAllByEventSQL(st.ID); m_command.ExecuteNonQuery(); m_command.CommandText = GoodReceiveNote.DeleteSQL(st.ID); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
public void SetOSAgainstGRNItem(GoodReceiveNoteItem grni) { double qtyAmount = grni.GetAmountInSmallestUnit();//grni.QYTAMOUNT; if (qtyAmount <= 0) { return; } if (AGAINST_GRN_STATUS == AgainstStatus.Close) { throw new Exception("PO Item already fully received :" + this.PART.NAME); } if (qtyAmount > OUTSTANDING_AMOUNT_TO_GRN) { throw new Exception("GRN Item Amount exceed PO Outstanding Item Amount :" + this.PART.NAME); } OUTSTANDING_AMOUNT_TO_GRN = OUTSTANDING_AMOUNT_TO_GRN - qtyAmount; RECEIVED_AMOUNT = RECEIVED_AMOUNT + qtyAmount; if (isValidToClose()) { AGAINST_GRN_STATUS = AgainstStatus.Close; } else { AGAINST_GRN_STATUS = AgainstStatus.Outstanding; } ((PurchaseOrder)EVENT).UpdateAgainstGRNStatusPO(); }
public static IList TransformReaderList(MySql.Data.MySqlClient.MySqlDataReader aReader) { IList result = new ArrayList(); while (aReader.Read()) { GoodReceiveNoteItem transaction = new GoodReceiveNoteItem(); transaction.ID = Convert.ToInt32(aReader["grni_id"]); transaction.EVENT = new GoodReceiveNote(Convert.ToInt32(aReader["grn_id"])); transaction.PART = new Part(Convert.ToInt32(aReader["part_id"])); transaction.WAREHOUSE = new Warehouse(Convert.ToInt32(aReader["warehouse_id"])); transaction.QYTAMOUNT = Convert.ToDouble(Convert.ToInt32(aReader["grni_amount"])); transaction.STOCK_CARD_ENTRY = new StockCardEntry(Convert.ToInt32(aReader["sce_id"])); transaction.STOCK_CARD_ENTRY_TYPE = (StockCardEntryType)Enum.Parse(typeof(StockCardEntryType), aReader["grn_scentrytype"].ToString()); transaction.STOCK_CARD = new StockCard(Convert.ToInt32(aReader["sc_id"])); transaction.UNIT = new Unit(Convert.ToInt32(aReader["unit_id"]));// transaction.NOTES = aReader["grni_notes"].ToString(); transaction.PO_ITEM = new PurchaseOrderItem(Convert.ToInt32(aReader["poi_id"])); transaction.AGAINST_PR_STATUS = (AgainstStatus)Enum.Parse(typeof(AgainstStatus), aReader["grni_againstprstatus"].ToString()); transaction.OUTSTANDING_AMOUNT_TO_PR = Convert.ToDouble(Convert.ToInt32(aReader["grni_outstandingamtpr"])); transaction.RETURNED_AMOUNT = Convert.ToDouble(Convert.ToInt32(aReader["grni_returnedamount"])); result.Add(transaction); } return(result); }
private void assertUsedPOItemByGRNItem(EventItem item) { GoodReceiveNoteItem grnItm = GoodReceiveNoteRepository.FindPOItem(m_command, item.ID); if (grnItm != null) { throw new Exception("PO Item allready used by GRN item, delete GRN first : " + grnItm.EVENT.CODE); } }
public override bool Equals(object obj) { GoodReceiveNoteItem e = (GoodReceiveNoteItem)obj; if (e == null) { return(false); } return(e.ID == this.ID); }
public static GoodReceiveNoteItem FindGoodReceiveNoteItem(MySql.Data.MySqlClient.MySqlCommand cmd, int grniID) { cmd.CommandText = GoodReceiveNoteItem.GetByIDSQL(grniID); MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); GoodReceiveNoteItem result = GoodReceiveNoteItem.TransformReader(r); r.Close(); if (result == null) { return(null); } result.EVENT = GoodReceiveNoteRepository.GetHeaderOnly(cmd, result.EVENT.ID); result.EVENT.EVENT_ITEMS.Add(result); return(result); }
public void UpdateAgainstPRStatusGRN() { bool allClosed = true; for (int i = 0; i < EVENT_ITEMS.Count; i++) { GoodReceiveNoteItem soi = EVENT_ITEMS[i] as GoodReceiveNoteItem; if (soi.AGAINST_PR_STATUS == AgainstStatus.Close) { continue; } allClosed = false; break; } AGAINST_PR_STATUS = allClosed ? AgainstStatus.Close : AgainstStatus.Outstanding; }
public IList FindPObyPartAndGRNNo(string find, IList exceptGRNI, int supplierID, DateTime trDate) { StringBuilder poisSB = new StringBuilder(); foreach (int i in exceptGRNI) { poisSB.Append(i.ToString()); poisSB.Append(','); } string pois = poisSB.ToString(); pois = exceptGRNI.Count > 0 ? pois.Substring(0, pois.Length - 1) : ""; m_command.CommandText = GoodReceiveNoteItem.GetSearchByPartAndGRNNo(find, supplierID, pois, trDate); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList result = GoodReceiveNoteItem.TransformReaderList(r); r.Close(); foreach (GoodReceiveNoteItem t in result) { m_command.CommandText = GoodReceiveNote.GetByIDSQL(t.EVENT.ID); r = m_command.ExecuteReader(); t.EVENT = GoodReceiveNote.TransformReader(r); r.Close(); m_command.CommandText = Part.GetByIDSQLStatic(t.PART.ID); r = m_command.ExecuteReader(); t.PART = Part.GetPart(r); r.Close(); m_command.CommandText = Unit.GetByIDSQLstatic(t.UNIT.ID); r = m_command.ExecuteReader(); t.UNIT = Unit.GetUnit(r); r.Close(); m_command.CommandText = Warehouse.GetByIDSQLStatic(t.WAREHOUSE.ID); r = m_command.ExecuteReader(); t.WAREHOUSE = Warehouse.GetWarehouse(r); r.Close(); m_command.CommandText = Unit.GetByIDSQLstatic(t.PART.UNIT.ID); r = m_command.ExecuteReader(); t.PART.UNIT = Unit.GetUnit(r); r.Close(); } return(result); }
public static PurchaseReturn GetPurchaseReturnForDebitNote(MySql.Data.MySqlClient.MySqlCommand cmd, PurchaseReturn p) { cmd.CommandText = PurchaseReturnItem.GetByEventIDSQL(p.ID); MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); p.EVENT_ITEMS = PurchaseReturnItem.TransformReaderList(r); r.Close(); foreach (PurchaseReturnItem t in p.EVENT_ITEMS) { if ((t.GRN_ITEM == null) && (t.GRN_ITEM.ID == 0)) { continue; } cmd.CommandText = GoodReceiveNoteItem.GetByIDSQL(t.GRN_ITEM.ID); r = cmd.ExecuteReader(); t.GRN_ITEM = GoodReceiveNoteItem.TransformReader(r); r.Close(); if ((t.GRN_ITEM.PO_ITEM == null)) { continue; } if (t.GRN_ITEM.PO_ITEM.ID == 0) { continue; } cmd.CommandText = PurchaseOrderItem.GetByIDSQL(t.GRN_ITEM.PO_ITEM.ID); r = cmd.ExecuteReader(); t.GRN_ITEM.PO_ITEM = PurchaseOrderItem.TransformReader(r); r.Close(); t.GRN_ITEM.PART = PartRepository.GetByID(cmd, t.GRN_ITEM.PART.ID); t.GRN_ITEM.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(cmd, t.GRN_ITEM.PO_ITEM.PART.ID); t.PART = t.GRN_ITEM.PO_ITEM.PART = t.GRN_ITEM.PART; double subamount = (t.GRN_ITEM.PO_ITEM.SUBTOTAL / t.GRN_ITEM.PO_ITEM.GetAmountInSmallestUnit()) * t.GetAmountInSmallestUnit(); p.TOTAL_AMOUNT_FROM_PO += subamount; t.GRN_ITEM.PO_ITEM.EVENT = PurchaseOrderRepository.GetHeaderOnly(cmd, t.GRN_ITEM.PO_ITEM.EVENT.ID); p.CURRENCY = ((PurchaseOrder)t.GRN_ITEM.PO_ITEM.EVENT).CURRENCY; } return(p); }
public static GoodReceiveNoteItem FindPOItem(MySql.Data.MySqlClient.MySqlCommand cmd, int PoIID) { cmd.CommandText = GoodReceiveNoteItem.FindByPOItemIDSQL(PoIID); MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); GoodReceiveNoteItem res = GoodReceiveNoteItem.TransformReader(r); r.Close(); if (res == null) { return(res); } cmd.CommandText = GoodReceiveNote.GetByIDSQL(res.EVENT.ID); r = cmd.ExecuteReader(); res.EVENT = GoodReceiveNote.TransformReader(r); r.Close(); return(res); }
private void assertInvoiceAlreadyGenerated(GoodReceiveNoteItem item) { m_command.CommandText = SupplierInvoiceItem.GetGRNUseBySupplierInvoice(item.ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); IList invs = SupplierInvoiceItem.TransformReaderList(r); r.Close(); foreach (SupplierInvoiceItem x in invs) { m_command.CommandText = SupplierInvoice.GetByIDSQL(x.EVENT.ID); r = m_command.ExecuteReader(); x.EVENT = SupplierInvoice.TransformReader(r); r.Close(); } if (invs.Count > 0) { throw new Exception("GRN Part [" + item.PART.CODE + "] is used by Supplier Invoice [" + ((SupplierInvoiceItem)invs[0]).EVENT.CODE + "], please delete supplier invoice first."); } }
protected override void doSave(Event e) { MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); try { m_command.Transaction = trc; DateTime trDate = DateTime.Today; string codesample = AutoNumberSetupRepository.GetCodeSampleByDomainName(m_command, "GoodReceiveNote"); Event codeDate = FindLastCodeAndTransactionDate(codesample); string lastCode = codeDate == null ? string.Empty : codeDate.CODE; DateTime lastDate = codeDate == null ? trDate : codeDate.TRANSACTION_DATE; int trCount = RecordCount(); e.CODE = AutoNumberSetupRepository.GetAutoNumberByDomainName(m_command, "GoodReceiveNote", e.CODE, lastCode, lastDate, trDate, trCount == 0); GoodReceiveNote stk = (GoodReceiveNote)e; m_command.CommandText = e.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = GoodReceiveNote.SelectMaxIDSQL(); stk.ID = Convert.ToInt32(m_command.ExecuteScalar()); foreach (GoodReceiveNoteItem item in stk.EVENT_ITEMS) { item.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(m_command, item.PART.ID); m_command.CommandText = item.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = GoodReceiveNoteItem.SelectMaxIDSQL(); item.ID = Convert.ToInt32(m_command.ExecuteScalar()); } trc.Commit(); } catch (Exception x) { e.ID = 0; foreach (EventItem item in e.EVENT_ITEMS) { item.ID = 0; } trc.Rollback(); throw x; } }
public void UnSetOSAgainstGRNItem(GoodReceiveNoteItem grni) { double qtyAmount = grni.GetAmountInSmallestUnit();//= grni.QYTAMOUNT; if (qtyAmount > this.GetAmountInSmallestUnit() || OUTSTANDING_AMOUNT_TO_GRN + qtyAmount > this.GetAmountInSmallestUnit()) { throw new Exception("GRN Item revise Amount exceed PO Item Amount :" + this.PART.NAME); } OUTSTANDING_AMOUNT_TO_GRN = OUTSTANDING_AMOUNT_TO_GRN + qtyAmount; RECEIVED_AMOUNT = RECEIVED_AMOUNT - qtyAmount; // if (OUTSTANDING_AMOUNT_TO_GRN > 0) if (RECEIVED_AMOUNT > 0) { AGAINST_GRN_STATUS = AgainstStatus.Outstanding; } else { AGAINST_GRN_STATUS = AgainstStatus.Open; } ((PurchaseOrder)EVENT).UpdateAgainstGRNStatusPO(); }
protected override Event doGet(int ID) { m_command.CommandText = GoodReceiveNote.GetByIDSQL(ID); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); GoodReceiveNote st = GoodReceiveNote.TransformReader(r); r.Close(); m_command.CommandText = GoodReceiveNoteItem.GetByEventIDSQL(ID); r = m_command.ExecuteReader(); IList stis = GoodReceiveNoteItem.TransformReaderList(r); r.Close(); foreach (GoodReceiveNoteItem sti in stis) { sti.EVENT = st; sti.PART = PartRepository.GetByID(m_command, sti.PART.ID); sti.STOCK_CARD_ENTRY = StockCardEntryRepository.FindStockCardEntryByEventItem(m_command, sti.ID, sti.STOCK_CARD_ENTRY_TYPE); sti.PO_ITEM = PurchaseOrderRepository.FindPurchaseOrderItem(m_command, sti.PO_ITEM.ID); sti.PO_ITEM.PART = PartRepository.GetByID(m_command, sti.PO_ITEM.PART.ID); st.EVENT_ITEMS.Add(sti); } return(st); }
protected override void doUpdate(Event en) { MySql.Data.MySqlClient.MySqlTransaction trc = m_connection.BeginTransaction(); m_command.Transaction = trc; try { GoodReceiveNote e = (GoodReceiveNote)en; m_command.CommandText = e.GetUpdateSQL(); m_command.ExecuteNonQuery(); foreach (GoodReceiveNoteItem sti in e.EVENT_ITEMS) { sti.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(m_command, sti.PART.ID); if (sti.ID > 0) { m_command.CommandText = sti.GetUpdateSQL(); m_command.ExecuteNonQuery(); } else { m_command.CommandText = sti.GetInsertSQL(); m_command.ExecuteNonQuery(); m_command.CommandText = GoodReceiveNoteItem.SelectMaxIDSQL(); sti.ID = Convert.ToInt32(m_command.ExecuteScalar()); } } m_command.CommandText = GoodReceiveNoteItem.DeleteUpdate(e.ID, e.EVENT_ITEMS); m_command.ExecuteNonQuery(); trc.Commit(); } catch (Exception x) { trc.Rollback(); throw x; } }
public static void UpdateAgainstStatus(MySql.Data.MySqlClient.MySqlCommand cmd, GoodReceiveNote grn, GoodReceiveNoteItem grni) { cmd.CommandText = grni.UpdateAgainstStatus(); cmd.ExecuteNonQuery(); cmd.CommandText = grn.UpdateAgainstStatus(); cmd.ExecuteNonQuery(); }
public IList FindGRNItemlistBySupplierDate(string find, int supID, DateTime trdate, IList grnIDS) { m_command.CommandText = SupplierInvoiceItem.GetGRNUseBySupplierInvoice(); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); if (r.HasRows) { while (r.Read()) { int id = Convert.ToInt32(r[0]); if (!grnIDS.Contains(id)) { grnIDS.Add(id); } } } r.Close(); StringBuilder poisSB = new StringBuilder(); foreach (int i in grnIDS) { poisSB.Append(i.ToString()); poisSB.Append(','); } string pois = poisSB.ToString(); pois = grnIDS.Count > 0 ? pois.Substring(0, pois.Length - 1) : ""; if (find == "") { m_command.CommandText = GoodReceiveNoteItem.GetGRNItemBySuppDate(supID, trdate, pois); } else { m_command.CommandText = GoodReceiveNoteItem.GetSearchByPartAndGRNNo(find, supID, pois, trdate); } r = m_command.ExecuteReader(); IList result = GoodReceiveNoteItem.TransformReaderList(r); r.Close(); foreach (GoodReceiveNoteItem t in result) { m_command.CommandText = GoodReceiveNote.GetByIDSQL(t.EVENT.ID); r = m_command.ExecuteReader(); t.EVENT = GoodReceiveNote.TransformReader(r); r.Close(); m_command.CommandText = Part.GetByIDSQLStatic(t.PART.ID); r = m_command.ExecuteReader(); t.PART = Part.GetPart(r); r.Close(); m_command.CommandText = Unit.GetByIDSQLstatic(t.UNIT.ID); r = m_command.ExecuteReader(); t.UNIT = Unit.GetUnit(r); r.Close(); m_command.CommandText = Warehouse.GetByIDSQLStatic(t.WAREHOUSE.ID); r = m_command.ExecuteReader(); t.WAREHOUSE = Warehouse.GetWarehouse(r); r.Close(); m_command.CommandText = Unit.GetByIDSQLstatic(t.PART.UNIT.ID); r = m_command.ExecuteReader(); t.PART.UNIT = Unit.GetUnit(r); r.Close(); } return(result); }
public IList FindPRForAPDebitNote(string find, int supID, DateTime trdate, IList added) { m_command.CommandText = APDebitNoteItem.GetPRUsedByAPDN(); MySql.Data.MySqlClient.MySqlDataReader r = m_command.ExecuteReader(); if (r.HasRows) { while (r.Read()) { int id = Convert.ToInt32(r[0]); if (!added.Contains(id)) { added.Add(id); } } } r.Close(); StringBuilder poisSB = new StringBuilder(); foreach (int i in added) { poisSB.Append(i.ToString()); poisSB.Append(','); } string pois = poisSB.ToString(); pois = added.Count > 0 ? pois.Substring(0, pois.Length - 1) : ""; m_command.CommandText = PurchaseReturn.GetSearchPRNoForAPDN(find, supID, pois, trdate); r = m_command.ExecuteReader(); IList result = PurchaseReturn.TransformReaderList(r); r.Close(); foreach (PurchaseReturn p in result) { m_command.CommandText = PurchaseReturnItem.GetByEventIDSQL(p.ID); r = m_command.ExecuteReader(); p.EVENT_ITEMS = PurchaseReturnItem.TransformReaderList(r); r.Close(); foreach (PurchaseReturnItem t in p.EVENT_ITEMS) { if ((t.GRN_ITEM == null) && (t.GRN_ITEM.ID == 0)) { continue; } m_command.CommandText = GoodReceiveNoteItem.GetByIDSQL(t.GRN_ITEM.ID); r = m_command.ExecuteReader(); t.GRN_ITEM = GoodReceiveNoteItem.TransformReader(r); r.Close(); if ((t.GRN_ITEM.PO_ITEM == null)) { continue; } if (t.GRN_ITEM.PO_ITEM.ID == 0) { continue; } m_command.CommandText = PurchaseOrderItem.GetByIDSQL(t.GRN_ITEM.PO_ITEM.ID); r = m_command.ExecuteReader(); t.GRN_ITEM.PO_ITEM = PurchaseOrderItem.TransformReader(r); r.Close(); t.GRN_ITEM.PART = PartRepository.GetByID(m_command, t.GRN_ITEM.PART.ID); t.GRN_ITEM.PART.UNIT_CONVERSION_LIST = PartRepository.GetUnitConversionsStatic(m_command, t.GRN_ITEM.PO_ITEM.PART.ID); t.PART = t.GRN_ITEM.PO_ITEM.PART = t.GRN_ITEM.PART; double subamount = (t.GRN_ITEM.PO_ITEM.SUBTOTAL / t.GRN_ITEM.PO_ITEM.GetAmountInSmallestUnit()) * t.GetAmountInSmallestUnit(); p.TOTAL_AMOUNT_FROM_PO += subamount; t.GRN_ITEM.PO_ITEM.EVENT = PurchaseOrderRepository.GetHeaderOnly(m_command, t.GRN_ITEM.PO_ITEM.EVENT.ID); p.CURRENCY = ((PurchaseOrder)t.GRN_ITEM.PO_ITEM.EVENT).CURRENCY; } } return(result); }
//------------- //public void UpdatePart() //{ // MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand(); // cmd.Connection = m_connection; // m_connection.Open(); // cmd.CommandText = m_entity.GetAllSQL(); // MySql.Data.MySqlClient.MySqlDataReader r = cmd.ExecuteReader(); // IList result = new ArrayList(); // while (r.Read()) // { // PartUnit pu = new PartUnit(); // pu.PART = Convert.ToInt32(r["part_id"]); // pu.UNIT = Convert.ToInt32(r["unit_id"]); // result.Add(pu); // } // r.Close(); // foreach (PartUnit e in result) // { // cmd.CommandText = UnitConversion.GetByPartAndUnitConIDSQL(e.PART, e.UNIT); // r = cmd.ExecuteReader(); // UnitConversion uc = UnitConversion.GetUnitConversion(r); // r.Close(); // if (uc == null) // { // uc = new UnitConversion(); // uc.BARCODE = e.BARCODE; // uc.CONVERSION_QTY = 1; // uc.CONVERSION_UNIT = e.UNIT; // uc.COST_PRICE = e.COST_PRICE; // uc.ORIGINAL_QTY = 1; // uc.PART = e; // uc.SELL_PRICE = e.SELL_PRICE; // cmd.CommandText = uc.GetInsertSQL(); // cmd.ExecuteNonQuery(); // } // } //} //private class PartUnit //{ // public int PART, UNIT; //} public IList GetAllEvents(int partID) { ArrayList result = new ArrayList(); OpenConnection(); MySql.Data.MySqlClient.MySqlDataReader rdr; Part p = PartRepository.GetByID(m_cmd, partID); m_cmd.CommandText = PurchaseOrderItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList pois = PurchaseOrderItem.TransformReaderList(rdr); rdr.Close(); foreach (PurchaseOrderItem itm in pois) { itm.EVENT = PurchaseOrderRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = SalesOrderItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList sois = SalesOrderItem.TransformReaderList(rdr); rdr.Close(); foreach (SalesOrderItem itm in sois) { itm.EVENT = SalesOrderRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = GoodReceiveNoteItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList grnis = GoodReceiveNoteItem.TransformReaderList(rdr); rdr.Close(); foreach (GoodReceiveNoteItem itm in grnis) { itm.EVENT = GoodReceiveNoteRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = PurchaseReturnItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList prnis = PurchaseReturnItem.TransformReaderList(rdr); rdr.Close(); foreach (PurchaseReturnItem itm in prnis) { itm.EVENT = PurchaseReturnRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = SalesReturnItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList srnis = SalesReturnItem.TransformReaderList(rdr); rdr.Close(); foreach (SalesReturnItem itm in srnis) { itm.EVENT = SalesReturnRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = SupplierInvoiceItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList piis = SupplierInvoiceItem.TransformReaderList(rdr); rdr.Close(); foreach (SupplierInvoiceItem itm in piis) { itm.EVENT = SupplierInvoiceRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; if (itm.GRN_ITEM.ID == 0) { result.Add(itm); } } m_cmd.CommandText = CustomerInvoiceItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList ciis = CustomerInvoiceItem.TransformReaderList(rdr); rdr.Close(); foreach (CustomerInvoiceItem itm in ciis) { itm.EVENT = CustomerInvoiceRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; if (itm.DO_ITEM.ID == 0) { result.Add(itm); } } m_cmd.CommandText = POSItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList posi = POSItem.TransformReaderList(rdr); rdr.Close(); foreach (POSItem itm in posi) { itm.EVENT = POSRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; if (itm.DO_ITEM.ID == 0) { result.Add(itm); } } m_cmd.CommandText = StockTakingItems.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList sti = StockTakingItems.TransformReaderList(rdr); rdr.Close(); foreach (StockTakingItems itm in sti) { itm.EVENT = StockTakingRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = OpeningStockItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList opi = OpeningStockItem.TransformReaderList(rdr); rdr.Close(); foreach (OpeningStockItem itm in opi) { itm.EVENT = OpeningStockRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } m_cmd.CommandText = DeliveryOrderItem.GetByPartIDSQL(partID); rdr = m_cmd.ExecuteReader(); IList doi = DeliveryOrderItem.TransformReaderList(rdr); rdr.Close(); foreach (DeliveryOrderItem itm in doi) { itm.EVENT = DeliveryOrderRepository.GetHeaderOnly(m_cmd, itm.EVENT.ID); itm.PART = p; result.Add(itm); } result.Sort(new EventDateComparer()); return(result); }