Example #1
0
        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;
        }
Example #2
0
        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;
        }