public void SaveUserTest() { var sut = new UserPersister(); var user = new User { Email = "*****@*****.**", FirstName = "Louis", LastName = "Salin", Password = "******" }; sut.Save(user); using (var connection = new SqliteConnection("URI=file:Users.db3")) { var query = "SELECT * FROM Users WHERE Email='*****@*****.**';"; using (var cmd = connection.CreateCommand()) { connection.Open(); cmd.CommandText = query; using (var reader = cmd.ExecuteReader()) { reader.Read(); reader["FirstName"].ShouldEqual("Louis"); reader["LastName"].ShouldEqual("Salin"); reader["Email"].ShouldEqual("*****@*****.**"); reader["Password"].ShouldEqual("pass123"); reader.Close(); } connection.Close(); } } }
public void Run(AppArguments arguments) { var firstname = GetFirstName(arguments); var lastname = GetLastName(arguments); var email = GetEmail(arguments); var password = GetPassword(arguments); var user = new User {FirstName = firstname, LastName = lastname, Email = email, Password = password}; persister.Save(user); }
public bool Save(User user) { try { using (var connection = new SqliteConnection("URI=file:Users.db3")) { ExecuteQuery(GetQuery(user)); } } catch (Exception) { return false; } return true; }
private string GetQuery(User user) { string query = ""; bool userFound = false; ExecuteReaderQuery(string.Format("SELECT COUNT(*) AS Count FROM Users WHERE Email='{0}'", user.Email), reader => { reader.Read(); userFound = int.Parse(reader["Count"].ToString()) > 0; }); if (userFound) query = string.Format("UPDATE Users SET FirstName='{0}', LastName='{1}', Password='******' WHERE Email='{3}'", user.FirstName, user.LastName, user.Password, user.Email); else query = string.Format("INSERT INTO Users VALUES ('{0}', '{1}', '{2}', '{3}')", user.FirstName, user.LastName, user.Email, user.Password); return query; }