Skip to content

Commit

Permalink
Refactor cart service
Browse files Browse the repository at this point in the history
  • Loading branch information
kuro-vale committed Sep 3, 2022
1 parent c5e9ead commit 18e3f17
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 13 deletions.
9 changes: 1 addition & 8 deletions Pages/Desserts.razor
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
@if (CartService.DessertModalShowed)
{
<DessertModal Order="CartService.Order" OnCancel="CartService.HideDessertModal"
OnConfirm="ConfirmOrder"/>
OnConfirm="() => CartService.ConfirmOrder(MessageService)"/>
}

@code {
Expand All @@ -43,11 +43,4 @@
_desserts = await HttpClient.GetFromJsonAsync<List<Dessert>>(NavigationManager.BaseUri + "api/desserts");
}

private void ConfirmOrder()
{
CartService.Cart.Orders!.Add(CartService.Order!);
CartService.Order = null;
MessageService.SendMessage();
CartService.DessertModalShowed = false;
}
}
12 changes: 10 additions & 2 deletions Services/CartService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ namespace kuro_desserts.Services;

public class CartService
{
public bool DessertModalShowed { get; set; }
public Order? Order { get; set; }
public bool DessertModalShowed { get; private set; }
public Order? Order { get; private set; }

public Cart Cart { get; } = new()
{
Expand All @@ -31,6 +31,14 @@ public void HideDessertModal()
Order = null;
DessertModalShowed = false;
}

public void ConfirmOrder(MessageService messageService)
{
Cart.Orders!.Add(Order!);
Order = null;
messageService.SendMessage();
DessertModalShowed = false;
}

public void RemoveOrder(Order order)
{
Expand Down
14 changes: 11 additions & 3 deletions Shared/Modals/DessertModal.razor
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
<label class="form-label">Size:</label>
<span class="badge text-bg-info">@Order.Size oz</span>
<input type="range" class="form-range" min="9" max="24" @bind="Order.Size" @bind:event="oninput">
<p class="text-danger text-start mb-0 mx-3">*required</p>
<select class="form-select mb-3" @bind-Value="@Order.FlavorId" @onchange="EnableButton">
<p class="text-danger text-start mb-0 mx-3 mt-3">*required</p>
<select class="form-select mb-3" @onchange="EnableButton">
<option value="" selected>Select your flavor</option>
@if (_flavors != null)
{
Expand Down Expand Up @@ -88,7 +88,15 @@

private void EnableButton(ChangeEventArgs e)
{
_flavorSelected = e.Value!.ToString() != "";
if (e.Value!.ToString() == "")
{
_flavorSelected = false;
}
else
{
_flavorSelected = true;
Order.FlavorId = Guid.Parse(e.Value.ToString()!);
}
}

}

0 comments on commit 18e3f17

Please sign in to comment.