public bool RegisterToken(string cardNumber, out string token) { token = null; if (!string.IsNullOrEmpty(cardNumber) && ContainsOnlyNumbers(cardNumber) && cardNumber.Length == CardLength && cardNumber[0] >= '3' && cardNumber[0] <= '6' && IsLuhnValid(cardNumber)) { lock (cards) { string possibleToken; do { possibleToken = GeneratePossibleToken(cardNumber); } while (cards.ContainsKey(possibleToken)); cards.Add(possibleToken, new Card() { CardNumber = cardNumber, Token = possibleToken }); storage.Save(cards.Values.ToArray()); token = possibleToken; } return(true); } return(false); }
public void Register(Register register) { { if (users.ContainsKey(register.Username)) { throw new Exception("Username taken."); } else { users.Add(register.Username, new User() { Username = register.Username, Password = register.Password, Rights = register.Rights }); storage.Save(users.Values.ToArray()); } } }