/// <summary> /// function to get user transcript related to curricula /// </summary> /// <param name="orgID">organization id</param> /// <param name="userID">user id</param> /// <param name="testCaseType">positive/negative</param> /// <param name="certificationCourseName">course name</param> /// <returns>true/false</returns> public bool CurriclaTranscript(string orgID, string userID, string testcaseType, string certificationCourseName) { clsGlobalVariable.strExceptionReport = string.Empty; string statusCode = string.Empty; string result = string.Empty; clsGeneric oGeneric = new clsGeneric(); string URI = string.Empty; string courseID = string.Empty; bool _flag = false; string lCourseId = string.Empty; clsPage oPage = new clsPage(iWebdriver); clsAPITranscript oclsAPITranscript = new clsAPITranscript(); lCourseId = oPage.GetCurriculumId(certificationCourseName); try {//////////////////////getting transcript oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSpecificCurriculumTranscript.Replace("{orgID}", orgID).Replace("{userID}", userID).Replace("{courseID}", lCourseId), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); var status = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); if (testcaseType.ToUpper() == "NEGATIVE") { if (statusCode == "OK/200") { _flag = true; } else { _flag = false; } } else if (testcaseType.ToUpper() == "POSITIVE") { if (statusCode == "OK/200") { _flag = true; } else { _flag = false; } } } catch (Exception e) { clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name); return(false); } return(_flag); }
/// <summary> /// function to get user transcript /// </summary> /// <param name="orgID">organization id</param> /// <param name="userID">user id</param> /// <param name="testCaseType">positive/negative</param> /// <param name="certificationCourseName">course name</param> /// <returns>true/false</returns> public bool GetUserTranscript(string orgID, string userID, string testCaseType, string certificationCourseName) { bool _flag = false; string statusCode = string.Empty; string result = string.Empty; clsGeneric oGeneric = new clsGeneric(); clsAPITranscript oclsAPITranscript = new clsAPITranscript(); try { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetUserTranscript.Replace("{orgID}", orgID).Replace("{userid}", userID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); if (testCaseType.ToUpper() == "NEGATIVE") { if (statusCode == "OK/200") { _flag = true; } else { _flag = false; } } else if (testCaseType.ToUpper() == "POSITIVE") { if (statusCode == "OK/200") { _flag = true; } else { _flag = false; } } else if (testCaseType == "CERTIFICATION") { try { var certCourseID = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); var courseid = certCourseID.Where(cus => cus.CourseName == certificationCourseName); List <ILMS.clsAPITranscript> t = new List <clsAPITranscript>(); t = courseid.ToList(); UserEnrollment ouser = new UserEnrollment(); ouser.userid = userID; oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", ApplicationSettings.APIURI() + clsAPI.EnrollRecertification.Replace("{orgid}", orgID).Replace("{CourseID}", t[0].CourseID.ToString()), ouser, "H1", _ecomLoginKey, _ecomTransactionKey); oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetUserTranscript.Replace("{orgID}", orgID).Replace("{courseID}", t[0].CourseID.ToString()).Replace("{userid}", userID), ouser, "H1", _ecomLoginKey, _ecomTransactionKey); var status = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); if (status.Count > 0) { courseid = status.Where(cus => cus.CourseName == certificationCourseName); t = courseid.ToList(); if (t[0].Status.ToUpper() == "NOT STARTED") { _flag = true; } else { _flag = false; } } else { _flag = false; } } catch (Exception er) { clsGlobalVariable.strExceptionReport = "Recertification scenario failed"; return(false); } } } catch { clsGlobalVariable.strExceptionReport = "Get transcript scenario failed"; return(false); } return(_flag); }
/// <summary> /// update transcript function for put api request /// </summary> /// <param name="hTable">input from transcript function</param> /// <returns>true/false</returns> private bool UpdateTranscript(Hashtable hTable) { string _UserID = string.Empty; clsGlobalVariable.strExceptionReport = string.Empty; string statusCode = string.Empty; string statusCodeUpdate = string.Empty; string result = string.Empty; string resultput = string.Empty; clsGeneric oGeneric = new clsGeneric(); string URI = string.Empty; string courseID = string.Empty; bool _flag = false; try { Transcript oTranscript = new ILMS.Transcript(); clsAPITranscript oclsAPITranscript = new clsAPITranscript(); clsPage oPage = new clsPage(iWebdriver); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; Users oUser = new Users(); GetAPICredentials oGetAPICredentials = new GetAPICredentials(); ////////////////////get api credentials for organization oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", _orgID), oUser, "H2", "", ""); var orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result); Crypto3DES _des = new Crypto3DES(ApplicationSettings.EComModuleEncKey()); _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey); _ecomLoginKey = _des.Decrypt3DES(orgCredential.LoginID); #region get user id by there type if (hTable["UserStatus"].ToString().ToUpper().Contains("INACTIVE")) { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + hTable["UserEmail"].ToString() + "*&userstatus=inactive", oUser, "H1", _ecomLoginKey, _ecomTransactionKey); } else if (hTable["UserStatus"].ToString().ToUpper().Contains("DELETED")) { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + hTable["UserEmail"].ToString() + "*&userstatus=Deleted", oUser, "H1", _ecomLoginKey, _ecomTransactionKey); } else { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); } var oUserData = JsonConvert.DeserializeObject <List <Users> >(result); for (int iUser = 0; iUser < oUserData.Count; iUser++) { if (oUserData[iUser].Profile.F015.ToString() == hTable["UserMailID"].ToString().Trim()) { _UserID = oUserData[iUser].ID; break; } } #endregion #region course if (hTable["TranscriptFor"].ToString().ToUpper() == "COURSE") { try { courseID = GetID(hTable["CourseName"].ToString(), hTable["TranscriptFor"].ToString()); ///old transcript oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSpecificCourseTranscript.Replace("{orgID}", clsAPI.orgID).Replace("{userID}", _UserID).Replace("{courseID}", courseID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); oTranscript.CompletionDate = hTable["CompletionDate"].ToString(); oTranscript.EnrollmentDate = hTable["EnrollmentDate"].ToString(); oTranscript.Score = hTable["Score"].ToString(); oTranscript.StartDate = hTable["StartDate"].ToString(); oTranscript.Status = hTable["Status"].ToString(); oTranscript.LicenseExpirationDate = hTable["LicenseExpirationDate"].ToString(); oTranscript.RequirementType = hTable["RequirementType"].ToString(); oTranscript.DueDate = hTable["DueDate"].ToString(); oTranscript.CertificationExpirationDate = hTable["CertificationExpirationDate"].ToString(); /////update transcript string resultupdate = string.Empty; string resultnew = string.Empty; oGeneric.GetApiResponseCodeData(out statusCodeUpdate, out resultupdate, "PUT", ApplicationSettings.APIURI() + clsAPI.GetSpecificCourseTranscript.Replace("{orgID}", clsAPI.orgID).Replace("{userID}", _UserID).Replace("{courseID}", courseID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); Thread.Sleep(clsGlobalVariable.iWaitHigh); oGeneric.GetApiResponseCodeData(out statusCode, out resultnew, "GET", ApplicationSettings.APIURI() + clsAPI.GetSpecificCourseTranscript.Replace("{orgID}", clsAPI.orgID).Replace("{userID}", _UserID).Replace("{courseID}", courseID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); var status = JsonConvert.DeserializeObject <List <clsAPITranscript> >(resultnew); var statusold = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); _flag = VerifyTranscriptUpdate(result, resultnew, statusCodeUpdate, hTable); } catch (Exception e) { clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name); return(false); } } #endregion #region session else if (hTable["TranscriptFor"].ToString().ToUpper() == "SESSION") { List <string> lCourseId = new List <string>(); string resultnew = string.Empty; lCourseId = oPage.GetCourseId(hTable["CourseName"].ToString()); clsGenericAPI oclsGenericAPI = new clsGenericAPI(); oclsGenericAPI.GetORGCredentials(out _ecomTransactionKey, out _ecomLoginKey, _orgID); if (lCourseId.Count > 0) { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result); if (result == "") { return(false); } _SessionID = oSessionData[0].SessionID; oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSpecificSessionTranscript.Replace("{orgID}", _orgID).Replace("{CourseID}", lCourseId[0].ToString()).Replace("{sessionID}", _SessionID).Replace("{userID}", _UserID), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); _flag = VerifyTranscriptUpdate(result, resultnew, statusCodeUpdate, hTable); } else { return(false); } } #endregion #region Curricula else { string resultnew = string.Empty; courseID = oPage.GetCurriculumId(hTable["CourseName"].ToString()); try {//////////////////////getting transcript oTranscript.CompletionDate = hTable["CompletionDate"].ToString(); oTranscript.EnrollmentDate = hTable["EnrollmentDate"].ToString(); oTranscript.Score = hTable["Score"].ToString(); oTranscript.StartDate = hTable["StartDate"].ToString(); oTranscript.Status = hTable["Status"].ToString(); oTranscript.LicenseExpirationDate = hTable["LicenseExpirationDate"].ToString(); oTranscript.RequirementType = hTable["RequirementType"].ToString(); oTranscript.DueDate = hTable["DueDate"].ToString(); oTranscript.CertificationExpirationDate = hTable["CertificationExpirationDate"].ToString(); oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSpecificCurriculumTranscript.Replace("{orgID}", _orgID).Replace("{userID}", _UserID).Replace("{courseID}", courseID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); var status = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); oGeneric.GetApiResponseCodeData(out statusCodeUpdate, out resultput, "PUT", ApplicationSettings.APIURI() + clsAPI.GetSpecificCurriculumTranscript.Replace("{orgID}", _orgID).Replace("{userID}", _UserID).Replace("{courseID}", courseID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); Thread.Sleep(clsGlobalVariable.iWaitHigh); oGeneric.GetApiResponseCodeData(out statusCode, out resultnew, "GET", ApplicationSettings.APIURI() + clsAPI.GetSpecificCurriculumTranscript.Replace("{orgID}", _orgID).Replace("{userID}", _UserID).Replace("{courseID}", courseID), oclsAPITranscript, "H1", _ecomLoginKey, _ecomTransactionKey); var statusold = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); _flag = VerifyTranscriptUpdate(result, resultnew, statusCodeUpdate, hTable); } catch { clsGlobalVariable.strExceptionReport = "Get transcript scenario failed"; return(false); } return(_flag); } #endregion } catch (Exception e) { clsException.ExceptionHandler(e, iWebdriver, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name); return(false); } return(_flag); }