public List<DataObjectProfileData> GetAllProfileData(string sortData) { SqlConnection conn = new SqlConnection(connectionString); conn.Open(); List<DataObjectProfileData> DataTemplateODSList = new List<DataObjectProfileData>(); SqlDataReader reader = null; string sqlSelectString = "SELECT PKID,keyname,data,id FROM [dbo].[ProfileData] "; SqlCommand cmd = new SqlCommand(sqlSelectString, conn); reader = cmd.ExecuteReader(); try { while (reader.Read()) { Guid pkid = reader.IsDBNull(0) ? Guid.NewGuid() : reader.GetGuid(0); string keyname = reader.IsDBNull(1) ? "" : reader.GetString(1); string data = reader.IsDBNull(2) ? "" : reader.GetString(2); int id = reader.IsDBNull(3) ? 0 : reader.GetInt32(3); DataObjectProfileData td = new DataObjectProfileData(pkid, keyname, data, id); DataTemplateODSList.Add(td); } } finally { if (reader != null) reader.Close(); } conn.Close(); if (sortData == null) { sortData = "Id"; } if (sortData.Length == 0) { sortData = "Id"; } string sortDataBase = sortData; string descString = " DESC"; if (sortData.EndsWith(descString)) { sortDataBase = sortData.Substring(0, sortData.Length - descString.Length); } Comparison<DataObjectProfileData> comparison = null; switch (sortDataBase) { case "Keyname": comparison = new Comparison<DataObjectProfileData>( delegate(DataObjectProfileData lhs, DataObjectProfileData rhs) { return lhs.Keyname.CompareTo(rhs.Keyname); } ); break; case "Data": comparison = new Comparison<DataObjectProfileData>( delegate(DataObjectProfileData lhs, DataObjectProfileData rhs) { return lhs.Data.CompareTo(rhs.Data); } ); break; case "Id": comparison = new Comparison<DataObjectProfileData>( delegate(DataObjectProfileData lhs, DataObjectProfileData rhs) { return lhs.Id.CompareTo(rhs.Id); } ); break; } if (comparison != null) { DataTemplateODSList.Sort(comparison); if (sortData.ToLower().EndsWith("desc")) { DataTemplateODSList.Reverse(); } } return DataTemplateODSList; }
public List<DataObjectProfileData> GetByUsername(string username) { string cacheName = CodeCampSV.Utils.CacheProfileDataByUsername + "_" + username; List<DataObjectProfileData> DataTemplateODSList = null; if (HttpContext.Current.Cache[cacheName] == null) { SqlConnection conn = new SqlConnection(connectionString); conn.Open(); DataTemplateODSList = new List<DataObjectProfileData>(); SqlDataReader reader = null; string sqlSelectString = "SELECT PKID,keyname,data,id FROM [dbo].[ProfileData] WHERE PKID=(select PKID FROM Attendees WHERE Username=@Username)"; SqlCommand cmd = new SqlCommand(sqlSelectString, conn); cmd.Parameters.Add("@Username", SqlDbType.VarChar).Value = username; ; reader = cmd.ExecuteReader(); try { while (reader.Read()) { Guid pkid = reader.IsDBNull(0) ? Guid.NewGuid() : reader.GetGuid(0); string keyname = reader.IsDBNull(1) ? "" : reader.GetString(1); string data = reader.IsDBNull(2) ? "" : reader.GetString(2); int id = reader.IsDBNull(3) ? 0 : reader.GetInt32(3); DataObjectProfileData td = new DataObjectProfileData(pkid, keyname, data, id); DataTemplateODSList.Add(td); } } finally { if (reader != null) reader.Close(); } conn.Close(); HttpContext.Current.Cache.Insert(cacheName, DataTemplateODSList, null, DateTime.Now.Add(new TimeSpan(0, 0, Utils.RetrieveSecondsForSessionCacheTimeout())), TimeSpan.Zero); } else { DataTemplateODSList = (List<DataObjectProfileData>) HttpContext.Current.Cache[cacheName]; } return DataTemplateODSList; }