using System; using System.Collections.Generic; using System.Linq; using System.Web; using MongoDB.Driver; using MongoDB.Bson; using AIAHTML5.API.Properties; using AIAHTML5.API.Constants; using log4net; using AIAHTML5.API.Models; using Newtonsoft.Json; namespace AIAHTML5.API.Models { public class Users { internal static dynamic GetUserDetailsForAuthenticatedUser(Newtonsoft.Json.Linq.JObject credentials) { ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)); logger.Debug("inside AuthenticateUser for loginId =" + credentials["username"].ToString() + " and password= " + credentials["password"].ToString()); dynamic userDetails = null; try { //var client = new MongoClient(); //var db = client.GetDatabase(Settings.Default.database); //var collection = db.GetCollection("Users"); //FilterDefinition[] filterCondition = { Builders.Filter.Eq("loginId", credentials["username"].ToString()), // Builders.Filter.Eq("password", credentials["password"].ToString())}; //dynamic userDetails = collection.Find(Builders.Filter.And(filterCondition)).SingleOrDefault(); //if (userDetails != null) //{ // logger.Debug("userDetails.loginId= " + userDetails.loginId); // return userDetails; //} //else //{ // return AIAConstants.USER_NOT_FOUND; //} User user = DBModel.GetUserDetailsByLoginIdAndPassword(credentials["username"].ToString(), credentials["password"].ToString()); //string userDetails = DBModel.GetUserDetailsByLoginId2(credentials["username"].ToString()); if (user != null) { logger.Debug("userDetails.loginId= " + user.LoginId); // .loginId); userDetails = JsonConvert.SerializeObject(user); } else { userDetails = AIAConstants.USER_NOT_FOUND; } } catch (Exception e) { logger.Fatal("Exception in AuthenticateUser for loginId =" + credentials["username"].ToString() + " and password= " + credentials["password"].ToString() + "Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace); string errorMessage = AIAConstants.ERROR_IN_FECTHING_DETAILS; string error = "Message: " + e.Message + ", STACKTRACE: " + e.StackTrace; userDetails = errorMessage; } return userDetails; } internal static dynamic GetUserByEmail(Newtonsoft.Json.Linq.JObject userInfo) { ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)); logger.Debug(" inside GetUserByEmail for emailId = " + userInfo["emailId"]); //var client = new MongoClient(); //try //{ // var db = client.GetDatabase(Settings.Default.database); // var collection = db.GetCollection("Users"); // FilterDefinition filterCondition = Builders.Filter.Eq("emailId", userInfo["emailId"].ToString().ToLower()); // dynamic userDetails = collection.Find(Builders.Filter.And(filterCondition)).SingleOrDefault(); // if (userDetails != null) // { // logger.Debug("userDetails= " + userDetails.loginId); // return userDetails; // } // else // { // logger.Debug("user not found"); // return AIAConstants.USER_NOT_FOUND; // } //} //catch (Exception e) //{ // logger.Fatal("Exception= " + e.Message+", stacktrace = "+e.StackTrace); // return AIAConstants.ERROR_IN_FECTHING_DETAILS; //} try { User objUser = DBModel.GetUserDetailsByEmailId(userInfo["emailId"].ToString()); //dynamic userDetails; if (objUser != null) { logger.Debug("userDetails.loginId= " + objUser.LoginId); //return userDetails = JsonConvert.SerializeObject(objUser); return objUser; } else { return AIAConstants.USER_NOT_FOUND; } } catch (Exception ex) { logger.Fatal("Exception in Gettting UserDetailsByEmailId for EmailId =" + userInfo["emailId"].ToString() + " Exception= " + ex.Message + ", STACKTRACE: " + ex.StackTrace); string errorMessage = AIAConstants.ERROR_IN_FECTHING_DETAILS; return errorMessage; } } internal static dynamic UpdatePassword(Newtonsoft.Json.Linq.JObject userInfo) { ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)); //var client = new MongoClient(); try { //var db = client.GetDatabase(Settings.Default.database); //var collection = db.GetCollection("Users"); //var filter = Builders.Filter.Eq("emailId", userInfo["emailId"].ToString()); //var update = Builders.Update.Set("password", userInfo["newPassword"].ToString()).CurrentDate("modifiedDate"); //var result = collection.UpdateOne(filter, update); int result = DBModel.UpdateUserPassword(userInfo); if (result > 0) return result; else return AIAConstants.USER_NOT_FOUND; } catch (Exception e) { logger.Fatal("Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace); return AIAConstants.ERROR_IN_FECTHING_DETAILS; } } internal static dynamic UpdateLicenseTerm(string accNumber) { int result = DBModel.UpdateLicenseTermStatus(accNumber); return result; } } }