public static async Task <User?> Find(string username) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user?match = contraDB.user.FirstOrDefault(v => v.username == username); return(match != null ? new User(match) : null); }
public static async Task <UserSession?> Find(string token) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user_session?match = contraDB.user_session.SingleOrDefault(v => v.token == token); return(match == null ? null : new UserSession(match)); }
public static async Task <UserSession?> Find(User user) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user_session?match = contraDB.user_session.SingleOrDefault(v => v.username == user.Username); return(match == null ? null : new UserSession(match)); }
public static List <User> List() { using ContraWebDBContext contraDB = new ContraWebDBContext(); return(contraDB.user .OrderBy(v => v.username) .Select(v => new User(v)) .ToList()); }
public static void Remove(User user) { using ContraWebDBContext contraDB = new ContraWebDBContext(); user match = contraDB.user.Single(v => v.username == user.Username); contraDB.user.Remove(match); contraDB.SaveChanges(); }
public static async Task Update(User user) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user match = contraDB.user.Single(v => v.username == user.Username); match.salt = user.Salt; match.password = user.Password; match.role = UserRole.RoleToDatabaseName(user.Role); match.macs = user.MACs.ToArray(); await contraDB.SaveChangesAsync(); }
public static async Task Delete(User user, string token) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user_session?match = contraDB.user_session.FirstOrDefault(v => v.username == user.Username && v.token == token); if (match == null) { return; } contraDB.Remove(match); await contraDB.SaveChangesAsync(); }
public static void Submit(User user) { using ContraWebDBContext contraDB = new ContraWebDBContext(); contraDB.user.Add(new user { username = user.Username, salt = user.Salt, password = user.Password, role = UserRole.RoleToDatabaseName(user.Role), macs = user.MACs.ToArray() }); contraDB.SaveChanges(); }
public static async Task Create(User user, string token) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user_session dbSession = new user_session { username = user.Username, token = token, created_at = DateTime.Now, refreshed_at = DateTime.Now }; contraDB.Add(dbSession); await contraDB.SaveChangesAsync(); }
public static async Task Refresh(User user, string token) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); user_session?match = contraDB.user_session.SingleOrDefault(v => v.username == user.Username && v.token == token); if (match == null) { return; } match.refreshed_at = DateTime.Now; contraDB.Update(match); await contraDB.SaveChangesAsync(); }
public static async Task <List <User> > FindByMAC(PhysicalAddress mac) { await using ContraWebDBContext contraDB = new ContraWebDBContext(); return(contraDB.user.Where(v => v.macs.Contains(mac)).Select(v => new User(v)).ToList()); }