private ContentModuleTracking GetTrackingHRS(ContentModuleSession session) { var contModTracking = new ContentModuleTracking { UserID = session.SystemUserGuid, ContentModuleId = session.ContentModuleId }; //if (session.Attempt.HasValue) //{ contModTracking.ID = session.SystemUserGuid + "CTR" + IDGenerator.GetUniqueKey(16); //} contModTracking.IsResume = session.IsReview; contModTracking.ContentType = session.ContentModule.ContentModuleTypeId; contModTracking = _contentModuleTrackingRepository.GetContentModuleLessonTracking(contModTracking); contModTracking.IsForAdminPreview = false; // (session.LaunchSite == LaunchSite.Admin); contModTracking.UserID = session.SystemUserGuid; contModTracking.UserFirstLastName = session.Learner.LastName + ", " + session.Learner.FirstName; contModTracking.ContentModuleId = session.ContentModuleId; contModTracking.SessionId = session.SessionId; contModTracking.TotalNoOfPages = session.ContentModule.TotalLessons; contModTracking.ContentType = session.ContentModule.ContentModuleTypeId; return(contModTracking); }
/// <summary> /// private method to support both Add and Edit content module tracking transactions. /// </summary> /// <param name="pEntContModTracking"></param> /// <param name="pUpdateMode"></param> /// <returns>ContentModuleTracking object</returns> private ContentModuleTrackingUpdateResult Update(ContentModuleTracking pEntContModTracking, string pStrUpdateMode) { _sqlObject = new SQLObject(); sqlcmd = new SqlCommand(); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.CommandText = Schema.ContentModuleTracking.PROC_UPDATE_CONTENT_MODULE_TRACKING; _strConnString = _sqlObject.GetClientDBConnString(pEntContModTracking.ClientId); //if (pStrUpdateMode == Schema.Common.VAL_INSERT_MODE) //{ // sqlpara = new SqlParameter(Schema.Common.PARA_UPDATE_MODE, Schema.Common.VAL_INSERT_MODE); //} //else // sqlpara = new SqlParameter(Schema.Common.PARA_UPDATE_MODE, Schema.Common.VAL_UPDATE_MODE); //sqlcmd.Parameters.Add(sqlpara); if (string.IsNullOrEmpty(pEntContModTracking.ID)) { pEntContModTracking.ID = pEntContModTracking.LearnerId + IDGenerator.GetUniqueKey(16); } sqlpara = new SqlParameter(Schema.Common.PARA_CONTENTTRACKID, pEntContModTracking.ID); sqlcmd.Parameters.Add(sqlpara); sqlpara = new SqlParameter(Schema.ContentModule.PARA_CONTENT_MODULE_ID, pEntContModTracking.ContentModuleId); sqlcmd.Parameters.Add(sqlpara); //sqlpara = new SqlParameter(Schema.Common.PARA_IS_BULK_MARK_COMPLETED, pEntContModTracking.IsBulkMarkCompleted); //sqlcmd.Parameters.Add(sqlpara); sqlpara = new SqlParameter(Schema.Learner.PARA_LEARNERID, pEntContModTracking.UserID); sqlcmd.Parameters.Add(sqlpara); //if (!string.IsNullOrEmpty(pEntContModTracking.SessionId)) //{ // sqlcmd.Parameters.Add(new SqlParameter(Schema.Learner.PARA_SESSION_ID, pEntContModTracking.SessionId)); //} //sqlcmd.Parameters.Add(new SqlParameter(Schema.ContentModuleTracking.PARA_EXTEND_EXPIRATION_MINUTES, pEntContModTracking.ExtendExpirationMinutes)); //sqlcmd.Parameters.Add(new SqlParameter(Schema.ContentModuleTracking.PARA_CHECK_EXPIRED_SESSION, pEntContModTracking.CheckExpiredSession)); if (DateTime.MinValue.CompareTo(pEntContModTracking.DateOfStart) < 0) { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_DATE_OF_START, pEntContModTracking.DateOfStart); } else { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_DATE_OF_START, null); } sqlcmd.Parameters.Add(sqlpara); if (pEntContModTracking.DateOfCompletion != null) { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_DATE_OF_COMPLETION, pEntContModTracking.DateOfCompletion); } else { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_DATE_OF_COMPLETION, null); } sqlcmd.Parameters.Add(sqlpara); sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_TOTAL_NO_OF_PAGES, pEntContModTracking.TotalNoOfPages); sqlcmd.Parameters.Add(sqlpara); sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_NO_OF_PAGES_COMPLETED, pEntContModTracking.NoOfPagesCompleted); sqlcmd.Parameters.Add(sqlpara); sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_COMPLETION_STATUS, pEntContModTracking.CompletionStatus.ToString()); sqlcmd.Parameters.Add(sqlpara); if (!string.IsNullOrEmpty(pEntContModTracking.Score)) { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_SCORE, pEntContModTracking.Score); } else { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_SCORE, null); } sqlcmd.Parameters.Add(sqlpara); if (!string.IsNullOrEmpty(pEntContModTracking.UserDataXML)) { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_USER_DATA_XML, pEntContModTracking.UserDataXML); } else { sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_USER_DATA_XML, null); } sqlcmd.Parameters.Add(sqlpara); //if (!string.IsNullOrEmpty(pEntContModTracking.Score)) // sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_SCORE, pEntContModTracking.Score); //else // sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_SCORE, null); //sqlcmd.Parameters.Add(sqlpara); //if (!string.IsNullOrEmpty(pEntContModTracking.MarkedCompletedById)) // sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_MARKED_COMPLETED_BY_ID, pEntContModTracking.MarkedCompletedById); //else // sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_MARKED_COMPLETED_BY_ID, null); //sqlcmd.Parameters.Add(sqlpara); //if (!string.IsNullOrEmpty(pEntContModTracking.ScannedCertificationFileName)) // sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_SCANNED_CERTIFICATION_FILE_NAME, pEntContModTracking.ScannedCertificationFileName); //else // sqlpara = new SqlParameter(Schema.ContentModuleTracking.PARA_SCANNED_CERTIFICATION_FILE_NAME, null); //sqlcmd.Parameters.Add(sqlpara); //sqlcmd.Parameters.AddWithValue(Schema.ContentModuleTracking.PARA_ACTIVITY_NAME, null); //sqlcmd.Parameters.AddWithValue(Schema.ContentModuleTracking.PARA_USER_FIRST_LAST_NAME, null); //sqlcmd.Parameters.AddWithValue(Schema.ContentModuleTracking.PARA_REVIEWER_COMMENTS, pEntContModTracking.ReviewComments); //sqlcmd.Parameters.AddWithValue(Schema.ContentModuleTracking.PARA_REGION_VIEW_INFO, pEntContModTracking.RegionViewInfo); //sqlcmd.Parameters.AddWithValue(Schema.ContentModuleTracking.PARA_IS_FOR_ADMIN_PREVIEW, pEntContModTracking.IsForAdminPreview); ContentModuleTrackingUpdateResult result = null; using (SqlConnection conn = new SqlConnection(_strConnString)) { conn.Open(); sqlcmd.Connection = conn; using (var reader = sqlcmd.ExecuteReader()) { if (reader.HasRows) { reader.Read(); result = new ContentModuleTrackingUpdateResult(); //reader.SetValueForColumn<string>("PreviousCompletionStatus", s => result.PreviousCompletionStatus = s); //reader.SetValueForColumn<string>("CurrentCompletionStatus", s => result.CurrentCompletionStatus = s); //reader.SetValueForColumn<string>("LearnerId", s => result.LearnerId = s); } } } return(result); }