/// <summary> /// Gets all Current Users from our Repository /// </summary> /// <returns>The all users.</returns> public List <IUser> GetAllUsers() { List <IUser> returnValue = new List <IUser>(); Database.DatabaseManager db = null; try { db = new Database.DatabaseManager(_databaseFileLocation); var result = db.Connection.Table <User>(); if (result != null) { foreach (var user in result) { returnValue.Add(user); } } } finally { db.CloseConnection(); } return(returnValue); }
/// <summary> /// Adds a new user to the database /// </summary> /// <param name="user">IUserEntity containing the validated ValueObjects.</param> public bool AddUser(IUserEntity user) { bool returnValue = true; Database.DatabaseManager db = null; try { db = new Database.DatabaseManager(_databaseFileLocation); db.Connection.BeginTransaction(); User insertUser = new User(); insertUser.FirstName = user.FirstName.Value; insertUser.LastName = user.LastName.Value; insertUser.Password = user.Password.Value; db.Connection.Insert(insertUser); db.Connection.Commit(); } catch { db.Connection.Rollback(); returnValue = false; } finally { db.CloseConnection(); } return(returnValue); }
/// <summary> /// Saves a User to the Repository /// </summary> /// <param name="users">User Collection to save</param> public void SaveUsers(List <IUserEntity> users) { Database.DatabaseManager db = null; try { db = new Database.DatabaseManager(_databaseFileLocation); db.Connection.BeginTransaction(); foreach (var current in users) { User insertUser = new User(); insertUser.FirstName = current.FirstName.Value; insertUser.LastName = current.LastName.Value; insertUser.Password = current.Password.Value; db.Connection.Insert(insertUser); } db.Connection.Commit(); } catch { db.Connection.Rollback(); } finally { db.CloseConnection(); } }
/// <summary> /// Registers the UserEntity Table with the Current Database. /// </summary> private void RegisterTable() { Database.DatabaseManager db = null; try { db = new Database.DatabaseManager(_databaseFileLocation); var result = db.Connection.ExecuteScalar <string>(TABLE_VALIDATE_SQL); if (result == null) { db.Connection.CreateTable <User>(); GenerateTestData(); } } finally { db.CloseConnection(); } }