@using Microsoft.AspNetCore.Localization @using OneForMe.Services @inject LocalizationService Localizer @inject IConfiguration Configuration @model DashboardViewModel @{ ViewData["Title"] = Localizer["Dashboard"]; }

@Localizer["Welcome", Configuration["AppName"] ?? "OneForMe"]

@Localizer.Get("CreateNewOrder")

@Localizer.Get("StartGroupOrder")

@Localizer.Get("CreateNewOrder")
@Localizer.Get("JoinOrder")

@Localizer.Get("JoinExistingOrder")


@Localizer.Get("MyCreatedOrders")

@if (Model.CreatedOrders.Any()) {
@foreach (var order in Model.CreatedOrders) {
@order.Name @Localizer.Get(order.IsClosed ? (order.IsCompleted ? "Completed" : "Closed") : "Open")

@Localizer.Get("Code"): @order.OrderCode
@Localizer.Get("Created"): @order.CreatedAt.ToString("MMM dd, yyyy HH:mm")
@Localizer.Get("Items"): @order.MenuItems.Count | @Localizer.Get("Orders"): @order.OrderItems.Count

@Localizer.Get("Total"): @Localizer["Currency", order.OrderItems.Sum(oi => oi.MenuItem.Price * oi.Quantity).ToString("F2")]

}
} else {
@Localizer.Get("NoCreatedOrders")
}

@Localizer.Get("OrdersIJJoined")

@if (Model.JoinedOrders.Any()) {
@foreach (var order in Model.JoinedOrders) { var myItems = order.OrderItems.Where(oi => oi.ParticipantEmail == User.Identity?.Name || oi.ParticipantName == User.Identity?.Name).ToList();
@order.Name @Localizer.Get(order.IsClosed ? (order.IsCompleted ? "Completed" : "Closed") : "Open")

@Localizer.Get("Code"): @order.OrderCode
@Localizer.Get("CreatedBy"): @order.CreatorName
@Localizer.Get("MyItems"): @myItems.Count

@Localizer.Get("IOwe"): @Localizer["Currency", myItems.Sum(oi => (oi.MenuItem?.Price ?? 0) * oi.Quantity).ToString("F2")]

}
} else {
@Localizer.Get("NoJoinedOrders")
}