using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Collections; using System.Data.OracleClient; namespace CCSTrace.CCS.Object { public class CCSCodelist { private Hashtable m_TotalData = new Hashtable(); private int KeyID = 1; private int Item = 2; private int Content = 3; public CCSCodelist(OracleConnection _ConnectionTPC) { String SqlStmt; ArrayList m_Data = new ArrayList(); int Tmp = 0; int IndexID; SqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM CCS.CODELIST ORDER BY INDEXID,KEYID"; OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC); OracleDataReader reader = Command.ExecuteReader(); try { while (reader.Read()) { ArrayList m_Record = new ArrayList(); IndexID = Convert.ToInt32(reader["INDEXID"].ToString()); m_Record.Add(IndexID); m_Record.Add(Convert.ToInt32(reader["KEYID"].ToString())); m_Record.Add(reader["ITEM"].ToString()); m_Record.Add(reader["CONTENT"].ToString()); if (Tmp == IndexID) { m_Data.Add(m_Record); } else { m_TotalData.Add(Tmp, m_Data); Tmp = IndexID; m_Data = new ArrayList(); m_Data.Add(m_Record); } } m_TotalData.Add(Tmp, m_Data); } catch (Exception e) { Console.WriteLine("Error on Initial EOSCodelist: " + e.Message); Console.WriteLine(e.StackTrace); } finally { reader.Close(); Command.Dispose(); } } public ArrayList getAllContent(int m_IndexID) { return ((ArrayList)m_TotalData[m_IndexID]); } public String getContent(int m_IndexID, int m_KeyID) { ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID]; String m_Result = ""; try { for (int i = 0; i < m_Tmp.Count; i++) { if (Convert.ToInt32(((ArrayList)m_Tmp[i])[KeyID].ToString()) == m_KeyID) { m_Result = ((ArrayList)m_Tmp[i])[Content].ToString(); break; } } } catch (Exception ex) { Console.WriteLine("Error in get CCSCodelist(getContent(int m_IndexID, int m_KeyID)): " + ex.Message); } return m_Result; } public String getContent(int m_IndexID, String m_Item) { ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID]; String m_Result = ""; try { for (int i = 0; i < m_Tmp.Count; i++) { if ( ((ArrayList)m_Tmp[i])[Item].ToString().Trim().Equals(m_Item.Trim())) { m_Result = ((ArrayList)m_Tmp[i])[Content].ToString(); break; } } } catch (Exception ex) { Console.WriteLine("Error in get CCSCodelist(getContent(int m_IndexID, String m_Item)): " + ex.Message); } return m_Result; } public int getKeyID(int m_IndexID, String m_Content) { ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID]; int m_Result = 0; for (int i = 0; i < m_Tmp.Count; i++) { if (((ArrayList)m_Tmp[i])[Content].ToString().Equals(m_Content)) { m_Result = Convert.ToInt32(((ArrayList)m_Tmp[i])[KeyID].ToString()); break; } } return m_Result; } public String getItem(int m_IndexID, String m_Content) { ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID]; String m_Result = ""; for (int i = 0; i < m_Tmp.Count; i++) { if (((ArrayList)m_Tmp[i])[Content].ToString().Equals(m_Content)) { m_Result = ((ArrayList)m_Tmp[i])[this.Item].ToString(); break; } } return m_Result; } public int getContentNumber(int m_IndexID) { return ((ArrayList)m_TotalData[m_IndexID]).Count; } } }