/// <summary>
        /// update row in the table
        /// </summary>
        /// <param name="businessObject">business object</param>
        /// <returns>true for successfully updated</returns>
        public bool Update(clsLessonLearnt businessObject)
        {
            SqlCommand sqlCommand = new SqlCommand();

            sqlCommand.CommandText = "dbo.[sp_UpdateLessonLearnt]";
            sqlCommand.CommandType = CommandType.StoredProcedure;

            // Use connection object of base class
            sqlCommand.Connection = MainConnection;

            try
            {
                sqlCommand.Parameters.Add(new SqlParameter("@REF_NO", SqlDbType.VarChar, 30, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, businessObject.REF_NO));
                sqlCommand.Parameters.Add(new SqlParameter("@PROBLEM", SqlDbType.VarChar, 1000, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, businessObject.PROBLEM));
                sqlCommand.Parameters.Add(new SqlParameter("@RESOLUTION", SqlDbType.VarChar, 1000, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, businessObject.RESOLUTION));
                sqlCommand.Parameters.Add(new SqlParameter("@ACTION_NO", SqlDbType.VarChar, 30, ParameterDirection.Input, false, 0, 0, "", DataRowVersion.Proposed, businessObject.ACTION_NO));

                MainConnection.Open();

                sqlCommand.ExecuteNonQuery();
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("clsLessonLearnt::Update::Error occured.", ex);
            }
            finally
            {
                MainConnection.Close();
                sqlCommand.Dispose();
            }
        }
        /// <summary>
        /// Populate business objects from the data reader
        /// </summary>
        /// <param name="dataReader">data reader</param>
        /// <returns>list of clsLessonLearnt</returns>
        internal List <clsLessonLearnt> PopulateObjectsFromReader(IDataReader dataReader)
        {
            List <clsLessonLearnt> list = new List <clsLessonLearnt>();

            while (dataReader.Read())
            {
                clsLessonLearnt businessObject = new clsLessonLearnt();
                PopulateBusinessObjectFromReader(businessObject, dataReader);
                list.Add(businessObject);
            }
            return(list);
        }
        /// <summary>
        /// Populate business object from data reader
        /// </summary>
        /// <param name="businessObject">business object</param>
        /// <param name="dataReader">data reader</param>
        internal void PopulateBusinessObjectFromReader(clsLessonLearnt businessObject, IDataReader dataReader)
        {
            businessObject.REF_NO     = dataReader.GetString(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.REF_NO.ToString()));
            businessObject.EMP_ID     = dataReader.GetInt32(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.EMP_ID.ToString()));
            businessObject.NICK_NAME  = dataReader.GetString(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.NICK_NAME.ToString()));
            businessObject.PROBLEM    = dataReader.GetString(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.PROBLEM.ToString()));
            businessObject.RESOLUTION = dataReader.GetString(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.RESOLUTION.ToString()));

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.ACTION_NO.ToString())))
            {
                businessObject.ACTION_NO = dataReader.GetString(dataReader.GetOrdinal(clsLessonLearnt.clsLessonLearntFields.ACTION_NO.ToString()));
            }
            else
            {
                businessObject.ACTION_NO = "";
            }
        }