/// <summary>
        /// Connects to database and returns profile by profile ID.
        /// </summary>
        /// <param name="EditID">Profile ID.</param>
        /// <returns>Profile detail</returns>
        public ProfileManagementInfo GetProfileByProfileID(int EditID)
        {
            SqlDataReader reader = null;

            try
            {
                string     sp   = "[dbo].[sp_ProfileGetByProfileID]";
                SQLHandler SQLH = new SQLHandler();
                List <KeyValuePair <string, object> > ParamCollInput = new List <KeyValuePair <string, object> >();
                ParamCollInput.Add(new KeyValuePair <string, object>("@ProfileID", EditID));

                reader = SQLH.ExecuteAsDataReader(sp, ParamCollInput);
                ProfileManagementInfo objList = new ProfileManagementInfo();

                while (reader.Read())
                {
                    objList.ProfileID      = int.Parse(reader["ProfileID"].ToString());
                    objList.Name           = reader["Name"].ToString();
                    objList.PropertyTypeID = int.Parse(reader["PropertyTypeID"].ToString());
                    objList.DataType       = reader["DataType"].ToString();
                    objList.IsRequired     = bool.Parse(reader["IsRequired"].ToString());
                    objList.DisplayOrder   = int.Parse(reader["DisplayOrder"].ToString());
                    objList.IsActive       = bool.Parse(reader["IsActive"].ToString());
                    objList.IsDeleted      = bool.Parse(reader["IsDeleted"].ToString());
                    objList.IsDeleted      = bool.Parse(reader["IsModified"].ToString());
                    objList.UpdatedOn      = DateTime.Parse(reader["UpdatedOn"].ToString());
                    objList.PortalID       = int.Parse(reader["PortalID"].ToString());
                    objList.UpdatedBy      = reader["UpdatedBy"].ToString();
                }
                return(objList);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
        }
 /// <summary>
 /// Adss value to list
 /// </summary>
 /// <param name="value">ProfileManagementInfo object</param>
 /// <returns></returns>
 public int Add(ProfileManagementInfo value)
 {
     return List.Add(value);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="value"></param>
 public void Remove(ProfileManagementInfo value)
 {
     List.Remove(value);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="index"></param>
 /// <param name="value"></param>
 public void Insert(int index, ProfileManagementInfo value)
 {
     List.Insert(index, value);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public int IndexOf(ProfileManagementInfo value)
 {
     return List.IndexOf(value);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public bool Contains(ProfileManagementInfo value)
 {
     return List.Contains(value);
 }
        /// <summary>
        /// Connects to database and returns profile by profile ID.
        /// </summary>
        /// <param name="EditID">Profile ID.</param>
        /// <returns>Profile detail</returns>
        public ProfileManagementInfo GetProfileByProfileID(int EditID)
        {
            SqlDataReader reader = null;
            try
            {
                string sp = "[dbo].[sp_ProfileGetByProfileID]";
                SQLHandler SQLH = new SQLHandler();
                List<KeyValuePair<string, object>> ParamCollInput = new List<KeyValuePair<string, object>>();
                ParamCollInput.Add(new KeyValuePair<string, object>("@ProfileID", EditID));

                reader = SQLH.ExecuteAsDataReader(sp, ParamCollInput);
                ProfileManagementInfo objList = new ProfileManagementInfo();

                while (reader.Read())
                {

                    objList.ProfileID = int.Parse(reader["ProfileID"].ToString());
                    objList.Name = reader["Name"].ToString();
                    objList.PropertyTypeID = int.Parse(reader["PropertyTypeID"].ToString());
                    objList.DataType = reader["DataType"].ToString();
                    objList.IsRequired = bool.Parse(reader["IsRequired"].ToString());
                    objList.DisplayOrder = int.Parse(reader["DisplayOrder"].ToString());
                    objList.IsActive = bool.Parse(reader["IsActive"].ToString());
                    objList.IsDeleted = bool.Parse(reader["IsDeleted"].ToString());
                    objList.IsDeleted = bool.Parse(reader["IsModified"].ToString());
                    objList.UpdatedOn = DateTime.Parse(reader["UpdatedOn"].ToString());
                    objList.PortalID = int.Parse(reader["PortalID"].ToString());
                    objList.UpdatedBy = reader["UpdatedBy"].ToString();

                }
                return objList;


            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }
        }