private void FindPasscodeGreedy(PasscodeState passcode) { if (passcode.Count >= _minLength) { return; } var nextDigits = passcode.GetOrderedNextDigits(); foreach (var digit in nextDigits) { var newPass = passcode.AddValue(digit); if (newPass.RemainingSubstringCount == 0) { if (newPass.Count < _minLength) { _minLength = newPass.Count; _minPasscodes.Clear(); } _minPasscodes.Add(newPass); } else { FindPasscodeGreedy(newPass); } } }
public void ClearPasscode() { using (var db = new SQLiteConnection(_dataBasePath)) { try { PasscodeState passcode = db.Get <PasscodeState>(x => x.HasPasscode); db.DropTable <PasscodeState>(); } catch (Exception exc) { return; } } }
public bool IsValidPin(int pin) { using (var db = new SQLiteConnection(_dataBasePath)) { try { PasscodeState passcode = db.Get <PasscodeState>(x => x.HasPasscode); if (pin.Equals(passcode.Pin)) { return(true); } else { return(false); } } catch (Exception exc) { return(false); } } }
public bool IsPasscodeExist() { using (var db = new SQLiteConnection(_dataBasePath)) { try { PasscodeState passcode = db.Get <PasscodeState>(x => x.HasPasscode); if (passcode != null) { return(passcode.HasPasscode); } else { return(false); } } catch (Exception exc) { return(false); } } }