/// <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); }
public bool Enrolluser(Hashtable htblTestData) { clsGlobalVariable.strExceptionReport = string.Empty; string statusCode = string.Empty; string result = string.Empty; clsGeneric oGeneric = new clsGeneric(); string URI = string.Empty; List <string> lCourseId = new List <string>(); bool _Flag = false; string _UserID = string.Empty; try { clsPage oPage = new clsPage(iWebdriver); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; lCourseId = oPage.GetCourseId(htblTestData["CourseName"].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); 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; } } oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result); if (result == "") { return(false); } _SessionID = oSessionData[0].SessionID; UserEnrollment oUserEnrollment = new ILMS.UserEnrollment(); oUserEnrollment.userid = _UserID; oGeneric.GetApiResponseCodeData(out statusCode, out result, "POST", ApplicationSettings.APIURI() + clsAPI.SessionEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()).Replace("{SessionID}", _SessionID), 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); } if (result.Contains("Invalid URI")) { 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); } } do { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.SessionEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()).Replace("{SessionID}", _SessionID), oUserEnrollment, "H1", _ecomLoginKey, _ecomTransactionKey); } while (result == ""); var oCourseData = JsonConvert.DeserializeObject <List <SessionEnrollment> >(result); for (int iUser = 0; iUser < oCourseData.Count; iUser++) { if (oCourseData[iUser].User.Profile_Basic.F015.ToString() == htblTestData["UserEmail"].ToString().Trim()) { _UserID = oCourseData[iUser].User.ID; _Flag = true; break; } 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 GetSession(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; List <string> lCourseId = new List <string>(); string resultnew = string.Empty; string sessionId = string.Empty; Hashtable hTable = new Hashtable(); hTable = oGeneric.GetTestData(oObject); clsPage oPage = new clsPage(iWebdriver); lCourseId = oPage.GetCourseId(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.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result); if (result == "") { return(false); } if (oSessionData.Count > 0) { _flag = true; } } else if (hTable["FunctionFor"].ToString().ToUpper() == "ROOMNAME") { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result); for (int iSessionCounter = 0; iSessionCounter < oSessionData.Count; iSessionCounter++) { if (oSessionData[iSessionCounter].RoomName == hTable["RoomName"].ToString()) { sessionId = oSessionData[iSessionCounter].SessionID; break; } } if (sessionId == "") { return(false); } oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()) + "/" + sessionId, oUser, "H1", _ecomLoginKey, _ecomTransactionKey); var oSessionDatanew = JsonConvert.DeserializeObject <List <clsAPISession> >(result); if (oSessionDatanew.Count == 1) { return(true); } else { return(false); } } else { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.GetSessionID.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()) + "?sessionstartdate=" + hTable["StartDate"] + "&sessionenddate=" + hTable["EndDate"], oUser, "H1", _ecomLoginKey, _ecomTransactionKey); if (hTable["TestCaseType"].ToString().ToUpper() == "NEGATIVE") { if (statusCode.Contains("204") || statusCode.Contains("200")) { return(false); } else { return(true); } } var oSessionData = JsonConvert.DeserializeObject <List <clsAPISession> >(result); if (result == "") { return(false); } if (oSessionData.Count > 0) { _flag = true; } } } 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); List <string> lCourseId = new List <string>(); bool _Flag = false; string _UserID = string.Empty; try { clsPage oPage = new clsPage(iWebdriver); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; lCourseId = oPage.GetCourseId(htblTestData["CourseName"].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.CourseEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].ToString().Trim()), 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); } } do { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CourseEnrollment.Replace("{orgid}", _orgID).Replace("{CourseID}", lCourseId[0].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["CourseName"].ToString().ToUpper())) { return(true); } } 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; } } try { if (htblTestData["Status"].ToString().ToUpper() == "Deleted".ToUpper()) { if (_Flag == true) { return(true); } else { return(false); } } } catch { } if (_Flag == true) { iWebdriver.Navigate().GoToUrl(oPage.SetUrl(htblTestData["url"].ToString())); clsGlobalVariable.strExceptionReport = string.Empty; string tag = ApplicationSettings.ElementByPath(); object[] objparam = new object[] { ApplicationSettings.EleUserName(), ApplicationSettings.ElePassword(), ApplicationSettings.EleLogin() }; System.Threading.Thread.Sleep(clsGlobalVariable.iWaitMedium); if (iWebdriver.GetType().Name.Contains("InternetExplorer") && clsGlobalVariable.IEFlag == true) { iWebdriver.Navigate().GoToUrl("javascript:document.getElementById('overridelink').click()"); clsGlobalVariable.IEFlag = false; } try { System.Threading.Thread.Sleep(clsGlobalVariable.iWaitHigh); iWebdriver.FindElement((By)oGeneric.InvokeMethodwith_Param(tag, new object[] { objparam[0].ToString() })).SendKeys(htblTestData["UserEmail"].ToString()); iWebdriver.FindElement((By)oGeneric.InvokeMethodwith_Param(tag, new object[] { objparam[1].ToString() })).SendKeys(htblTestData["Password"].ToString()); iWebdriver.FindElement((By)oGeneric.InvokeMethodwith_Param(tag, new object[] { objparam[2].ToString() })).Click(); iWebdriver.SwitchTo().DefaultContent(); iWebdriver.SwitchTo().Frame(clsPageObject.frmLCLeftFrame); iWebdriver.SwitchTo().Frame(clsPageObject.frmLCRightFrameFinal); if (iWebdriver.FindElement(By.XPath(clsPageObject.scormCourseName.Replace("$", htblTestData["CourseName"].ToString()))).Displayed) { return(true); } else { clsGlobalVariable.strExceptionReport = "User is not enrolled in " + htblTestData["CourseName"].ToString(); return(false); } } catch (Exception ex) { clsGlobalVariable.strExceptionReport = "User is not enrolled in " + htblTestData["CourseName"].ToString(); return(false); } } else { return(false); } } catch (Exception ex) { } return(_Flag); }
public bool FetchCourseDuedateSetting(Hashtable hTable) { clsGlobalVariable.strExceptionReport = string.Empty; string statusCode = string.Empty; string result = string.Empty; clsGeneric oGeneric = new clsGeneric(); string URI = string.Empty; List <string> lCourseId = new List <string>(); bool _Flag = false; string _UserID = string.Empty; try { clsPage oPage = new clsPage(iWebdriver); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; //Getting org API credentials GetAPICredentials oGetAPICredentials = new GetAPICredentials(); oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", _orgID), oGetAPICredentials, "H2", "", ""); var orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result); Crypto3DES _des = new Crypto3DES(ApplicationSettings.EComModuleEncKey()); _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey); _ecomLoginKey = _des.Decrypt3DES(orgCredential.LoginID); DefaultDueDateSetting oDefaultDueDateSetting = new DefaultDueDateSetting(); //Getting couse id of my course lCourseId = oPage.GetCourseId(hTable["CourseName"].ToString()); //Hitting API URI if (hTable["TestCaseType"].ToString().ToUpper() == "POSITIVE") { //organizations/{orgID}/courses/{courseID}/duedate oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CourseDuedateSetting.Replace("{orgid}", _orgID).Replace("{courseID}", lCourseId[0].ToString().Trim()), oDefaultDueDateSetting, "H1", _ecomLoginKey, _ecomTransactionKey); //var oCoursesettingdata = JsonConvert.DeserializeObject<DefaultDueDateSetting>(result); if (statusCode == "OK/200") { _Flag = true; } else { _Flag = false; } } else if (hTable["TestCaseType"].ToString().ToUpper() == "NEGATIVE") { oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CourseDuedateSetting.Replace("{orgid}", _orgID).Replace("{courseID}", lCourseId[0].ToString().Trim()), oDefaultDueDateSetting, "H1", _ecomLoginKey, _ecomTransactionKey); if (result.Contains("ErrorCode")) { _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 UpdateCourseDuedateSetting(Hashtable hTable) { clsGlobalVariable.strExceptionReport = string.Empty; string statusCode = string.Empty; string result = string.Empty; clsGeneric oGeneric = new clsGeneric(); string URI = string.Empty; List <string> lCourseId = new List <string>(); bool _Flag = false; try { clsPage oPage = new clsPage(iWebdriver); _orgID = oPage.GetOrganizationID(); clsAPI.orgID = _orgID; //Getting org API credentials GetAPICredentials oGetAPICredentials = new GetAPICredentials(); oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.orgCredential.Replace("$", _orgID), oGetAPICredentials, "H2", "", ""); var orgCredential = JsonConvert.DeserializeObject <GetAPICredentials>(result); Crypto3DES _des = new Crypto3DES(ApplicationSettings.EComModuleEncKey()); _ecomTransactionKey = _des.Decrypt3DES(orgCredential.TransactionKey); _ecomLoginKey = _des.Decrypt3DES(orgCredential.LoginID); //Getting the couse ID lCourseId = oPage.GetCourseId(hTable["CourseName"].ToString()); if (hTable["TestCaseType"].ToString().ToUpper() == "POSITIVE") { DefaultDueDateSetting oDefaultDueDateSetting = new DefaultDueDateSetting(); oDefaultDueDateSetting.DefaultDueDate = hTable["NewDuedateDefault"].ToString(); oDefaultDueDateSetting.DaysAfterEnrollment = hTable["NewDuedateAfterEnrollment"].ToString(); //Modifying old duedate oGeneric.GetApiResponseCodeData(out statusCode, out result, "PUT", ApplicationSettings.APIURI() + clsAPI.CourseDuedateSetting.Replace("{orgid}", _orgID).Replace("{courseID}", lCourseId[0].ToString().Trim()), oDefaultDueDateSetting, "H1", _ecomLoginKey, _ecomTransactionKey); //Getting new duedate after updating oGeneric.GetApiResponseCodeData(out statusCode, out result, "GET", ApplicationSettings.APIURI() + clsAPI.CourseDuedateSetting.Replace("{orgid}", _orgID).Replace("{courseID}", lCourseId[0].ToString().Trim()), oDefaultDueDateSetting, "H1", _ecomLoginKey, _ecomTransactionKey); var oCoursesettingdata = JsonConvert.DeserializeObject <DefaultDueDateSetting>(result); string newDuedateAfterEnrollment = oCoursesettingdata.DaysAfterEnrollment; string newDefaultDuedate = oCoursesettingdata.DefaultDueDate; if (!string.IsNullOrEmpty(newDuedateAfterEnrollment)) { if (newDuedateAfterEnrollment.Contains(hTable["NewDuedateAfterEnrollment"].ToString())) { if (string.IsNullOrEmpty(newDefaultDuedate) && hTable["NewDuedateDefault"].ToString() == "null") { _Flag = true; } else { _Flag = false; } } else { _Flag = false; } } else { if (!string.IsNullOrEmpty(newDefaultDuedate)) { if (string.IsNullOrEmpty(newDuedateAfterEnrollment) && hTable["NewDuedateAfterEnrollment"].ToString() == "null") { if (newDefaultDuedate.Contains(hTable["NewDuedateDefault"].ToString())) { _Flag = true; } else { _Flag = false; } } else { if (string.IsNullOrEmpty(newDuedateAfterEnrollment) && hTable["NewDuedateAfterEnrollment"].ToString() == "null") { if (string.IsNullOrEmpty(newDefaultDuedate) && hTable["NewDuedateDefault"].ToString() == "null") { _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> /// 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); }