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/EOSCodelist.cs | 125 ++++++++++++++++-------------------------
1 files changed, 50 insertions(+), 75 deletions(-)
diff --git a/CCSTrace/CCS/Object/EOSCodelist.cs b/CCSTrace/CCS/Object/EOSCodelist.cs
index a9430b5..158383c 100644
--- a/CCSTrace/CCS/Object/EOSCodelist.cs
+++ b/CCSTrace/CCS/Object/EOSCodelist.cs
@@ -1,128 +1,103 @@
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 EOSCodelist
+ public class EosCodelist
{
- 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 EOSCodelist(OracleConnection _Connection)
+ public EosCodelist(OracleConnection connection)
{
- String SqlStmt;
- int IndexID;
- ArrayList m_Data = new ArrayList();
- int Tmp = 0;
-
- SqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM EOS.CODELIST ORDER BY INDEXID,KEYID";
- OracleCommand Command = new OracleCommand(SqlStmt, _Connection);
- OracleDataReader reader = Command.ExecuteReader();
+ var sqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM EOS.CODELIST ORDER BY INDEXID,KEYID";
+ OracleCommand command = new OracleCommand(sqlStmt, connection);
+ 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
+ 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))
{
- m_TotalData.Add(Tmp.ToString(), m_Data);
- Tmp = IndexID;
- m_Data = new ArrayList();
- m_Data.Add(m_Record);
+ _mTotalData.Add(indexId, new Dictionary<int, Codelist>());
+ }
+ Dictionary<int, Codelist> keys = _mTotalData[indexId];
+ if (keys.ContainsKey(keyId))
+ {
+ keys.Add(keyId, codelist);
}
}
- m_TotalData.Add(Tmp.ToString(), 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.ToString()];
+ 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.ToString()];
- String m_Result = "";
+ return _mTotalData[mIndexId][mKeyId].Content;
+ }
- for (int i = 0; i < m_Tmp.Count; i++)
+ public string GetContent(int mIndexId, string mItem)
+ {
+ string mResult = "";
+
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- if (Convert.ToInt32(((ArrayList)m_Tmp[i])[KeyID].ToString()) == m_KeyID)
+ if (pair.Value.Item.Equals(mItem))
{
- m_Result = ((ArrayList)m_Tmp[i])[Content].ToString();
+ mResult = pair.Value.Content;
break;
}
}
- return m_Result;
+ return mResult;
}
- public String getContent(int m_IndexID, String m_Item)
+ public int GetKeyId(int mIndexId, string mContent)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID.ToString()];
- 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])[Item].ToString().Equals(m_Item))
+ if (pair.Value.Content.Equals(mContent))
{
- m_Result = ((ArrayList)m_Tmp[i])[Content].ToString();
+ mResult = pair.Key;
break;
}
}
- return m_Result;
+ return mResult;
}
- public int getKeyID(int m_IndexID, String m_Content)
+ public int GetContentNumber(int mIndexId)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID.ToString()];
- 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])[1].ToString());
- break;
- }
- }
- return m_Result;
+ return (_mTotalData[mIndexId]).Count;
}
- public int getContentNumber(int m_IndexID)
- {
- return ((ArrayList)m_TotalData[m_IndexID]).Count;
- }
+ public int Count => _mTotalData.Count;
}
-}
+}
\ No newline at end of file
--
Gitblit v0.0.0-SNAPSHOT