public static async Task Main(string[] args) { var configuration = new ConfigurationBuilder() .AddJsonFile(SettingsFileName) .Build(); var databaseSettings = configuration.GetSettings <DatabaseSettings>(); var database = new SubmarineDatabaseBuilder() .WithConnectionString(databaseSettings.ConnectionString) .WithConvention(new EnumRepresentationConvention(BsonType.String)) .Build(); var userCollection = database.GetEntityCollection <UserEntity>(); var licenseCollection = database.GetEntityCollection <LicenseEntity>(); var hashedPassword = BCrypt.Net.BCrypt.HashPassword("password"); var isValidPassword = BCrypt.Net.BCrypt.Verify("password", hashedPassword); Console.WriteLine($"Generated Valid Password: {isValidPassword}"); var user = new UserEntity { Id = Guid.NewGuid(), EmailAddress = "*****@*****.**", Password = hashedPassword, FriendlyName = "Joshua Crowe", UserName = "******", Roles = new List <UserRole> { UserRole.Standard } }; await userCollection.InsertOneAsync(user); var product = new LicenseProductEntity { Name = "Submarine", Expiration = DateTime.UtcNow.AddYears(1) }; var licenseKeyBytes = Encoding.UTF8.GetBytes("licenseKey"); var licenseKey = Convert.ToBase64String(licenseKeyBytes); var hashedLicenseKey = BCrypt.Net.BCrypt.HashPassword(licenseKey); var license = new LicenseEntity { Id = Guid.NewGuid(), UserId = user.Id, Key = hashedLicenseKey, Products = new List <LicenseProductEntity> { product } }; await licenseCollection.InsertOneAsync(license); Console.WriteLine($"Inserted User '{user.Id}' with License '{license.Id}'"); }
public static LicenseProductDto ToDto(this LicenseProductEntity licenseProduct) { return(new LicenseProductDto { Name = licenseProduct.Name, Expiration = licenseProduct.Expiration }); }
public TestLicenseEntityBuilder WithProduct(LicenseProductEntity product) { _products.Add(product); return(this); }