diff --git a/400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj b/400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj index 02e753f..e0b819e 100644 --- a/400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj +++ b/400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj @@ -14,7 +14,7 @@ AIAHTML5.API AIAHTML5.API v4.5 - true + false @@ -181,7 +181,7 @@ True 63874 / - http://localhost:63874/ + http://localhost/AIAHTML5.API False False http://182.19.10.91/AIAHTML5 diff --git a/400-SOURCECODE/AIAHTML5.API/Constants/DBConstants.cs b/400-SOURCECODE/AIAHTML5.API/Constants/DBConstants.cs index 1205101..68b4053 100644 --- a/400-SOURCECODE/AIAHTML5.API/Constants/DBConstants.cs +++ b/400-SOURCECODE/AIAHTML5.API/Constants/DBConstants.cs @@ -19,6 +19,10 @@ namespace AIAHTML5.API.Constants public const string UPDATE_LICENSE_TERM_STATUS = "UpdateLicenseTermAcceptedStatus"; public const string GET_TERMS_AND_CONDITIONS = "GetTermsAndConditions"; public const string INSERT_LOGIN_DETAIL = "InsertLoginDetail"; + public const string SAVE_SETTINGS = "usp_SaveUserSettings"; + public const string GET_SETTINGS = "usp_GetUserSettings"; + + public const string INSERT_INCORRECT_LOGIN_ATTEMPTS = "InsertIncorrectLoginAttempt"; public const string GET_INCORRECT_LOGIN_ATTEMPTS = "GetIncorrectLoginAttempt"; public const string UPDATE_INCORRECT_LOGIN_ATTEMPTS = "UpdateIncorrectLoginAttempts"; diff --git a/400-SOURCECODE/AIAHTML5.API/Controllers/AuthenticateController.cs b/400-SOURCECODE/AIAHTML5.API/Controllers/AuthenticateController.cs index 0c3887a..1f29337 100644 --- a/400-SOURCECODE/AIAHTML5.API/Controllers/AuthenticateController.cs +++ b/400-SOURCECODE/AIAHTML5.API/Controllers/AuthenticateController.cs @@ -263,6 +263,7 @@ namespace AIAHTML5.API.Controllers // get exported image detail userInfo.UserExportImageDetail = GetLicenseExportImageDetail(userInfo.LicenseId); + // GetUserSelectedSettings(userInfo); } } @@ -361,6 +362,44 @@ namespace AIAHTML5.API.Controllers return insertImageResult; } + + + [HttpPost] + [Route("api/Configuration/SaveUserSettings")] + public HttpResponseMessage SaveUserSettings([FromBody]JObject jsonData) + { + int Status = 0; + dynamic responseData; + User settings = new User(); + + try + { + settings.userselectedModesty = jsonData["Modesty"].Value(); + settings.Id = jsonData["UserId"].Value(); + + settings.userSelectedSkintone = jsonData["skintone"].Value(); + settings.userSelectedFont = null; + + Status = AIAHTML5.API.Models.Users.SaveUserSelectedSettings(settings); + if (Status == -1) + + { + responseData = "1"; + + } + else + { + responseData = AIAConstants.SETTINGS_SAVE_FAILURE; + } + return new HttpResponseMessage { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent(responseData) }; + + } + catch (Exception ex) + { + // Log exception code goes here + return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message); + } + } // PUT api/authenticate/5 public void Put(int id, [FromBody]string value) { diff --git a/400-SOURCECODE/AIAHTML5.API/Models/DBModel.cs b/400-SOURCECODE/AIAHTML5.API/Models/DBModel.cs index e8dd01a..1d66eac 100644 --- a/400-SOURCECODE/AIAHTML5.API/Models/DBModel.cs +++ b/400-SOURCECODE/AIAHTML5.API/Models/DBModel.cs @@ -310,6 +310,68 @@ namespace AIAHTML5.API.Models return objUser; } + internal static User GetSelectedSettings(int userId) + { + logger.Debug(" Inside GetSelectedSettings for emailId = " + userId); + + User objUser = null; + DBModel objModel = new DBModel(); + + SqlConnection conn = new SqlConnection(dbConnectionString); + SqlCommand cmd = new SqlCommand(); + SqlDataAdapter adapter; + SqlParameter param; + DataSet ds = new DataSet(); + + cmd.Connection = conn; + cmd.CommandText = DBConstants.GET_SETTINGS; + cmd.CommandType = CommandType.StoredProcedure; + + param = new SqlParameter("@sEmailId", emailId); + param.Direction = ParameterDirection.Input; + param.DbType = DbType.String; + cmd.Parameters.Add(param); + + adapter = new SqlDataAdapter(cmd); + adapter.Fill(ds); + + + if (ds != null && ds.Tables.Count > 0) + { + DataTable dt = ds.Tables[0]; + + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + int tempVal; + DateTime date; + objUser = new User(); + + objUser.Id = Convert.ToInt32(dr["Id"]); + objUser.FirstName = dr["FirstName"].ToString(); + objUser.LastName = dr["LastName"].ToString(); + objUser.EmailId = dr["EmailId"].ToString(); + objUser.LoginId = dr["LoginId"].ToString(); + objUser.Password = dr["Password"].ToString(); + objUser.SecurityQuestionId = Int32.TryParse(dr["SecurityQuestionId"].ToString(), out tempVal) ? tempVal : (int?)null; + objUser.SecurityAnswer = dr["SecurityAnswer"].ToString(); ; + objUser.CreatorId = Int32.TryParse(dr["CreatorId"].ToString(), out tempVal) ? tempVal : (int?)null; + objUser.CreationDate = Convert.ToDateTime(dr["CreationDate"]); + objUser.DeactivationDate = DateTime.TryParse(dr["DeactivationDate"].ToString(), out date) ? date : (DateTime?)null; + objUser.ModifierId = Int32.TryParse(dr["ModifierId"].ToString(), out tempVal) ? tempVal : (int?)null; + objUser.ModifiedDate = DateTime.TryParse(dr["ModifiedDate"].ToString(), out date) ? date : (DateTime?)null; + objUser.UserTypeId = Convert.ToInt32(dr["UserTypeId"]); + objUser.UserType = objModel.GetUserTypeStringById(Convert.ToInt32(dr["UserTypeId"])); + objUser.IsActive = Convert.ToBoolean(dr["IsActive"]); + logger.Debug("objUser.Id= " + objUser.Id + ",objUser.FirstName= " + objUser.FirstName + ",objUser.LoginId= " + objUser.LoginId + ",objUser.Password= " + objUser.Password + ",objUser.SecurityQuestionId= " + objUser.SecurityQuestionId); + } + } + } + + return objUser; + } + internal static int UpdateUserPassword(dynamic userInfo, string loginId, string emailId) { logger.Debug(" Inside UpdateUserPassword for LoginId: " + loginId + ", EmailId: " + emailId); @@ -637,6 +699,42 @@ namespace AIAHTML5.API.Models return result; } + + internal int SaveSettings(User settings) + { + logger.Debug(" inside InsertSettings for UserId= " + settings.Id); + + int result = 0; + SqlConnection conn = null; + try + { + conn = new SqlConnection(dbConnectionString); + SqlCommand cmd = new SqlCommand(); + conn.Open(); + cmd.Connection = conn; + cmd.CommandText = DBConstants.SAVE_SETTINGS; + cmd.CommandType = CommandType.StoredProcedure; + cmd.Parameters.AddWithValue("@iUserId", settings.Id); + cmd.Parameters.AddWithValue("@iModesty", settings.userselectedModesty); + cmd.Parameters.AddWithValue("@iSkintone",settings. userSelectedSkintone); + // cmd.Parameters.AddWithValue("@ifont", ); + + + result = cmd.ExecuteNonQuery(); + } + catch (SqlException ex) + { + logger.Fatal("Exception in InsertLoginDetails for UserId= " + userId + ", Exception= " + ex.Message + ", STACKTRACE=" + ex.StackTrace); + throw; + } + finally + { + conn.Dispose(); + } + + return result; + } + internal int InsertIncorrectLoginAttempts(int userId) { logger.Debug(" inside InsertIncorrectLoginAttempts for UserId= " + userId); diff --git a/400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js b/400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js index 8d446aa..9170426 100644 --- a/400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js +++ b/400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js @@ -5972,11 +5972,17 @@ function ($rootScope, $scope, Modules, $log, $location, $compile, $timeout, Data $("#modelsettingsbackground").css("display", "none"); } $rootScope.CloseSetting = function () { - - $('#modal-settings').css("display", "none"); - $("#modelsettingsbackground").css("display", "none"); + // $rootScope.errorMessage = LoginMessageConstants.INVALID_USER; + $("#saveSettingsMessageModal").modal('show'); + //$('#modal-settings').css("display", "none"); + //$("#modelsettingsbackground").css("display", "none"); } + $rootScope.saveSettings = function () { + var currentSkintone = $rootScope.globalSetting.ethnicity; + var currentModesty = $rootScope.globalSetting.modesty; + + } $rootScope.UpdateAndCloseSetting = function (setting) { $rootScope.UpdateSetting(setting);