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();
            }
        }