Commit be36035b65bdd9e25ed5336abd02e89f9d16b83e
1 parent
cb546824
aod changes in api, admin api and web to save request/response from aod
Showing
16 changed files
with
178 additions
and
274 deletions
400-SOURCECODE/AIAHTML5.ADMIN.API/Controllers/UserController.cs
@@ -120,9 +120,10 @@ namespace AIAHTML5.ADMIN.API.Controllers | @@ -120,9 +120,10 @@ namespace AIAHTML5.ADMIN.API.Controllers | ||
120 | int userId = jsonData["userId"].Value<Int32>(); | 120 | int userId = jsonData["userId"].Value<Int32>(); |
121 | string tagName = jsonData["tagName"].Value<string>(); | 121 | string tagName = jsonData["tagName"].Value<string>(); |
122 | long SessionId = jsonData["SessionId"].Value<long>(); | 122 | long SessionId = jsonData["SessionId"].Value<long>(); |
123 | + bool isSiteUser = jsonData["isSiteUser"].Value<bool>(); | ||
123 | try | 124 | try |
124 | { | 125 | { |
125 | - Status = UserModel.ManageUserLoginStatus(dbContext, userId, tagName, SessionId); | 126 | + Status = UserModel.ManageUserLoginStatus(dbContext, userId, tagName, SessionId, isSiteUser); |
126 | 127 | ||
127 | return Request.CreateResponse(HttpStatusCode.OK, Status.ToString()); | 128 | return Request.CreateResponse(HttpStatusCode.OK, Status.ToString()); |
128 | } | 129 | } |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.Context.cs
@@ -1262,13 +1262,17 @@ namespace AIAHTML5.ADMIN.API.Entity | @@ -1262,13 +1262,17 @@ namespace AIAHTML5.ADMIN.API.Entity | ||
1262 | return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetLicenseByIPAndAccount_Result>("GetLicenseByIPAndAccount", sSiteIPParameter, sAccountNumberParameter, iEditionIdParameter); | 1262 | return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetLicenseByIPAndAccount_Result>("GetLicenseByIPAndAccount", sSiteIPParameter, sAccountNumberParameter, iEditionIdParameter); |
1263 | } | 1263 | } |
1264 | 1264 | ||
1265 | - public virtual ObjectResult<GetLicenseBySiteId_Result> GetLicenseBySiteId(Nullable<int> sSiteId) | 1265 | + public virtual ObjectResult<GetLicenseBySiteId_Result> GetLicenseBySiteId(Nullable<int> sSiteId, Nullable<int> sEditionId) |
1266 | { | 1266 | { |
1267 | var sSiteIdParameter = sSiteId.HasValue ? | 1267 | var sSiteIdParameter = sSiteId.HasValue ? |
1268 | new ObjectParameter("sSiteId", sSiteId) : | 1268 | new ObjectParameter("sSiteId", sSiteId) : |
1269 | new ObjectParameter("sSiteId", typeof(int)); | 1269 | new ObjectParameter("sSiteId", typeof(int)); |
1270 | 1270 | ||
1271 | - return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetLicenseBySiteId_Result>("GetLicenseBySiteId", sSiteIdParameter); | 1271 | + var sEditionIdParameter = sEditionId.HasValue ? |
1272 | + new ObjectParameter("sEditionId", sEditionId) : | ||
1273 | + new ObjectParameter("sEditionId", typeof(int)); | ||
1274 | + | ||
1275 | + return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetLicenseBySiteId_Result>("GetLicenseBySiteId", sSiteIdParameter, sEditionIdParameter); | ||
1272 | } | 1276 | } |
1273 | 1277 | ||
1274 | public virtual ObjectResult<GetLicenseDetailByUserId_Result> GetLicenseDetailByUserId(Nullable<int> iUserId) | 1278 | public virtual ObjectResult<GetLicenseDetailByUserId_Result> GetLicenseDetailByUserId(Nullable<int> iUserId) |
@@ -4999,7 +5003,7 @@ namespace AIAHTML5.ADMIN.API.Entity | @@ -4999,7 +5003,7 @@ namespace AIAHTML5.ADMIN.API.Entity | ||
4999 | return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("usp_InsertAIAUser", sLoginIdParameter, sPasswordParameter, sFirstnameParameter, sLastnameParameter, iUserTypeIdParameter, sEmailIdParameter, iSecurityQuesIdParameter, sSecurityAnswerParameter, iCreatorIdParameter, iLicenseIdParameter, iEditionIdParameter, status); | 5003 | return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("usp_InsertAIAUser", sLoginIdParameter, sPasswordParameter, sFirstnameParameter, sLastnameParameter, iUserTypeIdParameter, sEmailIdParameter, iSecurityQuesIdParameter, sSecurityAnswerParameter, iCreatorIdParameter, iLicenseIdParameter, iEditionIdParameter, status); |
5000 | } | 5004 | } |
5001 | 5005 | ||
5002 | - public virtual ObjectResult<Nullable<bool>> usp_ManageUserLoginStatus(Nullable<int> userId, string tag, Nullable<long> sessionId) | 5006 | + public virtual ObjectResult<Nullable<bool>> usp_ManageUserLoginStatus(Nullable<int> userId, string tag, Nullable<long> sessionId, Nullable<bool> isSiteUser) |
5003 | { | 5007 | { |
5004 | var userIdParameter = userId.HasValue ? | 5008 | var userIdParameter = userId.HasValue ? |
5005 | new ObjectParameter("userId", userId) : | 5009 | new ObjectParameter("userId", userId) : |
@@ -5013,7 +5017,11 @@ namespace AIAHTML5.ADMIN.API.Entity | @@ -5013,7 +5017,11 @@ namespace AIAHTML5.ADMIN.API.Entity | ||
5013 | new ObjectParameter("sessionId", sessionId) : | 5017 | new ObjectParameter("sessionId", sessionId) : |
5014 | new ObjectParameter("sessionId", typeof(long)); | 5018 | new ObjectParameter("sessionId", typeof(long)); |
5015 | 5019 | ||
5016 | - return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<bool>>("usp_ManageUserLoginStatus", userIdParameter, tagParameter, sessionIdParameter); | 5020 | + var isSiteUserParameter = isSiteUser.HasValue ? |
5021 | + new ObjectParameter("isSiteUser", isSiteUser) : | ||
5022 | + new ObjectParameter("isSiteUser", typeof(bool)); | ||
5023 | + | ||
5024 | + return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<bool>>("usp_ManageUserLoginStatus", userIdParameter, tagParameter, sessionIdParameter, isSiteUserParameter); | ||
5017 | } | 5025 | } |
5018 | } | 5026 | } |
5019 | } | 5027 | } |
400-SOURCECODE/AIAHTML5.ADMIN.API/Entity/AIADBEntity.edmx
@@ -430,6 +430,7 @@ | @@ -430,6 +430,7 @@ | ||
430 | </Function> | 430 | </Function> |
431 | <Function Name="GetLicenseBySiteId" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> | 431 | <Function Name="GetLicenseBySiteId" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> |
432 | <Parameter Name="sSiteId" Type="int" Mode="In" /> | 432 | <Parameter Name="sSiteId" Type="int" Mode="In" /> |
433 | + <Parameter Name="sEditionId" Type="int" Mode="In" /> | ||
433 | </Function> | 434 | </Function> |
434 | <Function Name="GetLicenseDetailByUserId" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> | 435 | <Function Name="GetLicenseDetailByUserId" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> |
435 | <Parameter Name="iUserId" Type="int" Mode="In" /> | 436 | <Parameter Name="iUserId" Type="int" Mode="In" /> |
@@ -1411,6 +1412,7 @@ | @@ -1411,6 +1412,7 @@ | ||
1411 | <Parameter Name="userId" Type="int" Mode="In" /> | 1412 | <Parameter Name="userId" Type="int" Mode="In" /> |
1412 | <Parameter Name="tag" Type="varchar" Mode="In" /> | 1413 | <Parameter Name="tag" Type="varchar" Mode="In" /> |
1413 | <Parameter Name="sessionId" Type="bigint" Mode="In" /> | 1414 | <Parameter Name="sessionId" Type="bigint" Mode="In" /> |
1415 | + <Parameter Name="isSiteUser" Type="bit" Mode="In" /> | ||
1414 | </Function> | 1416 | </Function> |
1415 | <Function Name="usp_SaveLabExerciseAttempts" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> | 1417 | <Function Name="usp_SaveLabExerciseAttempts" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo"> |
1416 | <Parameter Name="UserId" Type="int" Mode="In" /> | 1418 | <Parameter Name="UserId" Type="int" Mode="In" /> |
@@ -1911,6 +1913,7 @@ | @@ -1911,6 +1913,7 @@ | ||
1911 | </FunctionImport> | 1913 | </FunctionImport> |
1912 | <FunctionImport Name="GetLicenseBySiteId" ReturnType="Collection(AIADatabaseV5Model.GetLicenseBySiteId_Result)"> | 1914 | <FunctionImport Name="GetLicenseBySiteId" ReturnType="Collection(AIADatabaseV5Model.GetLicenseBySiteId_Result)"> |
1913 | <Parameter Name="sSiteId" Mode="In" Type="Int32" /> | 1915 | <Parameter Name="sSiteId" Mode="In" Type="Int32" /> |
1916 | + <Parameter Name="sEditionId" Mode="In" Type="Int32" /> | ||
1914 | </FunctionImport> | 1917 | </FunctionImport> |
1915 | <FunctionImport Name="GetLicenseDetailByUserId" ReturnType="Collection(AIADatabaseV5Model.GetLicenseDetailByUserId_Result)"> | 1918 | <FunctionImport Name="GetLicenseDetailByUserId" ReturnType="Collection(AIADatabaseV5Model.GetLicenseDetailByUserId_Result)"> |
1916 | <Parameter Name="iUserId" Mode="In" Type="Int32" /> | 1919 | <Parameter Name="iUserId" Mode="In" Type="Int32" /> |
@@ -3009,6 +3012,7 @@ | @@ -3009,6 +3012,7 @@ | ||
3009 | <Parameter Name="userId" Mode="In" Type="Int32" /> | 3012 | <Parameter Name="userId" Mode="In" Type="Int32" /> |
3010 | <Parameter Name="tag" Mode="In" Type="String" /> | 3013 | <Parameter Name="tag" Mode="In" Type="String" /> |
3011 | <Parameter Name="sessionId" Mode="In" Type="Int64" /> | 3014 | <Parameter Name="sessionId" Mode="In" Type="Int64" /> |
3015 | + <Parameter Name="isSiteUser" Mode="In" Type="Boolean" /> | ||
3012 | </FunctionImport> | 3016 | </FunctionImport> |
3013 | </EntityContainer> | 3017 | </EntityContainer> |
3014 | <ComplexType Name="DA_GetBaseLayer_Result"> | 3018 | <ComplexType Name="DA_GetBaseLayer_Result"> |
400-SOURCECODE/AIAHTML5.ADMIN.API/Models/UserModel.cs
@@ -65,12 +65,12 @@ namespace AIAHTML5.ADMIN.API.Models | @@ -65,12 +65,12 @@ namespace AIAHTML5.ADMIN.API.Models | ||
65 | return false; | 65 | return false; |
66 | } | 66 | } |
67 | } | 67 | } |
68 | - public static bool ManageUserLoginStatus(AIADatabaseV5Entities dbContext, int userId, string tagName, long SessionId) | 68 | + public static bool ManageUserLoginStatus(AIADatabaseV5Entities dbContext, int userId, string tagName, long SessionId, bool isSiteUser) |
69 | { | 69 | { |
70 | bool loginStatus = false; | 70 | bool loginStatus = false; |
71 | try | 71 | try |
72 | { | 72 | { |
73 | - loginStatus = Convert.ToBoolean(dbContext.usp_ManageUserLoginStatus(userId, tagName, SessionId).FirstOrDefault()); | 73 | + loginStatus = Convert.ToBoolean(dbContext.usp_ManageUserLoginStatus(userId, tagName, SessionId, isSiteUser).FirstOrDefault()); |
74 | 74 | ||
75 | return loginStatus; | 75 | return loginStatus; |
76 | } | 76 | } |
400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj.user
@@ -8,6 +8,7 @@ | @@ -8,6 +8,7 @@ | ||
8 | <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected> | 8 | <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected> |
9 | <ProjectView>ProjectFiles</ProjectView> | 9 | <ProjectView>ProjectFiles</ProjectView> |
10 | <NameOfLastUsedPublishProfile>API_Profile</NameOfLastUsedPublishProfile> | 10 | <NameOfLastUsedPublishProfile>API_Profile</NameOfLastUsedPublishProfile> |
11 | + <UseIISExpress>false</UseIISExpress> | ||
11 | </PropertyGroup> | 12 | </PropertyGroup> |
12 | <ProjectExtensions> | 13 | <ProjectExtensions> |
13 | <VisualStudio> | 14 | <VisualStudio> |
400-SOURCECODE/AIAHTML5.API/Constants/DBConstants.cs
@@ -42,6 +42,7 @@ namespace AIAHTML5.API.Constants | @@ -42,6 +42,7 @@ namespace AIAHTML5.API.Constants | ||
42 | public const string INSERT_EXPORTED_IMAGE = "usp_InsertExportedImage"; | 42 | public const string INSERT_EXPORTED_IMAGE = "usp_InsertExportedImage"; |
43 | public const string GET_USER_DETAIL_BYLOGIN_AND_ACCOUNT = "usp_GetUserDetailsByLoginIdandAccount"; | 43 | public const string GET_USER_DETAIL_BYLOGIN_AND_ACCOUNT = "usp_GetUserDetailsByLoginIdandAccount"; |
44 | public const string GET_USER_LOGIN_STATUS = "usp_ManageUserLoginStatus"; | 44 | public const string GET_USER_LOGIN_STATUS = "usp_ManageUserLoginStatus"; |
45 | + public const string GET_AOD_AUTHENTICATION_STATUS = "usp_AodAuthenticationStatus"; | ||
45 | public const string INSERT_SITE_LOGIN_LOG = "usp_InsertSiteLoginLog"; | 46 | public const string INSERT_SITE_LOGIN_LOG = "usp_InsertSiteLoginLog"; |
46 | } | 47 | } |
47 | } | 48 | } |
48 | \ No newline at end of file | 49 | \ No newline at end of file |
400-SOURCECODE/AIAHTML5.API/Controllers/AuthenticateController.cs
@@ -534,8 +534,9 @@ namespace AIAHTML5.API.Controllers | @@ -534,8 +534,9 @@ namespace AIAHTML5.API.Controllers | ||
534 | int userId = jsonData["userId"].Value<int>(); | 534 | int userId = jsonData["userId"].Value<int>(); |
535 | string tagName = jsonData["tagName"].Value<string>(); | 535 | string tagName = jsonData["tagName"].Value<string>(); |
536 | long SessionId = jsonData["SessionId"].Value<long>(); | 536 | long SessionId = jsonData["SessionId"].Value<long>(); |
537 | + bool isSiteUser = jsonData["isSiteUser"].Value<bool>(); | ||
537 | 538 | ||
538 | - loginStatus = AIAHTML5.API.Models.Users.GetUserLoginStatus(userId, tagName, SessionId); | 539 | + loginStatus = AIAHTML5.API.Models.Users.GetUserLoginStatus(userId, tagName, SessionId, isSiteUser); |
539 | 540 | ||
540 | return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(loginStatus) }; | 541 | return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(loginStatus) }; |
541 | } | 542 | } |
@@ -545,6 +546,51 @@ namespace AIAHTML5.API.Controllers | @@ -545,6 +546,51 @@ namespace AIAHTML5.API.Controllers | ||
545 | } | 546 | } |
546 | } | 547 | } |
547 | 548 | ||
549 | + [HttpPost] | ||
550 | + [Route("api/AodAuthentication")] | ||
551 | + public HttpResponseMessage AodAuthentication([FromBody]JObject jsonData) | ||
552 | + { | ||
553 | + ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)); | ||
554 | + int requestStatus = 0; | ||
555 | + try | ||
556 | + { | ||
557 | + string aodpasskey = jsonData["aiapasskey"].Value<string>(); | ||
558 | + long SessionId = jsonData["SessionId"].Value<long>(); | ||
559 | + string CourseId = jsonData["CourseId"].Value<string>(); | ||
560 | + | ||
561 | + logger.Debug("AOD request parameter: Session =" + SessionId +", aodkeypass="+ aodpasskey + ", CourseId=" + CourseId); | ||
562 | + | ||
563 | + string aiaConfigKey= ConfigurationManager.AppSettings["aiapasskey"]; | ||
564 | + | ||
565 | + requestStatus = AIAHTML5.API.Models.Users.ValidateAodAthenticationStatus(SessionId, aiaConfigKey, aodpasskey, CourseId); | ||
566 | + | ||
567 | + switch(requestStatus) | ||
568 | + { | ||
569 | + case 200: | ||
570 | + { | ||
571 | + return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent("authentication successful") }; | ||
572 | + } | ||
573 | + case 401: | ||
574 | + { | ||
575 | + return new HttpResponseMessage { StatusCode = HttpStatusCode.Unauthorized, Content = new StringContent("passing key to api is not valid") }; | ||
576 | + } | ||
577 | + case 404: | ||
578 | + { | ||
579 | + return new HttpResponseMessage { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("session has expired or does not exist") }; | ||
580 | + } | ||
581 | + default: | ||
582 | + { | ||
583 | + return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent("server encountered an unexpected error.") }; | ||
584 | + } | ||
585 | + } | ||
586 | + | ||
587 | + } | ||
588 | + catch (Exception ex) | ||
589 | + { | ||
590 | + return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message); | ||
591 | + } | ||
592 | + } | ||
593 | + | ||
548 | // PUT api/authenticate/5 | 594 | // PUT api/authenticate/5 |
549 | public void Put(int id, [FromBody]string value) | 595 | public void Put(int id, [FromBody]string value) |
550 | { | 596 | { |
@@ -556,5 +602,4 @@ namespace AIAHTML5.API.Controllers | @@ -556,5 +602,4 @@ namespace AIAHTML5.API.Controllers | ||
556 | } | 602 | } |
557 | } | 603 | } |
558 | 604 | ||
559 | - | ||
560 | } | 605 | } |
561 | \ No newline at end of file | 606 | \ No newline at end of file |
400-SOURCECODE/AIAHTML5.API/Controllers/ConfigurationController.cs
@@ -26,15 +26,9 @@ namespace AIAHTML5.API.Controllers | @@ -26,15 +26,9 @@ namespace AIAHTML5.API.Controllers | ||
26 | mconfig.pingInterval = Int32.Parse(ConfigurationManager.AppSettings["PING_INTERVAL"]); | 26 | mconfig.pingInterval = Int32.Parse(ConfigurationManager.AppSettings["PING_INTERVAL"]); |
27 | mconfig.serverPath = ConfigurationManager.AppSettings["ANIMATION_HOSTING_SERVER"]; | 27 | mconfig.serverPath = ConfigurationManager.AppSettings["ANIMATION_HOSTING_SERVER"]; |
28 | mconfig.fileSize = Int32.Parse(ConfigurationManager.AppSettings["UploadMaxFileSize"]); | 28 | mconfig.fileSize = Int32.Parse(ConfigurationManager.AppSettings["UploadMaxFileSize"]); |
29 | - mconfig.aodSiteUrl = ConfigurationManager.AppSettings["Aod_site_Url"]; | ||
30 | - | ||
31 | - var plainkey = ConfigurationManager.AppSettings["aiapasskey"]; | ||
32 | - | ||
33 | - AdamOnDemand aod = new AdamOnDemand(); | ||
34 | - | ||
35 | - mconfig.aodkeypass = aod.Encrypt(plainkey); | ||
36 | 29 | ||
37 | - // var simplekey= aod.Decrypt(mconfig.aodkeypass); | 30 | + mconfig.aodSiteUrl = ConfigurationManager.AppSettings["Aod_site_Url"]; |
31 | + mconfig.aodkeypass = ConfigurationManager.AppSettings["aiapasskey"]; | ||
38 | 32 | ||
39 | responseData = JsonConvert.SerializeObject(mconfig); | 33 | responseData = JsonConvert.SerializeObject(mconfig); |
40 | 34 | ||
@@ -54,166 +48,3 @@ public class MyConfig | @@ -54,166 +48,3 @@ public class MyConfig | ||
54 | public string aodSiteUrl { get; set; } | 48 | public string aodSiteUrl { get; set; } |
55 | public string aodkeypass { get; set; } | 49 | public string aodkeypass { get; set; } |
56 | } | 50 | } |
57 | - | ||
58 | - | ||
59 | -public class AdamOnDemand | ||
60 | -{ | ||
61 | - //Triple Des encription/decription | ||
62 | - public string Encrypt(string plainText) | ||
63 | - { | ||
64 | - string passPhrase = ConfigurationManager.AppSettings["EncryptionKey"].ToString(); | ||
65 | - string saltValue = ConfigurationManager.AppSettings["SaltValue"].ToString(); | ||
66 | - string hashAlgorithm = ConfigurationManager.AppSettings["HashAlgorithm"].ToString(); | ||
67 | - int passwordIterations = Convert.ToInt32(ConfigurationManager.AppSettings["IterationCount"]); | ||
68 | - string initVector = ConfigurationManager.AppSettings["InitVector"].ToString(); | ||
69 | - int keySize = Convert.ToInt32(ConfigurationManager.AppSettings["KeySize"]); ; | ||
70 | - | ||
71 | - | ||
72 | - return EncryptData(plainText, passPhrase, saltValue, hashAlgorithm,passwordIterations, initVector, keySize); | ||
73 | - } | ||
74 | - | ||
75 | - //Triple Des encription/decription | ||
76 | - public string Decrypt(string encryptedText) | ||
77 | - { | ||
78 | - string passPhrase = ConfigurationManager.AppSettings["EncryptionKey"].ToString(); | ||
79 | - string saltValue = ConfigurationManager.AppSettings["SaltValue"].ToString(); | ||
80 | - string hashAlgorithm = ConfigurationManager.AppSettings["HashAlgorithm"].ToString(); | ||
81 | - int passwordIterations = Convert.ToInt32(ConfigurationManager.AppSettings["IterationCount"]); | ||
82 | - string initVector = ConfigurationManager.AppSettings["InitVector"].ToString(); | ||
83 | - int keySize = Convert.ToInt32(ConfigurationManager.AppSettings["KeySize"]); ; | ||
84 | - | ||
85 | - | ||
86 | - return DecryptData(encryptedText, passPhrase, saltValue, hashAlgorithm,passwordIterations, initVector, keySize); | ||
87 | - } | ||
88 | - | ||
89 | - private string EncryptData(string plainText, string passPhrase, string saltValue, string hashAlgorithm,int passwordIterations, string initVector, int keySize) | ||
90 | - { | ||
91 | - // Convert strings into byte arrays. | ||
92 | - // Let us assume that strings only contain ASCII codes. | ||
93 | - // If strings include Unicode characters, use Unicode, UTF7, or UTF8 | ||
94 | - // encoding. | ||
95 | - byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector); | ||
96 | - byte[] saltValueBytes = Encoding.ASCII.GetBytes(saltValue); | ||
97 | - | ||
98 | - // Convert our plaintext into a byte array. | ||
99 | - // Let us assume that plaintext contains UTF8-encoded characters. | ||
100 | - byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); | ||
101 | - | ||
102 | - // First, we must create a password, from which the key will be derived. | ||
103 | - // This password will be generated from the specified passphrase and | ||
104 | - // salt value. The password will be created using the specified hash | ||
105 | - // algorithm. Password creation can be done in several iterations. | ||
106 | - PasswordDeriveBytes password = new PasswordDeriveBytes(passPhrase, saltValueBytes, hashAlgorithm, passwordIterations); | ||
107 | - | ||
108 | - // Use the password to generate pseudo-random bytes for the encryption | ||
109 | - // key. Specify the size of the key in bytes (instead of bits). | ||
110 | - byte[] keyBytes = password.GetBytes(keySize / 8); | ||
111 | - | ||
112 | - // Create uninitialized Rijndael encryption object. | ||
113 | - RijndaelManaged symmetricKey = new RijndaelManaged(); | ||
114 | - | ||
115 | - // It is reasonable to set encryption mode to Cipher Block Chaining | ||
116 | - // (CBC). Use default options for other symmetric key parameters. | ||
117 | - symmetricKey.Mode = CipherMode.CBC; | ||
118 | - | ||
119 | - // Generate encryptor from the existing key bytes and initialization | ||
120 | - // vector. Key size will be defined based on the number of the key | ||
121 | - // bytes. | ||
122 | - ICryptoTransform encryptor = symmetricKey.CreateEncryptor(keyBytes, initVectorBytes); | ||
123 | - | ||
124 | - // Define memory stream which will be used to hold encrypted data. | ||
125 | - MemoryStream memoryStream = new MemoryStream(); | ||
126 | - | ||
127 | - // Define cryptographic stream (always use Write mode for encryption). | ||
128 | - CryptoStream cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write); | ||
129 | - // Start encrypting. | ||
130 | - cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length); | ||
131 | - | ||
132 | - // Finish encrypting. | ||
133 | - cryptoStream.FlushFinalBlock(); | ||
134 | - | ||
135 | - // Convert our encrypted data from a memory stream into a byte array. | ||
136 | - byte[] cipherTextBytes = memoryStream.ToArray(); | ||
137 | - | ||
138 | - // Close both streams. | ||
139 | - memoryStream.Close(); | ||
140 | - cryptoStream.Close(); | ||
141 | - | ||
142 | - // Convert encrypted data into a base64-encoded string. | ||
143 | - string cipherText = Convert.ToBase64String(cipherTextBytes); | ||
144 | - | ||
145 | - // Return encrypted string. | ||
146 | - return cipherText; | ||
147 | - } | ||
148 | - | ||
149 | - private string DecryptData(string encryptedText, string passPhrase, string saltValue, string hashAlgorithm, int passwordIterations, string initVector, int keySize) | ||
150 | - { | ||
151 | - try | ||
152 | - { | ||
153 | - // arrays. Let us assume that strings only contain ASCII codes. | ||
154 | - // If strings include Unicode characters, use Unicode, UTF7, or UTF8 | ||
155 | - // encoding. | ||
156 | - byte[] initVectorBytes = Encoding.ASCII.GetBytes(initVector); | ||
157 | - byte[] saltValueBytes = Encoding.ASCII.GetBytes(saltValue); | ||
158 | - | ||
159 | - // Convert our encryptedvalue into a byte array. | ||
160 | - byte[] cipherTextBytes = Convert.FromBase64String(encryptedText); | ||
161 | - | ||
162 | - // First, we must create a password, from which the key will be | ||
163 | - // derived. This password will be generated from the specified | ||
164 | - // passphrase and salt value. The password will be created using | ||
165 | - // the specified hash algorithm. Password creation can be done in | ||
166 | - // several iterations. | ||
167 | - PasswordDeriveBytes password = new PasswordDeriveBytes(passPhrase, saltValueBytes, hashAlgorithm, passwordIterations); | ||
168 | - | ||
169 | - // Use the password to generate pseudo-random bytes for the encryption | ||
170 | - // key. Specify the size of the key in bytes (instead of bits). | ||
171 | - byte[] keyBytes = password.GetBytes(keySize / 8); | ||
172 | - | ||
173 | - // Create uninitialized Rijndael encryption object. | ||
174 | - RijndaelManaged symmetricKey = new RijndaelManaged(); | ||
175 | - | ||
176 | - // It is reasonable to set encryption mode to Cipher Block Chaining | ||
177 | - // (CBC). Use default options for other symmetric key parameters. | ||
178 | - symmetricKey.Mode = CipherMode.CBC; | ||
179 | - | ||
180 | - // Generate decryptor from the existing key bytes and initialization | ||
181 | - // vector. Key size will be defined based on the number of the key | ||
182 | - // bytes. | ||
183 | - ICryptoTransform decryptor = symmetricKey.CreateDecryptor(keyBytes, initVectorBytes); | ||
184 | - | ||
185 | - // Define memory stream which will be used to hold encrypted data. | ||
186 | - MemoryStream memoryStream = new MemoryStream(cipherTextBytes); | ||
187 | - | ||
188 | - // Define cryptographic stream (always use Read mode for encryption). | ||
189 | - CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read); | ||
190 | - | ||
191 | - // Since at this point we don't know what the size of decrypted data | ||
192 | - // will be, allocate the buffer long enough to hold ciphertext; | ||
193 | - // plaintext is never longer than ciphertext. | ||
194 | - byte[] plainTextBytes = new byte[cipherTextBytes.Length]; | ||
195 | - | ||
196 | - // Start decrypting. | ||
197 | - int decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length); | ||
198 | - | ||
199 | - // Close both streams. | ||
200 | - memoryStream.Close(); | ||
201 | - cryptoStream.Close(); | ||
202 | - | ||
203 | - // Convert decrypted data into a string. | ||
204 | - // Let us assume that the original plaintext string was UTF8-encoded. | ||
205 | - string plainText = Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount); | ||
206 | - | ||
207 | - // Return decrypted string. | ||
208 | - return plainText; | ||
209 | - | ||
210 | - } | ||
211 | - catch( Exception ex) | ||
212 | - { | ||
213 | - return null; | ||
214 | - } | ||
215 | - // Convert strings defining encryption key characteristics into byte | ||
216 | - | ||
217 | - } | ||
218 | - | ||
219 | -} |
400-SOURCECODE/AIAHTML5.API/Models/DBModel.cs
@@ -350,7 +350,7 @@ namespace AIAHTML5.API.Models | @@ -350,7 +350,7 @@ namespace AIAHTML5.API.Models | ||
350 | return objUser; | 350 | return objUser; |
351 | } | 351 | } |
352 | 352 | ||
353 | - internal static string GetUserLoginStatus(int userId,string tagName, long SessionId) | 353 | + internal static string GetUserLoginStatus(int userId,string tagName, long SessionId, bool isSiteUser) |
354 | { | 354 | { |
355 | string status=string.Empty; | 355 | string status=string.Empty; |
356 | DBModel objModel = new DBModel(); | 356 | DBModel objModel = new DBModel(); |
@@ -366,6 +366,7 @@ namespace AIAHTML5.API.Models | @@ -366,6 +366,7 @@ namespace AIAHTML5.API.Models | ||
366 | cmd.Parameters.AddWithValue("@userId", userId); | 366 | cmd.Parameters.AddWithValue("@userId", userId); |
367 | cmd.Parameters.AddWithValue("@tag", tagName); | 367 | cmd.Parameters.AddWithValue("@tag", tagName); |
368 | cmd.Parameters.AddWithValue("@sessionId", SessionId); | 368 | cmd.Parameters.AddWithValue("@sessionId", SessionId); |
369 | + cmd.Parameters.AddWithValue("@isSiteUser", isSiteUser); | ||
369 | adapter = new SqlDataAdapter(cmd); | 370 | adapter = new SqlDataAdapter(cmd); |
370 | adapter.Fill(ds); | 371 | adapter.Fill(ds); |
371 | 372 | ||
@@ -386,6 +387,44 @@ namespace AIAHTML5.API.Models | @@ -386,6 +387,44 @@ namespace AIAHTML5.API.Models | ||
386 | return status; | 387 | return status; |
387 | } | 388 | } |
388 | 389 | ||
390 | + internal static int ValidateAodAthenticationStatus(long SessionId, string aiaConfigKey, string aodpasskey, string CourseId) | ||
391 | + { | ||
392 | + int status = 0; | ||
393 | + DBModel objModel = new DBModel(); | ||
394 | + | ||
395 | + SqlConnection conn = new SqlConnection(dbConnectionString); | ||
396 | + SqlCommand cmd = new SqlCommand(); | ||
397 | + SqlDataAdapter adapter; | ||
398 | + DataSet ds = new DataSet(); | ||
399 | + | ||
400 | + cmd.Connection = conn; | ||
401 | + cmd.CommandText = DBConstants.GET_AOD_AUTHENTICATION_STATUS; | ||
402 | + cmd.CommandType = CommandType.StoredProcedure; | ||
403 | + cmd.Parameters.AddWithValue("@sessionId", SessionId); | ||
404 | + cmd.Parameters.AddWithValue("@aiaConfigKey", aiaConfigKey); | ||
405 | + cmd.Parameters.AddWithValue("@aodpasskey", aodpasskey); | ||
406 | + cmd.Parameters.AddWithValue("@CourseId", CourseId); | ||
407 | + | ||
408 | + adapter = new SqlDataAdapter(cmd); | ||
409 | + adapter.Fill(ds); | ||
410 | + | ||
411 | + if (ds != null && ds.Tables.Count > 0) | ||
412 | + { | ||
413 | + DataTable dt = ds.Tables[0]; | ||
414 | + | ||
415 | + if (dt.Rows.Count > 0) | ||
416 | + { | ||
417 | + foreach (DataRow dr in dt.Rows) | ||
418 | + { | ||
419 | + status =Convert.ToInt32( dr["requestStatus"]); | ||
420 | + | ||
421 | + } | ||
422 | + } | ||
423 | + } | ||
424 | + | ||
425 | + return status; | ||
426 | + } | ||
427 | + | ||
389 | internal User GetSelectedSettings(int userId,bool isSiteUser) | 428 | internal User GetSelectedSettings(int userId,bool isSiteUser) |
390 | { | 429 | { |
391 | logger.Debug(" Inside GetSelectedSettings for userId = " + userId); | 430 | logger.Debug(" Inside GetSelectedSettings for userId = " + userId); |
400-SOURCECODE/AIAHTML5.API/Models/Users.cs
@@ -340,10 +340,17 @@ namespace AIAHTML5.API.Models | @@ -340,10 +340,17 @@ namespace AIAHTML5.API.Models | ||
340 | return objUser; | 340 | return objUser; |
341 | } | 341 | } |
342 | 342 | ||
343 | - internal static string GetUserLoginStatus(int userId, string tagName, long SessionId) | 343 | + internal static string GetUserLoginStatus(int userId, string tagName, long SessionId, bool isSiteUser) |
344 | { | 344 | { |
345 | string status = null; | 345 | string status = null; |
346 | - status = DBModel.GetUserLoginStatus(userId, tagName, SessionId); | 346 | + status = DBModel.GetUserLoginStatus(userId, tagName, SessionId, isSiteUser); |
347 | + | ||
348 | + return status; | ||
349 | + } | ||
350 | + internal static int ValidateAodAthenticationStatus(long SessionId, string aiaConfigKey, string aodpasskey, string CourseId) | ||
351 | + { | ||
352 | + int status = 0; | ||
353 | + status = DBModel.ValidateAodAthenticationStatus(SessionId, aiaConfigKey, aodpasskey, CourseId); | ||
347 | 354 | ||
348 | return status; | 355 | return status; |
349 | } | 356 | } |
400-SOURCECODE/AIAHTML5.API/Web.config
@@ -59,16 +59,10 @@ | @@ -59,16 +59,10 @@ | ||
59 | <add key ="ForgotPasswordEmailTemplate" value="~/Templates/forgot-Password.html"/> | 59 | <add key ="ForgotPasswordEmailTemplate" value="~/Templates/forgot-Password.html"/> |
60 | <add key ="ForgotUserIdEmailTemplate" value="~/Templates/forgot-UserId.html"/> | 60 | <add key ="ForgotUserIdEmailTemplate" value="~/Templates/forgot-UserId.html"/> |
61 | 61 | ||
62 | - <!-- This is for encryption: Added by Birendra--> | 62 | + <!-- Aod used: Added by Birendra--> |
63 | + <!-- Access-Control-Allow-Origin: change origin also to resolve CORS policy on UAT and PROD for AOD domain--> | ||
63 | <add key="Aod_site_Url" value="https://uat.adamondemand.com/"/> | 64 | <add key="Aod_site_Url" value="https://uat.adamondemand.com/"/> |
64 | <add key="aiapasskey" value="as@2$eDu8Jk"/> | 65 | <add key="aiapasskey" value="as@2$eDu8Jk"/> |
65 | - <add key="EncryptionKey" value="I0rw3rthFych@n"/> | ||
66 | - <add key="SaltValue" value="Fl@1Thb3rtaIcH"/> | ||
67 | - <add key="HashAlgorithm" value="SHA1"/> | ||
68 | - <add key="IterationCount" value="2"/> | ||
69 | - <add key="InitVector" value="@1B2c3D4e5F6g7H8"/> | ||
70 | - <add key="KeySize" value="256"/> | ||
71 | - | ||
72 | 66 | ||
73 | <!--<add key ="AIADatabaseV5Context" value="Data Source=192.168.90.53;Initial Catalog=AIADatabaseV5;User ID=AIA_Dev;Password=india123;"/>--> | 67 | <!--<add key ="AIADatabaseV5Context" value="Data Source=192.168.90.53;Initial Catalog=AIADatabaseV5;User ID=AIA_Dev;Password=india123;"/>--> |
74 | <add key ="AIADatabaseV5Context" value="Data Source=LAPTOP-BIRU-PC\SQLEXPRESS;Initial Catalog=AIADatabaseV5;User ID=AIA_Dev;Password=india123;"/> | 68 | <add key ="AIADatabaseV5Context" value="Data Source=LAPTOP-BIRU-PC\SQLEXPRESS;Initial Catalog=AIADatabaseV5;User ID=AIA_Dev;Password=india123;"/> |
@@ -116,6 +110,12 @@ | @@ -116,6 +110,12 @@ | ||
116 | </assemblyBinding> | 110 | </assemblyBinding> |
117 | </runtime> | 111 | </runtime> |
118 | <system.webServer> | 112 | <system.webServer> |
113 | + <httpProtocol> | ||
114 | + <customHeaders> | ||
115 | + <add name="Access-Control-Allow-Origin" value="https://uat.adamondemand.com" /> | ||
116 | + <!--<add name="Access-Control-Allow-Origin" value="https://adamondemand.com" />--> | ||
117 | + </customHeaders> | ||
118 | + </httpProtocol> | ||
119 | <handlers> | 119 | <handlers> |
120 | <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> | 120 | <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> |
121 | <remove name="OPTIONSVerbHandler" /> | 121 | <remove name="OPTIONSVerbHandler" /> |
400-SOURCECODE/AIAHTML5.Web/app/controllers/AODController.js
@@ -354,27 +354,25 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout | @@ -354,27 +354,25 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout | ||
354 | $scope.DisableUI(); | 354 | $scope.DisableUI(); |
355 | $scope.jsPanelID = 'aodImagePanel' + '_' + windowviewid; | 355 | $scope.jsPanelID = 'aodImagePanel' + '_' + windowviewid; |
356 | var tittle = $scope.GetAODwindowStoreData(windowviewid, 'currentViewTitle'); | 356 | var tittle = $scope.GetAODwindowStoreData(windowviewid, 'currentViewTitle'); |
357 | - | ||
358 | - // var aodurl = $rootScope.aodSiteUrl+ $scope.GetAODwindowStoreData(windowviewid, 'aodUrl'); | ||
359 | - // var aodurl = "https://uat.adamondemand.com/"+ $scope.GetAODwindowStoreData(windowviewid, 'aodUrl'); | ||
360 | - var aodurl = "http://localhost:90/Home/CoursePlayerAIATest"; | 357 | + |
358 | + var aodlink = $rootScope.aodDomainName+ $scope.GetAODwindowStoreData(windowviewid, 'aodUrl'); | ||
361 | var courseid = $scope.GetAODwindowStoreData(windowviewid, 'courseId'); | 359 | var courseid = $scope.GetAODwindowStoreData(windowviewid, 'courseId'); |
362 | var uid = $scope.GetAODwindowStoreData(windowviewid, 'uid'); | 360 | var uid = $scope.GetAODwindowStoreData(windowviewid, 'uid'); |
363 | - var key="as@2$eDu8Jk"; | ||
364 | - | 361 | + var aodSiteUrl = aodlink+"?aodkeypass="+$rootScope.aodkeypass+ "&SessionId=" + $rootScope.userData.SessionId + "&Courseid=" + courseid + "&uID=" + uid+ ",_self" |
362 | + | ||
365 | $scope.jsPanelWidth = $(window).outerWidth() - 20; | 363 | $scope.jsPanelWidth = $(window).outerWidth() - 20; |
366 | $scope.jsPanelHeight = $(window).outerHeight() - 140; | 364 | $scope.jsPanelHeight = $(window).outerHeight() - 140; |
367 | $scope.jsPanelLeft = 1; | 365 | $scope.jsPanelLeft = 1; |
368 | $scope.jsPanelTop = 70; | 366 | $scope.jsPanelTop = 70; |
369 | 367 | ||
370 | - if (aodurl.length > 0 ) { | 368 | + if (aodlink.length > 0 ) { |
371 | $scope.jsPanelVideo = $.jsPanel({ | 369 | $scope.jsPanelVideo = $.jsPanel({ |
372 | id: $scope.jsPanelID, | 370 | id: $scope.jsPanelID, |
373 | selector: '.aodView', | 371 | selector: '.aodView', |
374 | theme: 'success', | 372 | theme: 'success', |
375 | currentController: 'AODController', | 373 | currentController: 'AODController', |
376 | parentSlug: $scope.GetAODwindowStoreData(windowviewid, 'parentSlugName'), | 374 | parentSlug: $scope.GetAODwindowStoreData(windowviewid, 'parentSlugName'), |
377 | - content: '<div class="col-sm-12" style="height: 100%;overflow: scroll;" >' + | 375 | + content: '<div style="height: 100%;overflow: scroll;" >' + |
378 | '<iframe name="aodFrame" src="" style="width: 100%;height:100%" id="aodvideo_' + windowviewid + '" onload="MyAODvideoOnLoad(event)"></iframe>'+ | 376 | '<iframe name="aodFrame" src="" style="width: 100%;height:100%" id="aodvideo_' + windowviewid + '" onload="MyAODvideoOnLoad(event)"></iframe>'+ |
379 | // '<object data="' + aodurl + '" width="100%" height="100%" id="aodvideo_' + windowviewid + '" onload="MyAODvideoOnLoad(event)"></object>' + | 377 | // '<object data="' + aodurl + '" width="100%" height="100%" id="aodvideo_' + windowviewid + '" onload="MyAODvideoOnLoad(event)"></object>' + |
380 | '</div><script>$(document).ready(function(){var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) {var threeDivWidth = $("#AODView").css("width");$("#AODView").css({"left":"0px","width":"100%","min-idth": threeDivWidth}); var jspanelContainerWidth = $(".jsPanel-content").css("width"); $(".jsPanel-content").css({ "width": "100%", "min-width": jspanelContainerWidth}); $("#aodImagePanel_' + windowviewid + '").css("width", "100%"); }});</script>', | 378 | '</div><script>$(document).ready(function(){var $ua = navigator.userAgent; if (($ua.match(/(iPod|iPhone|iPad|android)/i))) {var threeDivWidth = $("#AODView").css("width");$("#AODView").css({"left":"0px","width":"100%","min-idth": threeDivWidth}); var jspanelContainerWidth = $(".jsPanel-content").css("width"); $(".jsPanel-content").css({ "width": "100%", "min-width": jspanelContainerWidth}); $("#aodImagePanel_' + windowviewid + '").css("width", "100%"); }});</script>', |
@@ -406,33 +404,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout | @@ -406,33 +404,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout | ||
406 | $scope.SetAODwindowStoreData(windowviewid, 'currentSlug', 'AOD-view-detail'); | 404 | $scope.SetAODwindowStoreData(windowviewid, 'currentSlug', 'AOD-view-detail'); |
407 | $('html, body').animate({ scrollTop: 0 }); | 405 | $('html, body').animate({ scrollTop: 0 }); |
408 | 406 | ||
409 | - postToIframe(aodurl,key,courseid,uid); | ||
410 | - | ||
411 | - // $.post(aodurl, { aiakeypass: "as@2$eDu8Jk",courseid: "as@2$09011209",uid: "as@2$2" }, function (result) { | ||
412 | - | ||
413 | - // }); | ||
414 | - | ||
415 | - | ||
416 | - // $.post("https://uat.adamondemand.com/AodHome/CoursePlayerAIAP/", { aiakeypass: "as@2$eDu8Jk" }, function (result) { | ||
417 | - | ||
418 | - // if (result.Success === true) { | ||
419 | - // alert('ok') | ||
420 | - // $('#aodvideo_' + windowviewid).attr('src', videoUrl); | ||
421 | - | ||
422 | - // // window.open("https://adamondemand.com/AodHome/CoursePlayerAIATest?courseid=" + ProID + "&type=" + productype + "&uID=" + userid, "_self"); | ||
423 | - // } | ||
424 | - // else | ||
425 | - // { | ||
426 | - // alert('failed') | ||
427 | - // } | ||
428 | - | ||
429 | - // }); | ||
430 | - | ||
431 | - | ||
432 | - // $('#aodkey').attr('name',"aiakeypass") | ||
433 | - // $('#aodkey').val($rootScope.aodkeypass); | ||
434 | - // $('#aodform').attr('action',videoUrl).submit(); | ||
435 | - | 407 | + $('#aodvideo_' + windowviewid).attr('src', aodSiteUrl); |
436 | } | 408 | } |
437 | $('#AODView').css("height", $(window).outerHeight() - 20); | 409 | $('#AODView').css("height", $(window).outerHeight() - 20); |
438 | 410 | ||
@@ -443,17 +415,6 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout | @@ -443,17 +415,6 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout | ||
443 | 415 | ||
444 | } | 416 | } |
445 | 417 | ||
446 | - function postToIframe(url,key,courseid,uid){ | ||
447 | - $('body').append('<form action="'+url+'" method="post" target="aodFrame" id="aodform"></form>'); | ||
448 | - $('#aodform').append('<input type="hidden" name="aiakeypass" value="'+key+'" />'+ | ||
449 | - '<input type="hidden" name="courseid" value="'+courseid+'" />'+ | ||
450 | - '<input type="hidden" name="uid" value="'+uid+'" />)' | ||
451 | - ) | ||
452 | - | ||
453 | - //remove form after submit data | ||
454 | - $('#aodform').submit().remove(); | ||
455 | - } | ||
456 | - | ||
457 | $scope.MyAODvideoOnLoad = function (windowviewid) | 418 | $scope.MyAODvideoOnLoad = function (windowviewid) |
458 | { | 419 | { |
459 | $scope.EnableUI(); | 420 | $scope.EnableUI(); |
400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js
@@ -715,7 +715,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -715,7 +715,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
715 | $rootScope.aiaAnimationPath = configresult.serverPath; | 715 | $rootScope.aiaAnimationPath = configresult.serverPath; |
716 | $rootScope.MaxOneFileSize = configresult.fileSize; | 716 | $rootScope.MaxOneFileSize = configresult.fileSize; |
717 | $rootScope.aodkeypass = configresult.aodkeypass; | 717 | $rootScope.aodkeypass = configresult.aodkeypass; |
718 | - $rootScope.aodSiteUrl = configresult.aodSiteUrl; | 718 | + $rootScope.aodDomainName = configresult.aodSiteUrl; |
719 | 719 | ||
720 | var loggedInUser = JSON.parse($scope.currentUserDetails); | 720 | var loggedInUser = JSON.parse($scope.currentUserDetails); |
721 | //incase site user login userid is 0 so then using license id | 721 | //incase site user login userid is 0 so then using license id |
@@ -724,7 +724,8 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -724,7 +724,8 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
724 | $scope.checkuserstatus = { | 724 | $scope.checkuserstatus = { |
725 | userId: userId, | 725 | userId: userId, |
726 | tagName: loggedInUser.Id==0?'logout':'update', | 726 | tagName: loggedInUser.Id==0?'logout':'update', |
727 | - SessionId:loggedInUser.SessionId | 727 | + SessionId:loggedInUser.SessionId, |
728 | + isSiteUser:loggedInUser.isSiteUser | ||
728 | } | 729 | } |
729 | 730 | ||
730 | // this case found when browser closed by user after login. after long time (after 20 min) open site again | 731 | // this case found when browser closed by user after login. after long time (after 20 min) open site again |
@@ -949,7 +950,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -949,7 +950,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
949 | $rootScope.aiaAnimationPath = configresult.serverPath; | 950 | $rootScope.aiaAnimationPath = configresult.serverPath; |
950 | $rootScope.MaxOneFileSize = configresult.fileSize; | 951 | $rootScope.MaxOneFileSize = configresult.fileSize; |
951 | $rootScope.aodkeypass = configresult.aodkeypass; | 952 | $rootScope.aodkeypass = configresult.aodkeypass; |
952 | - $rootScope.aodSiteUrl = configresult.aodSiteUrl; | 953 | + $rootScope.aodDomainName = configresult.aodSiteUrl; |
953 | 954 | ||
954 | }); | 955 | }); |
955 | } | 956 | } |
@@ -1489,7 +1490,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -1489,7 +1490,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
1489 | $rootScope.aiaAnimationPath = configresult.serverPath; | 1490 | $rootScope.aiaAnimationPath = configresult.serverPath; |
1490 | $rootScope.MaxOneFileSize = configresult.fileSize; | 1491 | $rootScope.MaxOneFileSize = configresult.fileSize; |
1491 | $rootScope.aodkeypass = configresult.aodkeypass; | 1492 | $rootScope.aodkeypass = configresult.aodkeypass; |
1492 | - $rootScope.aodSiteUrl = configresult.aodSiteUrl; | 1493 | + $rootScope.aodDomainName = configresult.aodSiteUrl; |
1493 | 1494 | ||
1494 | userInfo.username = result.LoginId; | 1495 | userInfo.username = result.LoginId; |
1495 | userInfo.password = result.Password; | 1496 | userInfo.password = result.Password; |
@@ -1545,7 +1546,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -1545,7 +1546,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
1545 | $rootScope.aiaAnimationPath = configresult.serverPath; | 1546 | $rootScope.aiaAnimationPath = configresult.serverPath; |
1546 | $rootScope.MaxOneFileSize = configresult.fileSize; | 1547 | $rootScope.MaxOneFileSize = configresult.fileSize; |
1547 | $rootScope.aodkeypass = configresult.aodkeypass; | 1548 | $rootScope.aodkeypass = configresult.aodkeypass; |
1548 | - $rootScope.aodSiteUrl = configresult.aodSiteUrl; | 1549 | + $rootScope.aodDomainName = configresult.aodSiteUrl; |
1549 | 1550 | ||
1550 | var loggedInUser = JSON.parse($scope.currentUserDetails); | 1551 | var loggedInUser = JSON.parse($scope.currentUserDetails); |
1551 | //check already login by account number bcz no login id for site login | 1552 | //check already login by account number bcz no login id for site login |
@@ -1990,7 +1991,8 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -1990,7 +1991,8 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
1990 | $rootScope.userStatus = { | 1991 | $rootScope.userStatus = { |
1991 | userId: null, | 1992 | userId: null, |
1992 | tagName: null, | 1993 | tagName: null, |
1993 | - SessionId:null | 1994 | + SessionId:null, |
1995 | + isSiteUser:false | ||
1994 | } | 1996 | } |
1995 | console.log('user session start'); | 1997 | console.log('user session start'); |
1996 | $rootScope.CheckUserSession('insert'); | 1998 | $rootScope.CheckUserSession('insert'); |
@@ -2066,6 +2068,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -2066,6 +2068,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
2066 | $rootScope.userStatus.userId=$rootScope.userData.Id==0?$rootScope.userData.LicenseId:$rootScope.userData.Id; | 2068 | $rootScope.userStatus.userId=$rootScope.userData.Id==0?$rootScope.userData.LicenseId:$rootScope.userData.Id; |
2067 | $rootScope.userStatus.tagName=tagName; | 2069 | $rootScope.userStatus.tagName=tagName; |
2068 | $rootScope.userStatus.SessionId=$rootScope.userData.SessionId; | 2070 | $rootScope.userStatus.SessionId=$rootScope.userData.SessionId; |
2071 | + $rootScope.userStatus.isSiteUser=$rootScope.userData.isSiteUser; | ||
2069 | 2072 | ||
2070 | AuthenticationService.ManageUserLoginStatus($rootScope.userStatus) | 2073 | AuthenticationService.ManageUserLoginStatus($rootScope.userStatus) |
2071 | .then( | 2074 | .then( |
@@ -9132,7 +9135,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | @@ -9132,7 +9135,7 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data | ||
9132 | $("#profileUpdateModal").modal('hide'); | 9135 | $("#profileUpdateModal").modal('hide'); |
9133 | $timeout(function () { | 9136 | $timeout(function () { |
9134 | $rootScope.isRedirectToAdmin=true; | 9137 | $rootScope.isRedirectToAdmin=true; |
9135 | - window.location.href = "Admin"; | 9138 | + window.location.href = "/Admin"; |
9136 | }, 300) | 9139 | }, 300) |
9137 | 9140 | ||
9138 | }; | 9141 | }; |
400-SOURCECODE/Admin/src/app/app.component.ts
@@ -37,7 +37,7 @@ export class AppComponent implements OnInit { | @@ -37,7 +37,7 @@ export class AppComponent implements OnInit { | ||
37 | constructor(private idle: Idle, private keepalive: Keepalive,private titleService: Title,private _confirmService: ConfirmService,private userservice: UserService,private _loadingService: LoadingService, public global: GlobalService, private router: Router,) { | 37 | constructor(private idle: Idle, private keepalive: Keepalive,private titleService: Title,private _confirmService: ConfirmService,private userservice: UserService,private _loadingService: LoadingService, public global: GlobalService, private router: Router,) { |
38 | const projectTitle= this.titleService.getTitle(); | 38 | const projectTitle= this.titleService.getTitle(); |
39 | 39 | ||
40 | - console.log("idleTime: "+this.global.aiaIdleTime+" aiaIdleTimeOut: "+this.global.aiaIdleTimeOut+" Interval: "+this.global.aiaPingInterval); | 40 | + //console.log("idleTime: "+this.global.aiaIdleTime+" aiaIdleTimeOut: "+this.global.aiaIdleTimeOut+" Interval: "+this.global.aiaPingInterval); |
41 | // sets an idle timeout of 20 minutes. | 41 | // sets an idle timeout of 20 minutes. |
42 | this.idle.setIdle(this.global.aiaIdleTime); | 42 | this.idle.setIdle(this.global.aiaIdleTime); |
43 | 43 | ||
@@ -141,9 +141,10 @@ export class AppComponent implements OnInit { | @@ -141,9 +141,10 @@ export class AppComponent implements OnInit { | ||
141 | this.userservice.ManageUserLoginStatus({ | 141 | this.userservice.ManageUserLoginStatus({ |
142 | userId: this.global.UserId, | 142 | userId: this.global.UserId, |
143 | tagName: tagname, | 143 | tagName: tagname, |
144 | - SessionId:this.global.SessionId | 144 | + SessionId:this.global.SessionId, |
145 | + isSiteUser:this.global.isSiteUser | ||
145 | }).subscribe(status => { | 146 | }).subscribe(status => { |
146 | - console.log(status); | 147 | + //console.log(status); |
147 | if(status=='False') | 148 | if(status=='False') |
148 | { | 149 | { |
149 | if(tagname=='logout') | 150 | if(tagname=='logout') |
400-SOURCECODE/Admin/src/app/components/UserEntity/user.service.ts
@@ -56,7 +56,7 @@ export class UserService { | @@ -56,7 +56,7 @@ export class UserService { | ||
56 | 56 | ||
57 | //////////Manage UserLogin Status/////////// | 57 | //////////Manage UserLogin Status/////////// |
58 | ManageUserLoginStatus(obj: any) { | 58 | ManageUserLoginStatus(obj: any) { |
59 | - var jsonData = { 'userId': obj.userId, 'tagName': obj.tagName,'SessionId': obj.SessionId }; | 59 | + var jsonData = { 'userId': obj.userId, 'tagName': obj.tagName,'SessionId': obj.SessionId,'isSiteUser': obj.isSiteUser }; |
60 | console.log(obj); | 60 | console.log(obj); |
61 | var headers = new Headers({ | 61 | var headers = new Headers({ |
62 | 'Content-Type': 'application/json' | 62 | 'Content-Type': 'application/json' |
400-SOURCECODE/Admin/src/app/shared/global.ts
@@ -28,23 +28,37 @@ export class GlobalService { | @@ -28,23 +28,37 @@ export class GlobalService { | ||
28 | aiaIdleTimeOut:number=0; | 28 | aiaIdleTimeOut:number=0; |
29 | aiaPingInterval:number=0; | 29 | aiaPingInterval:number=0; |
30 | SessionId:number=0; | 30 | SessionId:number=0; |
31 | + isSiteUser:boolean=false; | ||
31 | RemoveColumns: Array<string> = ["Serial_No", "LicenseId","RowNum"] | 32 | RemoveColumns: Array<string> = ["Serial_No", "LicenseId","RowNum"] |
32 | error; | 33 | error; |
33 | public href: string = ""; | 34 | public href: string = ""; |
34 | constructor(private csvService: CsvService, private http: Http) { | 35 | constructor(private csvService: CsvService, private http: Http) { |
35 | - this.loggedInUser = JSON.parse(localStorage.getItem("loggedInUserDetails")); | ||
36 | - if (this.loggedInUser != null) { | ||
37 | - this.UserId = this.loggedInUser.Id; | ||
38 | - this.UserType = this.loggedInUser.UserTypeId; | ||
39 | - this.UserTypeName = this.loggedInUser.UserType; | ||
40 | - this.DisplayName = this.loggedInUser.FirstName + " " + this.loggedInUser.LastName; | ||
41 | - this.LoginId=this.loggedInUser.LoginId; | ||
42 | - this.aiaIdleTime=this.loggedInUser.aiaIdleTime; | ||
43 | - this.aiaIdleTimeOut=this.loggedInUser.aiaIdleTimeOut; | ||
44 | - this.aiaPingInterval=this.loggedInUser.aiaPingInterval; | ||
45 | - this.SessionId=this.loggedInUser.SessionId; | 36 | + if(window.location.host=="localhost:4200") |
37 | + { | ||
38 | + // for 'ng serve --open' command | ||
39 | + //**** for localhost:4200 *****// | ||
40 | + var date = new Date(); | ||
41 | + var newsessionid = date.getTime();//timestamp is the number of milliseconds that have passed since January 1, 1970 | ||
42 | + localStorage.setItem('loggedInUserDetails', JSON.stringify( | ||
43 | + { | ||
44 | + "Id": 1, "FirstName": "Maribel", "LastName": "sfsfsfsfsfsfs", "EmailId": "ravi.vishwakarma@ebix.com", "LoginId": "superadmin", "Password": "ebix@2016","aiaIdleTime": 300,"aiaIdleTimeOut": 30,"aiaPingInterval": 10,"SessionId":newsessionid,"isSiteUser":false, "SecurityQuestionId": 1, "SecurityAnswer": "boxer", "CreatorId": 1, "CreationDate": "2009-03-02T00:00:00", "DeactivationDate": null, "ModifierId": 1, "ModifiedDate": "2017-01-24T02:03:19", "UserType": "Super Admin", "UserTypeId": 1, "IsActive": true, "IsCorrectPassword": false, "IncorrectLoginAttemptCount": 0, "IsBlocked": false, "LicenseId": 0, "EditionId": 0, "LoginFailureCauseId": 0, "Modules": [{ "slug": "da-view-list", "name": "Dissectible Anatomy", "id": 1 }, { "slug": "tile-view-list", "name": "Atlas Anatomy", "id": 2 }, { "slug": "3d-anatomy-list", "name": "3D Anatomy", "id": 3 }, { "slug": "clinical-illustrations", "name": "Clinical Illustrations", "id": 4 }, { "slug": "clinical-animations", "name": "Clinical Animations", "id": 5 }, { "slug": "Link/encyclopedia", "name": "Encyclopedia", "id": 6 }, { "slug": "curriculum-builder", "name": "Curriculum Builder", "id": 7 }, { "slug": "anatomy-test", "name": "Anatomy Test", "id": 8 }, { "slug": "Link/IP-10", "name": "IP 10", "id": 9 }, { "slug": "lab-exercises", "name": "Lab Exercises", "id": 10 }, { "slug": "Link/indepth-reports", "name": "In-Depth Reports", "id": 11 }, { "slug": "Link/complementary-and-alternate-medicine", "name": "CAM", "id": 12 }, { "slug": "ADAM-images", "name": "A.D.A.M. Images", "id": 13 }, { "slug": "Link/bodyguide", "name": "Body Guide", "id": 14 }, { "slug": "Link/health-navigator", "name": "Symptom Navigator", "id": 15 }, { "slug": "Link/wellness-tools", "name": "The Wellness Tools", "id": 16 }, { "slug": "Link/aod", "name": "A.D.A.M. OnDemand", "id": 1017 }], "LicenseInfo": { "Id": 0, "AccountNumber": "AIAS000319" }, "LicenseSubscriptions": null, "IsSubscriptionExpired": false, "SubscriptionExpirationDate": null, "TermsAndConditionsTitle": null, "TermsAndConditionsText": null | ||
45 | + })); | ||
46 | + } | ||
47 | + | ||
48 | + this.loggedInUser = JSON.parse(localStorage.getItem("loggedInUserDetails")); | ||
49 | + if (this.loggedInUser != null) { | ||
50 | + this.UserId = this.loggedInUser.Id; | ||
51 | + this.UserType = this.loggedInUser.UserTypeId; | ||
52 | + this.UserTypeName = this.loggedInUser.UserType; | ||
53 | + this.DisplayName = this.loggedInUser.FirstName + " " + this.loggedInUser.LastName; | ||
54 | + this.LoginId=this.loggedInUser.LoginId; | ||
55 | + this.aiaIdleTime=this.loggedInUser.aiaIdleTime; | ||
56 | + this.aiaIdleTimeOut=this.loggedInUser.aiaIdleTimeOut; | ||
57 | + this.aiaPingInterval=this.loggedInUser.aiaPingInterval; | ||
58 | + this.SessionId=this.loggedInUser.SessionId; | ||
59 | + this.isSiteUser=this.loggedInUser.isSiteUser; | ||
46 | 60 | ||
47 | - } | 61 | + } |
48 | 62 | ||
49 | this.NoRecords = 'No Record Found.'; | 63 | this.NoRecords = 'No Record Found.'; |
50 | 64 | ||
@@ -69,20 +83,8 @@ export class GlobalService { | @@ -69,20 +83,8 @@ export class GlobalService { | ||
69 | 83 | ||
70 | } | 84 | } |
71 | 85 | ||
72 | - if (this.resourceBaseUrl == this.ProtocolType+"localhost/API/Adminapi/") { | ||
73 | - if(window.location.host=="localhost:4200") | ||
74 | - { | ||
75 | - // for 'ng serve --open' command | ||
76 | - //**** for localhost:4200 *****// | ||
77 | - var date = new Date(); | ||
78 | - var newsessionid = date.getTime();//timestamp is the number of milliseconds that have passed since January 1, 1970 | ||
79 | - localStorage.setItem('loggedInUserDetails', JSON.stringify( | ||
80 | - { | ||
81 | - "Id": 1, "FirstName": "Maribel", "LastName": "sfsfsfsfsfsfs", "EmailId": "ravi.vishwakarma@ebix.com", "LoginId": "superadmin", "Password": "ebix@2016","aiaIdleTime": 300,"aiaIdleTimeOut": 30,"aiaPingInterval": 10,"SessionId":newsessionid, "SecurityQuestionId": 1, "SecurityAnswer": "boxer", "CreatorId": 1, "CreationDate": "2009-03-02T00:00:00", "DeactivationDate": null, "ModifierId": 1, "ModifiedDate": "2017-01-24T02:03:19", "UserType": "Super Admin", "UserTypeId": 1, "IsActive": true, "IsCorrectPassword": false, "IncorrectLoginAttemptCount": 0, "IsBlocked": false, "LicenseId": 0, "EditionId": 0, "LoginFailureCauseId": 0, "Modules": [{ "slug": "da-view-list", "name": "Dissectible Anatomy", "id": 1 }, { "slug": "tile-view-list", "name": "Atlas Anatomy", "id": 2 }, { "slug": "3d-anatomy-list", "name": "3D Anatomy", "id": 3 }, { "slug": "clinical-illustrations", "name": "Clinical Illustrations", "id": 4 }, { "slug": "clinical-animations", "name": "Clinical Animations", "id": 5 }, { "slug": "Link/encyclopedia", "name": "Encyclopedia", "id": 6 }, { "slug": "curriculum-builder", "name": "Curriculum Builder", "id": 7 }, { "slug": "anatomy-test", "name": "Anatomy Test", "id": 8 }, { "slug": "Link/IP-10", "name": "IP 10", "id": 9 }, { "slug": "lab-exercises", "name": "Lab Exercises", "id": 10 }, { "slug": "Link/indepth-reports", "name": "In-Depth Reports", "id": 11 }, { "slug": "Link/complementary-and-alternate-medicine", "name": "CAM", "id": 12 }, { "slug": "ADAM-images", "name": "A.D.A.M. Images", "id": 13 }, { "slug": "Link/bodyguide", "name": "Body Guide", "id": 14 }, { "slug": "Link/health-navigator", "name": "Symptom Navigator", "id": 15 }, { "slug": "Link/wellness-tools", "name": "The Wellness Tools", "id": 16 }, { "slug": "Link/aod", "name": "A.D.A.M. OnDemand", "id": 1017 }], "LicenseInfo": { "Id": 0, "AccountNumber": "AIAS000319" }, "LicenseSubscriptions": null, "IsSubscriptionExpired": false, "SubscriptionExpirationDate": null, "TermsAndConditionsTitle": null, "TermsAndConditionsText": null | ||
82 | - })); | ||
83 | - } | ||
84 | - | ||
85 | - this.loggedInUser = JSON.parse(localStorage.getItem("loggedInUserDetails")); | 86 | + if (this.resourceBaseUrl == this.ProtocolType+"localhost/API/Adminapi/") { |
87 | + | ||
86 | if (this.UserTypeName == "Client Admin" || this.UserTypeName == "District Admin") { | 88 | if (this.UserTypeName == "Client Admin" || this.UserTypeName == "District Admin") { |
87 | this.AccountNumber = this.loggedInUser.LicenseInfo.AccountNumber | 89 | this.AccountNumber = this.loggedInUser.LicenseInfo.AccountNumber |
88 | } | 90 | } |