public async Task <IActionResult> ResetPassword([FromBody] CreatePassword pwdModel)
        {
            try
            {
                var userMaster = await _context.UserMaster.FindAsync(pwdModel.UserId);

                GenericMethods.HashSalt hashSalt = GenericMethods.GenerateHashSalt(pwdModel.Password);
                userMaster.PasswordSalt          = hashSalt.saltPassword;
                userMaster.PasswordHash          = hashSalt.hashPassword;
                userMaster.LinkExpiryDate        = DateTime.Now;
                _context.Entry(userMaster).State = EntityState.Modified;

                await _context.SaveChangesAsync();

                GenericMethods.Log(LogType.ActivityLog.ToString(), "ResetPassword: "******"-Password created successfully");
            }
            catch (Exception ex)
            {
                GenericMethods.Log(LogType.ErrorLog.ToString(), "ResetPassword: " + ex.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
            //catch (DbUpdateConcurrencyException)
            //{
            //    if (!UserMasterExists(id))
            //    {
            //        return NotFound();
            //    }
            //    else
            //    {
            //        throw;
            //    }
            //}

            return(NoContent());
        }
        public async Task <IActionResult> ChangePassword([FromBody] ChangePassword pwdModel)
        {
            try
            {
                if (this.ModelState.IsValid)
                {
                    var userMaster = await _context.UserMaster.FindAsync(pwdModel.UserId);

                    if (userMaster != null && GenericMethods.VerifyPassword(pwdModel.OldPassword, userMaster.PasswordHash, userMaster.PasswordSalt))
                    {
                        GenericMethods.HashSalt hashSalt = GenericMethods.GenerateHashSalt(pwdModel.NewPassword);
                        userMaster.PasswordSalt = hashSalt.saltPassword;
                        userMaster.PasswordHash = hashSalt.hashPassword;

                        _context.Entry(userMaster).State = EntityState.Modified;

                        await _context.SaveChangesAsync();

                        GenericMethods.Log(LogType.ActivityLog.ToString(), "ChangePassword: "******"-Password changed successfully");
                        return(Ok("Password changed successfully!"));
                    }
                    else
                    {
                        return(BadRequest("Old password is not matched with current password!"));
                    }
                }
                else
                {
                    return(BadRequest("Failed to change password!"));
                }
            }
            catch (Exception ex)
            {
                GenericMethods.Log(LogType.ErrorLog.ToString(), "ChangePassword: " + ex.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }