Skip to content

Commit 238d09b

Browse files
Refactor MenusContext and Runner class constructors
- Updated MenusContext to initialize _restaurantId inline. - Fixed typo in Program.cs method name from AddAddtionalCardsAsync to AddAdditionalCardsAsync. - Refactored Runner class to use constructor parameters directly. - Replaced private _menusContext field with menusContext parameter in relevant methods.
1 parent b54db71 commit 238d09b

File tree

3 files changed

+16
-29
lines changed

3 files changed

+16
-29
lines changed

2_Libs/EFCore/Cosmos/MenusContext.cs

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
using Microsoft.EntityFrameworkCore;
22
using Microsoft.Extensions.Options;
33

4-
internal class MenusContext : DbContext
4+
internal class MenusContext(DbContextOptions<MenusContext> options, IOptions<RestaurantConfiguration> restaurantOptions) : DbContext(options)
55
{
6-
private readonly string _restaurantId;
7-
8-
public MenusContext(DbContextOptions<MenusContext> options, IOptions<RestaurantConfiguration> restaurantOptions)
9-
: base(options)
10-
{
11-
_restaurantId = restaurantOptions.Value.RestaurantId ?? throw new System.Exception("restaurantid required");
12-
}
6+
private readonly string _restaurantId = restaurantOptions.Value.RestaurantId ?? throw new System.Exception("restaurantid required");
137

148
public DbSet<MenuCard> MenuCards => Set<MenuCard>();
159

2_Libs/EFCore/Cosmos/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,6 @@
2323
await runner.CreateDatabaseAsync();
2424

2525
await runner.AddMenuCardAsync();
26-
await runner.AddAddtionalCardsAsync();
26+
await runner.AddAdditionalCardsAsync();
2727
await runner.ShowCardsAsync();
2828
await runner.DeleteDatabaseAsync();

2_Libs/EFCore/Cosmos/Runner.cs

+13-20
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,22 @@ internal class RestaurantConfiguration
66
public string? RestaurantId { get; set; }
77
}
88

9-
internal class Runner
9+
internal class Runner(MenusContext menusContext, IOptions<RestaurantConfiguration> options)
1010
{
11-
private readonly string _restaurantId;
12-
private readonly MenusContext _menusContext;
13-
14-
public Runner(MenusContext menusContext, IOptions<RestaurantConfiguration> options)
15-
{
16-
_menusContext = menusContext;
17-
_restaurantId = options.Value.RestaurantId ?? throw new ArgumentException("restaurant-id required");
18-
}
11+
private readonly string _restaurantId = options.Value.RestaurantId ?? throw new ArgumentException("restaurant-id required");
1912

2013
public async Task CreateDatabaseAsync()
2114
{
22-
await _menusContext.Database.EnsureCreatedAsync();
15+
await menusContext.Database.EnsureCreatedAsync();
2316
}
2417

2518
public async Task AddMenuCardAsync()
2619
{
2720
Console.WriteLine(nameof(AddMenuCardAsync));
2821
MenuCard soupCard = new("Soups", _restaurantId);
2922

30-
MenuItem[] soups = new MenuItem[]
31-
{
23+
MenuItem[] soups =
24+
[
3225
new("Consommé Célestine (with shredded pancake)")
3326
{
3427
Price = 4.8m
@@ -41,33 +34,33 @@ public async Task AddMenuCardAsync()
4134
{
4235
Price = 4.8m
4336
}
44-
};
37+
];
4538

4639
foreach (var soup in soups)
4740
{
4841
soupCard.MenuItems.Add(soup);
4942
}
5043

51-
_menusContext.MenuCards.Add(soupCard);
44+
menusContext.MenuCards.Add(soupCard);
5245

53-
int records = await _menusContext.SaveChangesAsync();
46+
int records = await menusContext.SaveChangesAsync();
5447
Console.WriteLine($"{records} added");
5548
Console.WriteLine();
5649
}
5750

58-
public async Task AddAddtionalCardsAsync()
51+
public async Task AddAdditionalCardsAsync()
5952
{
6053
Random random = new();
6154
var menus = Enumerable.Range(1, 10).Select(i => new MenuItem($"menu {i}") { Price = random.Next(8) }).ToList();
6255
var cards = Enumerable.Range(1, 5).Select(i => new MenuCard($"card {i}", _restaurantId) { MenuItems = menus });
6356

64-
await _menusContext.MenuCards.AddRangeAsync(cards);
65-
await _menusContext.SaveChangesAsync();
57+
await menusContext.MenuCards.AddRangeAsync(cards);
58+
await menusContext.SaveChangesAsync();
6659
}
6760

6861
public async Task ShowCardsAsync()
6962
{
70-
var cards = await _menusContext.MenuCards
63+
var cards = await menusContext.MenuCards
7164
.Where(c => c.IsActive)
7265
.Where(c => c.Title == "Soups")
7366
.WithPartitionKey(_restaurantId)
@@ -88,7 +81,7 @@ public async Task DeleteDatabaseAsync()
8881
string? input = Console.ReadLine();
8982
if (input?.ToLower() == "y")
9083
{
91-
bool deleted = await _menusContext.Database.EnsureDeletedAsync();
84+
bool deleted = await menusContext.Database.EnsureDeletedAsync();
9285
string deletionInfo = deleted ? "deleted" : "not deleted";
9386
Console.WriteLine($"database {deletionInfo}");
9487
}

0 commit comments

Comments
 (0)