public async Task <TEntity> AddAsync(TEntity entity) { if (entity == null) { throw new ArgumentNullException($"{nameof(AddAsync)} entity must not be null"); } try { await _vehicleContextContext.AddAsync(entity); await _vehicleContextContext.SaveChangesAsync(); return(entity); } catch (Exception ex) { throw new Exception($"{nameof(entity)} could not be saved: {ex.Message}"); } }
public async Task <UserDetails> InsertAsync(UserDetails model, string password) { if (await Entities.AnyAsync(x => x.Username == model.Username)) { throw new ArgumentException("Username: "******" is already taken"); } if (string.IsNullOrWhiteSpace(password)) { throw new ArgumentNullException("Password is required"); } byte[] passwordHash; CreatePasswordHash(password, out passwordHash); model.PasswordHash = passwordHash; await Context.AddAsync(model); await Context.SaveChangesAsync(); return(model); }