From b0c18d369abd06075c83759b0e19823c2a11d716 Mon Sep 17 00:00:00 2001
From: ulysseskao <ulysseskao@gmail.com>
Date: Fri, 29 Apr 2016 18:45:41 +0800
Subject: [PATCH] update for new model
---
CCSTrace/CCS/Object/CCSCodelist.cs | 178 +++++++++++++++++++++++------------------------------------
1 files changed, 69 insertions(+), 109 deletions(-)
diff --git a/CCSTrace/CCS/Object/CCSCodelist.cs b/CCSTrace/CCS/Object/CCSCodelist.cs
index 3145cd8..48cd876 100644
--- a/CCSTrace/CCS/Object/CCSCodelist.cs
+++ b/CCSTrace/CCS/Object/CCSCodelist.cs
@@ -1,160 +1,120 @@
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.Collections.Generic;
using System.Data.OracleClient;
+using System.Linq;
+using CCSTrace.CCS.Domain;
namespace CCSTrace.CCS.Object
{
- public class CCSCodelist
+ public class CcsCodelist
{
- private Hashtable m_TotalData = new Hashtable();
- private int KeyID = 1;
- private int Item = 2;
- private int Content = 3;
+ private readonly Dictionary<int, Dictionary<int, Codelist>> _mTotalData = new Dictionary<int, Dictionary<int, Codelist>>();
- public CCSCodelist(OracleConnection _ConnectionTPC)
+ 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();
+ var 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());
+ var indexId = Convert.ToInt32(reader["INDEXID"].ToString());
+ var keyId = Convert.ToInt32(reader["KEYID"].ToString());
+ var item = (reader["ITEM"].ToString());
+ var content = (reader["CONTENT"].ToString());
+ Codelist codelist = new Codelist(indexId, keyId, item, content);
+ if (!_mTotalData.ContainsKey(indexId))
+ {
+ _mTotalData.Add(indexId, new Dictionary<int, Codelist>());
+ }
+ Dictionary<int, Codelist> keys = _mTotalData[indexId];
+ if (keys.ContainsKey(keyId))
+ {
+ keys.Add(keyId, codelist);
+ }
- 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("Error on Startup EOSCodelist: " + e.Message);
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- public ArrayList getAllContent(int m_IndexID)
+ public Codelist[] GetAllContent(int mIndexId)
{
- return ((ArrayList)m_TotalData[m_IndexID]);
+ return _mTotalData[mIndexId].Values.ToArray();
}
- public String getContent(int m_IndexID, int m_KeyID)
+ public string GetContent(int mIndexId, int mKeyId)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID];
- String m_Result = "";
+ return _mTotalData[mIndexId][mKeyId].Content;
+ }
- try
+ public string GetContent(int mIndexId, string mItem)
+ {
+ string mResult = "";
+
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- for (int i = 0; i < m_Tmp.Count; i++)
+ if (pair.Value.Item.Equals(mItem))
{
- 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());
+ mResult = pair.Value.Content;
break;
}
}
- return m_Result;
+ return mResult;
}
- public String getItem(int m_IndexID, String m_Content)
+ public int GetKeyId(int mIndexId, string mContent)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID];
- String m_Result = "";
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+ int mResult = 0;
- for (int i = 0; i < m_Tmp.Count; i++)
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- if (((ArrayList)m_Tmp[i])[Content].ToString().Equals(m_Content))
+ if (pair.Value.Content.Equals(mContent))
{
- m_Result = ((ArrayList)m_Tmp[i])[this.Item].ToString();
+ mResult = pair.Key;
break;
}
}
- return m_Result;
+ return mResult;
}
- public int getContentNumber(int m_IndexID)
+ public string GetItem(int mIndexId, string mContent)
{
- return ((ArrayList)m_TotalData[m_IndexID]).Count;
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+ string mResult = "";
+
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
+ {
+ if (pair.Value.Content.Equals(mContent))
+ {
+ mResult = pair.Value.Item;
+ break;
+ }
+ }
+ return mResult;
}
+
+ public int GetContentNumber(int mIndexId)
+ {
+ return _mTotalData[mIndexId].Count;
+ }
+
+ public int Count => _mTotalData.Count;
}
-}
+}
\ No newline at end of file
--
Gitblit v0.0.0-SNAPSHOT