public bool SaveOTP(OTPDTO otp) { OTPMaster otpmaster = new OTPMaster(); ObjectMapper.Map(otp, otpmaster); return(SecurityRepository.SaveOTP(otpmaster)); }
/// <summary> /// Change password of User /// </summary> /// <param name="GUID"> uniqe string </param> /// <param name="Password">password entered by user</param> /// <returns></returns> public bool ChangePassword(string GUID, string Password) { int OTPExirationHrs = Convert.ToInt32(AppUtil.GetAppSettings(AspectEnums.ConfigKeys.OTPExirationHrs)); DateTime StartTime = DateTime.Now.Subtract(new TimeSpan(OTPExirationHrs, 0, 0)); DateTime EndTime = DateTime.Now; OTPMaster objOTP = AccuitAdminDbContext.OTPMasters.FirstOrDefault(k => k.CreatedDate >= StartTime && k.CreatedDate <= EndTime && k.GUID == GUID); if (objOTP != null) { UserMaster user = AccuitAdminDbContext.UserMasters.FirstOrDefault(k => k.UserID == objOTP.UserID && !k.isDeleted); user.Password = EncryptionEngine.EncryptString(Password); user.AccountStatus = (int)AspectEnums.UserLoginStatus.Active; user.ModifiedDate = DateTime.Now; user.ModifiedBy = objOTP.UserID; AccuitAdminDbContext.Entry <UserMaster>(user).State = System.Data.Entity.EntityState.Modified; //Delete all previous OTPs foreach (var o in AccuitAdminDbContext.OTPMasters.Where(k => k.UserID == user.UserID)) { AccuitAdminDbContext.OTPMasters.Remove(o); } return(AccuitAdminDbContext.SaveChanges() > 0); } else { return(false); } }
/// <summary> /// Authenticate OTP (One Time Password) entered by user /// </summary> /// <param name="userid">Userid</param> /// <param name="otp">One Time Password</param> /// <returns>reurns true if user have enterered latest OTP</returns> public bool AuthenticateOTP(long userid, string otp, out string GuidString, out int MaxAttempts) { OTPMaster ObjOTP = DbContext.OTPMasters.OrderByDescending(k => k.CreatedDate).FirstOrDefault(k => k.UserID == userid); GuidString = ""; MaxAttempts = 0; if (ObjOTP != null) { MaxAttempts = ObjOTP.Attempts.Value; if (ObjOTP.OTP == otp) { GuidString = ObjOTP.GUID; return(true); } else { ObjOTP.Attempts = ++MaxAttempts; DbContext.Entry <OTPMaster>(ObjOTP).State = System.Data.Entity.EntityState.Modified; DbContext.SaveChanges(); // TBD } } //} return(false); }
public IHttpActionResult PostOTPMaster(OTPMaster oTPMaster) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.OTPMasters.Add(oTPMaster); try { db.SaveChanges(); } catch (DbUpdateException) { if (OTPMasterExists(oTPMaster.requestId)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = oTPMaster.requestId }, oTPMaster)); }
public IHttpActionResult PutOTPMaster(int id, OTPMaster oTPMaster) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != oTPMaster.requestId) { return(BadRequest()); } db.Entry(oTPMaster).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!OTPMasterExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetRequest(decimal aadharNo, string eUid, string type) { //Getting id and birth day from aadhar number var data = from asd in db.AadharMasters where asd.aadharNo == aadharNo select new { asd.id, asd.dob }; int id = 0; System.DateTime dob = System.DateTime.Now; foreach (var item in data) { id = item.id; dob = Convert.ToDateTime(item.dob); } //It can be improved. DateTime today = DateTime.Today; int age = today.Year - dob.Year; if (dob > today.AddYears(-age)) { age--; } IntigrationMaster im = new IntigrationMaster() { id = id, aadharNo = aadharNo, externalUniqueId = eUid, clientType = type, requestDateTime = DateTime.Now }; db.IntigrationMasters.Add(im); db.SaveChanges(); int newRequestID = im.requestId; Random rnd = new Random(); int motp = rnd.Next(1000, 9999); int eotp = rnd.Next(100000, 999999); OTPMaster om = new OTPMaster() { requestId = newRequestID, mOTP = motp, eOTP = eotp }; db.OTPMasters.Add(om); db.SaveChanges(); var cinfo = from asd in db.ContectMasters where asd.id == id && asd.isPrimary == true select asd; decimal pno = 0; string email = null; foreach (var item in cinfo) { pno = Convert.ToDecimal(item.phoneNumber); email = item.emailId; } var result = new { requestId = newRequestID, Age = age, phoneNo = pno, emailId = email }; return(Ok(result)); }
public UserMaster GetUserByGUID(string GUID) { OTPMaster objOTP = HIQAdminContext.OTPMasters.FirstOrDefault(x => x.GUID == GUID); if (objOTP != null) { return(HIQAdminContext.UserMasters.FirstOrDefault(k => k.UserID == objOTP.UserID)); } return(null); }
public IHttpActionResult GetOTPMaster(int id) { OTPMaster oTPMaster = db.OTPMasters.Find(id); if (oTPMaster == null) { return(NotFound()); } return(Ok(oTPMaster)); }
/// <summary> /// save OTP (One Time Password) to database /// </summary> /// <param name="otp"> Object of OTP</param> /// <returns>returns true when data is saved</returns> public bool SaveOTP(OTPMaster otp) { bool IsSuccess = false; // In case from Generating OTP from Automatic redirect to Change Password because of not complex password multiple OTPs can be generated // Use this validation to restrict user to generate multiple OTPs //if (ValidateEmployee(otp.UserID, AspectEnums.EmployeeValidationType.LastAttemptDuration)) //{ DbContext.OTPMasters.Add(otp); IsSuccess = DbContext.SaveChanges() > 0; //} return(IsSuccess); }
/// <summary> /// save OTP (One Time Password) to database /// </summary> /// <param name="otp"> Object of OTP</param> /// <returns>returns true when data is saved</returns> public bool SaveOTP(OTPMaster otp) { bool IsSuccess = false; // In case from Generating OTP from Automatic redirect to Change Password because of not complex password multiple OTPs can be generated // Use this validation to restrict user to generate multiple OTPs if (ValidateUser(otp.UserID, AspectEnums.UserValidationType.LastAttemptDuration)) { HIQAdminContext.Entry(otp).State = EntityState.Added; IsSuccess = HIQAdminContext.SaveChanges() > 0; } return(IsSuccess); }
/// <summary> /// Get UserID By Employee Code given in parameter /// </summary> /// <param name="EmplCode"></param> /// <returns></returns> //public long? GetUserIDByEmployeeCode(string EmplCode) //{ // UserMaster user = null; // user = HIQAdminContext.UserMasters.FirstOrDefault(k => k.EmplCode == EmplCode && !k.IsDeleted); // if (user != null) // return user.UserID; // else // return null; //} /// <summary> /// Validate GUID in the link of forget password email /// </summary> /// <param name="GUID"> uniqe string </param> /// <returns>true if GUID in the URL is correct</returns> public bool ValidateGUID(string GUID) { int OTPExirationHrs = Convert.ToInt32(AppUtil.GetAppSettings(AspectEnums.ConfigKeys.OTPExirationHrs)); DateTime StartTime = DateTime.Now.Subtract(new TimeSpan(OTPExirationHrs, 0, 0)); DateTime EndTime = DateTime.Now.AddMinutes(1); OTPMaster objOTP = HIQAdminContext.OTPMasters.FirstOrDefault(k => k.CreatedDate >= StartTime && k.CreatedDate <= EndTime && k.GUID == GUID); if (objOTP != null) { return(true); } return(false); }
public IHttpActionResult DeleteOTPMaster(int id) { OTPMaster oTPMaster = db.OTPMasters.Find(id); if (oTPMaster == null) { return(NotFound()); } db.OTPMasters.Remove(oTPMaster); db.SaveChanges(); return(Ok(oTPMaster)); }
/// <summary> /// Change password of User /// </summary> /// <param name="GUID"> uniqe string </param> /// <param name="Password">password entered by user</param> /// <returns></returns> public bool ChangePassword(string GUID, string Password) { int OTPExirationHrs = Convert.ToInt32(AppUtil.GetAppSettings(AspectEnums.ConfigKeys.OTPExirationHrs)); DateTime StartTime = DateTime.Now.Subtract(new TimeSpan(OTPExirationHrs, 0, 0)); DateTime EndTime = DateTime.Now; OTPMaster objOTP = HIQAdminContext.OTPMasters.FirstOrDefault(k => k.CreatedDate >= StartTime && k.CreatedDate <= EndTime && k.GUID == GUID); if (objOTP != null) { UserMaster user = HIQAdminContext.UserMasters.FirstOrDefault(k => k.UserID == objOTP.UserID && !k.IsDeleted); user.Password = EncryptionEngine.EncryptString(Password); HIQAdminContext.Entry(user).State = EntityState.Modified; //Delete all previous OTPs foreach (var o in HIQAdminContext.OTPMasters.Where(k => k.UserID == user.UserID)) { HIQAdminContext.OTPMasters.Remove(o); } return(HIQAdminContext.SaveChanges() > 0); } return(false); }
public int saveOTP(UserAccounts ua) { int result = 0; using (db = new iGratifyEntities()) { try { OTPMaster otp = new OTPMaster(); otp.UserId = ua.UserID; otp.Email = ua.Email; otp.Mobile = ua.MobileNo; otp.OTP = ua.OTP; db.OTPMasters.Add(otp); db.SaveChanges(); return(result = 1); } catch (Exception e) { return(result = -1); } } }