gehgassi_backend/gehGassi.Web/Views/Order/_DetailsCustomer.cshtml

278 lines
16 KiB
Plaintext

@using Microsoft.AspNetCore.Mvc.Localization
@using gehGassi.Web.Helper
@using gehGassi.Web.Models
@using Microsoft.Extensions.Localization
@using gehGassi.Domain.Users
@using gehGassi.Core.Services
@using Microsoft.Graph.Models
@inject IViewLocalizer Localizer
@inject ICountryService countryService
@model gehGassi.Web.Models.OrderVm
@{
IStringLocalizer annotationsLocalizer = ViewBag.AnnotationsLocalizer;
ViewData["Title"] = Localizer["Button_Details"];
ApplicationUser applicationUser = ViewBag.ApplicationUser;
OrderAddressVm deliveryAddress = Model.DeliveryAddress;
if (Model.DeliveryAddressIsBilling)
{
deliveryAddress = Model.BillingAddress;
}
}
<section id="orderDetailsCustomerContainer">
<div>
<div id="pageTitleAdd" style="display: none;">@ViewData["Title"]</div>
</div>
<div class="form">
<div id="tabContainer">
<div class="e-tab-header">
<div>@Localizer["Order_Tab_Info"]</div>
<div>@Localizer["Order_Tab_Billing"]</div>
<div>@Localizer["Order_Tab_Delivery"]</div>
<div>@Localizer["Order_Tab_Products"]</div>
</div>
<div class="e-content">
<div class="pt-3 ">
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="Number"></label></div>
<div class="col-6 col-md-9">@Model.Number</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="UniqueId"></label></div>
<div class="col-6 col-md-9">@Model.UniqueId</div>
</div>
<hr/>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="SubtotalGross"></label></div>
<div class="col-6 col-md-9">@Model.SubtotalGross.ToString("N2")</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="ShipmentGross"></label></div>
<div class="col-6 col-md-9">@Model.ShipmentGross.ToString("N2")</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="TotalGross"></label></div>
<div class="col-6 col-md-9">@Model.TotalGross.ToString("N2")</div>
</div>
@if (Model.TaxRates.Any())
{
foreach (var modelTaxRate in Model.TaxRates)
{
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label">@Localizer["Cart_Tax"] @modelTaxRate.Key%</label></div>
<div class="col-6 col-md-9">€ @modelTaxRate.Value.ToString("N2")</div>
</div>
}
}
<hr/>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="PaymentType"></label></div>
<div class="col-6 col-md-9">@Model.PaymentType.GetDisplayName(annotationsLocalizer)</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="PaymentStatus"></label></div>
<div class="col-6 col-md-9">@Model.PaymentStatus.GetDisplayName(annotationsLocalizer)</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="Created"></label></div>
<div class="col-6 col-md-9">@Model.Created.ToDateTimeTimeZone(applicationUser.TimeZoneId).ToDateTime()</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="LastUpdate"></label></div>
<div class="col-6 col-md-9">@Model.LastUpdate.Value.ToDateTimeTimeZone(applicationUser.TimeZoneId).ToDateTime()</div>
</div>
@if (Model.PaymentType == PaymentTypeVm.PayPal)
{
<hr/>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="PaymentDate"></label></div>
<div class="col-6 col-md-9">@Model.PaymentDate</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="PayPalOrderId"></label></div>
<div class="col-6 col-md-9">@Model.PayPalOrderId</div>
</div>
}
@if (Model.PaymentType == PaymentTypeVm.Klarna)
{
<hr/>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="PaymentDate"></label></div>
<div class="col-6 col-md-9">@Model.PaymentDate</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="KlarnaOrderId"></label></div>
<div class="col-6 col-md-9">@Model.KlarnaOrderId</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="KlarnaShipmentSentDate"></label></div>
<div class="col-6 col-md-9">@(Model.KlarnaShipmentSentDate.HasValue ? Model.KlarnaShipmentSentDate.Value.ToString() : "")</div>
</div>
}
@if (!string.IsNullOrWhiteSpace(Model.PaymentInfo))
{
<hr/>
<div class="row mb-2">
<div class="col-12">@Html.Raw(Model.PaymentInfo.Replace(Environment.NewLine, "<br/>"))</div>
</div>
}
</div>
<div class="pt-3 ">
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.Title"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.Title</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.FirstName"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.FirstName</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.LastName"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.LastName</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.Company"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.Company</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.Vat"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.Vat</div>
</div>
<hr/>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.AddressLine1"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.AddressLine1</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.AddressLine2"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.AddressLine2</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.Zip"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.Zip</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.City"></label></div>
<div class="col-6 col-md-9">@Model.BillingAddress.City</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.State"></label></div>
<div class="col-6 col-md-9">@countryService.GetState(Model.BillingAddress.CountryCode, Model.BillingAddress.State).Name</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="BillingAddress.CountryCode"></label></div>
<div class="col-6 col-md-9">@countryService.GetCountry(Model.BillingAddress.CountryCode).Name</div>
</div>
</div>
<div class="pt-3 ">
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.Title"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.Title</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.FirstName"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.FirstName</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.LastName"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.LastName</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.Company"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.Company</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.Vat"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.Vat</div>
</div>
<hr/>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.AddressLine1"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.AddressLine1</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.AddressLine2"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.AddressLine2</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.Zip"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.Zip</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.City"></label></div>
<div class="col-6 col-md-9">@deliveryAddress.City</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.State"></label></div>
<div class="col-6 col-md-9">@countryService.GetState(deliveryAddress.CountryCode, deliveryAddress.State).Name</div>
</div>
<div class="row mb-2">
<div class="col-6 col-md-3"><label class="form-label" asp-for="DeliveryAddress.CountryCode"></label></div>
<div class="col-6 col-md-9">@countryService.GetCountry(deliveryAddress.CountryCode).Name</div>
</div>
</div>
<div class="pt-3 ">
<table style="width: 100%; padding: 10px;">
<tr style="font-weight: bold;">
<td>@Localizer["Common_Order_Sku"]</td>
<td>@Localizer["Common_Order_Name"]</td>
<td style="text-align: center;">@Localizer["Common_Order_Quantity"]</td>
<td style="text-align: right;">@Localizer["Common_Order_SinglePrice"] €</td>
<td style="text-align: right;">@Localizer["Common_Order_TotalPrice"] €</td>
</tr>
@foreach (var item in Model.Items)
{
<tr>
<td>@item.Sku</td>
<td>@item.Name @if(!string.IsNullOrWhiteSpace(item.ProductSpecialInfo)){<span> (@item.ProductSpecialInfo)</span>}</td>
<td style="text-align: center;">@item.Quantity</td>
<td style="text-align: right;">@item.PriceGross.ToString("n2")</td>
<td style="text-align: right;">@item.TotalGross.ToString("n2")</td>
</tr>
}
<tr>
<td colspan="5"><hr /></td>
</tr>
<tr>
<td colspan="4" class="" style="text-align: right;">@Localizer["Common_Order_Subtotal"] €:</td>
<td style="text-align: right;">@Model.SubtotalGross.ToString("n2")</td>
</tr>
<tr>
<td colspan="4" class="" style="text-align: right;">@Localizer["Common_Order_ShipmentPrice"] €:</td>
<td style="text-align: right;">@Model.ShipmentGross.ToString("n2")</td>
</tr>
<tr>
<td colspan="5"><hr /></td>
</tr>
<tr>
<td colspan="4" class="label" style="text-align: right;">@Localizer["Common_Order_Total"] €:</td>
<td style="text-align: right;">@((Model.TotalGross).ToString("n2"))</td>
</tr>
@if (Model.TaxRates.Any())
{
foreach (var modelTaxRate in Model.TaxRates)
{
<tr>
<td colspan="4" class="" style="text-align: right;">@Localizer["Cart_Tax"] @modelTaxRate.Key% €:</td>
<td style="text-align: right;">@modelTaxRate.Value.ToString("N2")</td>
</tr>
}
}
</table>
</div>
</div>
</div>
<div class="row button-row">
<div class="col-12">
<div class="">
<button type="button" id="btnBack" class="btn btn-primary">@Localizer["Button_Back"]</button>
</div>
</div>
</div>
</div>
<system-js url="~/scripts/Views/Order/detailsCustomer.js" fresh-import="true"></system-js>
</section>