/// <summary> /// /function to get course id depending on course name and search flag like session or curricula /// </summary> /// <param name="CourseName">first parameter</param> /// <param name="SearchFlag">curricula,session,course</param> /// <returns>string value</returns> public string GetID(string CourseName, string SearchFlag) { List <string> courseID = new List <string>(); clsPage oPage = new clsPage(iWebdriver); string ID = string.Empty; if (SearchFlag.ToUpper() == "CURRICULA") { ID = oPage.GetCurriculumId(CourseName); } else if (SearchFlag.ToUpper() == "SESSION") { courseID = oPage.GetCourseId(CourseName); if (courseID.Count > 0) { ID = courseID[0].ToString(); } } else if (SearchFlag.ToUpper() == "COURSE") { courseID = oPage.GetCourseId(CourseName); if (courseID.Count > 0) { ID = courseID[0].ToString(); } } return(ID); }
/// <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); }
public bool Enrolluser(object[] lStrValue) { clsGlobalVariable.strExceptionReport = string.Empty; string statusCode = string.Empty; string result = string.Empty; clsGeneric oGeneric = new clsGeneric(); string URI = string.Empty; Hashtable htblTestData = new Hashtable(); htblTestData = oGeneric.GetTestData(lStrValue); string lCourseId = string.Empty; bool _Flag = false; string _UserID = string.Empty; try { clsPage oPage = new clsPage(iWebdriver); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; lCourseId = oPage.GetCurriculumId(htblTestData["CurriculumName"].ToString()); Users oUser = new Users(); GetAPICredentials oGetAPICredentials = new GetAPICredentials(); 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); if (htblTestData["Status"].ToString().ToUpper().Contains("INACTIVE")) { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + htblTestData["UserEmail"].ToString() + "*&userstatus=inactive", oUser, "H1", _ecomLoginKey, _ecomTransactionKey); } else if (htblTestData["Status"].ToString().ToUpper().Contains("DELETED")) { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.user.Replace("{orgid}", _orgID) + "?F015=" + htblTestData["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() == htblTestData["UserEmail"].ToString().Trim()) { _UserID = oUserData[iUser].ID; break; } } UserEnrollment oUserEnrollment = new ILMS.UserEnrollment(); oUserEnrollment.userid = _UserID; oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", ApplicationSettings.APIURI() + clsAPI.CurriculumEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId.ToString()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey); Thread.Sleep(clsGlobalVariable.iWaitHigh); if (htblTestData["TestCaseType"].ToString().ToUpper() == "NEGATIVE") { if (result.ToUpper().Contains("!DOCTYPE")) { clsGlobalVariable.strExceptionReport = "Resource not found"; return(true); } var oError = JsonConvert.DeserializeObject <List <SuperAdminCoursePushDownError> >(result); SuperAdminCoursePushDownErrorCode oErrorCode = new SuperAdminCoursePushDownErrorCode(); foreach (string strErrorCode in oErrorCode.coursePushDownErrorCode) { if (strErrorCode == oError[0].ErrorCode) { _Flag = true; } } if (_Flag == true) { return(true); } else { clsGlobalVariable.strExceptionReport = "Negative Case Failed!"; return(false); } } try { if (htblTestData["Status"].ToString().ToUpper() == "Deleted".ToUpper()) { if (_Flag == true) { return(true); } else { return(false); } } } catch { } do { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CurriculumEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId.ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey); } while (result == ""); if (htblTestData["Status"].ToString().ToUpper() == "INACTIVE") { do { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetTranscript.Replace("{orgid}", _orgID).Replace("{UserID}", _UserID.ToString().Trim()), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey); } while (result == ""); var oTranscriptData = JsonConvert.DeserializeObject <List <clsAPITranscript> >(result); for (int icount = 0; icount < oTranscriptData.Count; icount++) { if (oTranscriptData[icount].CourseName.ToString().ToUpper().Equals(htblTestData["CurriculumName"].ToString().ToUpper())) { return(true); } else { return(false); } } } var oCourseData = JsonConvert.DeserializeObject <List <CourseData> >(result); for (int iUser = 0; iUser < oCourseData.Count; iUser++) { if (oCourseData[iUser].User.Profile_Basic.F015.ToString() == htblTestData["UserEmail"].ToString().Trim()) { _UserID = oUserData[iUser].ID; _Flag = true; break; } else { _Flag = false; } } if (_Flag == true) { return(true); } else { return(false); } } catch (Exception ex) { clsGlobalVariable.strExceptionReport = "User not enrolled in curriculum."; return(false); } }
public bool GetCurricula(object[] oObject) { 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; string lCourseId = string.Empty; string resultnew = string.Empty; string sessionId = string.Empty; Hashtable hTable = new Hashtable(); hTable = oGeneric.GetTestData(oObject); clsPage oPage = new clsPage(iWebdriver); lCourseId = oPage.GetCurriculumId(hTable["CourseName"].ToString()); clsGenericAPI oclsGenericAPI = new clsGenericAPI(); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; oclsGenericAPI.GetORGCredentials(out _ecomTransactionKey, out _ecomLoginKey, _orgID); User oUser = new User(); try { if (hTable["FunctionFor"].ToString().ToUpper() == "ALL") { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetCuriculla.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oCurriculaData = JsonConvert.DeserializeObject <List <curiculla> >(result); if (result == "") { return(false); } if (oCurriculaData.Count > 0) { _flag = true; } } else if (hTable["FunctionFor"].ToString().ToUpper() == "SPECIFIC") { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetCuriculla.Replace("{orgid}", _orgID) + "/" + lCourseId, oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oSessionData = JsonConvert.DeserializeObject <List <curiculla> >(result); if (oSessionData.Count == 1) { return(true); } else { return(false); } } else { DefaultDueDateSettings oDefaultDueDateSettings = new DefaultDueDateSettings(); oDefaultDueDateSettings.DefaultDueDate = hTable["DefaultDueDate"].ToString(); oDefaultDueDateSettings.DaysAfterEnrollment = hTable["DaysAfterEnrollment"].ToString(); oGeneric.GetApiResponseCodeData(out statusCode, out result, "PUT", ApplicationSettings.APIURI() + clsAPI.GetCuriculla.Replace("{orgid}", _orgID) + "/" + lCourseId + "/DueDate", oDefaultDueDateSettings, "H1", _ecomLoginKey, _ecomTransactionKey); if (hTable["TestCaseType"].ToString().ToUpper() == "NEGATIVE") { if (statusCode.Contains("204") || statusCode.Contains("200")) { return(false); } else { return(true); } } if (statusCode.Contains("204") || statusCode.Contains("200")) { return(true); } else { return(false); } } } catch (Exception er) { } 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); }