private async Task SeedUsersAsync() { if (!this.ctx.Users.Any()) { // Seed admin var adminEmail = "*****@*****.**"; var adminUsername = "******"; var adminPassword = "******"; await this.CreateUserAsync(new UserCreateDto { Email = adminEmail, Username = adminUsername, Password = adminPassword, Role = "Admin" }); // Add some users BlobObjectInfo blobInfo = await this.blobStorageService.GetAsync("Users.json", "unknown"); HttpResponseBodyDto httpResponse = await this.httpService.GetAsync(blobInfo); UserSeedDto[] allUsers = JsonConvert.DeserializeObject <UserSeedDto[]>(httpResponse.Body); foreach (var user in allUsers) { await this.CreateUserAsync(new UserCreateDto { Email = user.Email, Username = user.Username, Password = "******", Role = "User" }); } await this.ctx.SaveChangesAsync(); } }
private async Task SeedTagsAsync() { if (!this.ctx.Tags.Any()) { BlobObjectInfo blobInfo = await this.blobStorageService.GetAsync("Tags.json", "unknown"); HttpResponseBodyDto httpResponse = await this.httpService.GetAsync(blobInfo); Tag[] allTags = JsonConvert.DeserializeObject <Tag[]>(httpResponse.Body); await this.ctx.Tags.AddRangeAsync(allTags); await this.ctx.SaveChangesAsync(); } }
private async Task SeedCommentsAsync() { if (!this.ctx.Comments.Any()) { BlobObjectInfo blobInfo = await this.blobStorageService.GetAsync("Comments.json", "unknown"); HttpResponseBodyDto httpResponse = await this.httpService.GetAsync(blobInfo); Comment[] allComments = JsonConvert.DeserializeObject <Comment[]>(httpResponse.Body); string[] usersIds = this.ctx.Users.Select(i => i.Id).ToArray(); string[] bookIds = this.ctx.Books.Select(b => b.BookId).ToArray(); foreach (var comment in allComments) { comment.UserId = usersIds[this.rnd.Next(0, usersIds.Length)]; comment.BookId = bookIds[this.rnd.Next(0, bookIds.Length)]; } await this.ctx.Comments.AddRangeAsync(allComments); await this.ctx.SaveChangesAsync(); } }