@model OrderDetailsModel @using Nop.Core.Domain.Catalog @{ if (!Model.PrintMode) { Layout = "_ColumnsOne"; } else { Layout = "_Print"; } //title NopHtml.AddTitleParts(T("PageTitle.OrderDetails").Text); //page class NopHtml.AppendPageCssClassParts("html-order-details-page"); } @if (Model.PrintMode) { }
@if (!Model.PrintMode) {

@T("Order.OrderInformation")

@T("Order.Print") @if (!Model.PdfInvoiceDisabled) { @T("Order.GetPDFInvoice") }
}
@await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsPageTop, additionalData = Model })
@T("Order.Order#")@Model.CustomOrderNumber
  • @T("Order.OrderDate"): @Model.CreatedOn.ToString("D")
  • @T("Order.OrderStatus"): @Model.OrderStatus
  • @T("Order.OrderTotal"): @Model.OrderTotal
@await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsPageOverview, additionalData = Model })
@T("Order.BillingAddress")
  • @Model.BillingAddress.FirstName @Model.BillingAddress.LastName
  • @if (Model.BillingAddress.PhoneEnabled) {
  • @T("Order.Phone"): @Model.BillingAddress.PhoneNumber
  • } @if (Model.BillingAddress.FaxEnabled) {
  • @T("Order.Fax"): @Model.BillingAddress.FaxNumber
  • } @if (Model.BillingAddress.CompanyEnabled && !string.IsNullOrEmpty(Model.BillingAddress.Company)) {
  • @Model.BillingAddress.Company
  • } @if (Model.BillingAddress.StreetAddressEnabled) {
  • @Model.BillingAddress.Address1
  • } @if (Model.BillingAddress.StreetAddress2Enabled && !string.IsNullOrEmpty(Model.BillingAddress.Address2)) {
  • @Model.BillingAddress.Address2
  • } @if (Model.BillingAddress.CityEnabled && !string.IsNullOrEmpty(Model.BillingAddress.City)|| Model.BillingAddress.CountyEnabled && !string.IsNullOrEmpty(Model.BillingAddress.County) || Model.BillingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.BillingAddress.StateProvinceName) || Model.BillingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.BillingAddress.ZipPostalCode)) {
  • @if (Model.BillingAddress.CityEnabled && !string.IsNullOrEmpty(Model.BillingAddress.City)) { @Model.BillingAddress.City @if (Model.BillingAddress.CountyEnabled && !string.IsNullOrEmpty(Model.BillingAddress.County) || Model.BillingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.BillingAddress.StateProvinceName) || Model.BillingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.BillingAddress.ZipPostalCode)) { , } } @if (Model.BillingAddress.CountyEnabled && !string.IsNullOrEmpty(Model.BillingAddress.County)) { @Model.BillingAddress.County @if (Model.BillingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.BillingAddress.StateProvinceName) || Model.BillingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.BillingAddress.ZipPostalCode)) { , } } @if (Model.BillingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.BillingAddress.StateProvinceName)) { @Model.BillingAddress.StateProvinceName @if (Model.BillingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.BillingAddress.ZipPostalCode)) { , } } @if (Model.BillingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.BillingAddress.ZipPostalCode)) { @Model.BillingAddress.ZipPostalCode }
  • } @if (Model.BillingAddress.CountryEnabled && !string.IsNullOrEmpty(Model.BillingAddress.CountryName)) {
  • @Model.BillingAddress.CountryName
  • } @if (!string.IsNullOrEmpty(Model.VatNumber)) {
  • @T("Order.VATNumber") @Model.VatNumber
  • } @if (!string.IsNullOrEmpty(Model.BillingAddress.FormattedCustomAddressAttributes)) {
  • @Html.Raw(Model.BillingAddress.FormattedCustomAddressAttributes)
  • } @await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsBillingAddress, additionalData = Model })
@if (!string.IsNullOrEmpty(Model.PaymentMethod)) {
@T("Order.Payment")
  • @T("Order.Payment.Method"): @Model.PaymentMethod
  • @if (!Model.PrintMode) {
  • @T("Order.Payment.Status"): @Model.PaymentMethodStatus
  • } @if (!Model.PrintMode && Model.CanRePostProcessPayment) { @*Complete payment (for redirection payment methods)*@
  • @T("Order.RetryPayment.Hint")

  • } @if (Model.CustomValues != null) { foreach (var item in Model.CustomValues) {
  • @item.Key: @(item.Value != null ? item.Value.ToString() : "")
  • } }
}
@if (Model.IsShippable) {
@(Model.PickupInStore ? T("Order.PickupAddress") : T("Order.ShippingAddress"))
    @if (!Model.PickupInStore) {
  • @Model.ShippingAddress.FirstName @Model.ShippingAddress.LastName
  • if (Model.ShippingAddress.PhoneEnabled) {
  • @T("Order.Phone"): @Model.ShippingAddress.PhoneNumber
  • } if (Model.ShippingAddress.FaxEnabled) {
  • @T("Order.Fax"): @Model.ShippingAddress.FaxNumber
  • } if (Model.ShippingAddress.CompanyEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.Company)) {
  • @Model.ShippingAddress.Company
  • } if (Model.ShippingAddress.StreetAddressEnabled) {
  • @Model.ShippingAddress.Address1
  • } if (Model.ShippingAddress.StreetAddress2Enabled && !string.IsNullOrEmpty(Model.ShippingAddress.Address2)) {
  • @Model.ShippingAddress.Address2
  • } @if (Model.ShippingAddress.CityEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.City)|| Model.ShippingAddress.CountyEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.County) || Model.ShippingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.StateProvinceName) || Model.ShippingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.ZipPostalCode)) {
  • @if (Model.ShippingAddress.CityEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.City)) { @Model.ShippingAddress.City @if (Model.ShippingAddress.CountyEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.County) || Model.ShippingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.StateProvinceName) || Model.ShippingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.ZipPostalCode)) { , } } @if (Model.ShippingAddress.CountyEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.County)) { @Model.ShippingAddress.County @if (Model.ShippingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.StateProvinceName) || Model.ShippingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.ZipPostalCode)) { , } } @if (Model.ShippingAddress.StateProvinceEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.StateProvinceName)) { @Model.ShippingAddress.StateProvinceName @if (Model.ShippingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.ZipPostalCode)) { , } } @if (Model.ShippingAddress.ZipPostalCodeEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.ZipPostalCode)) { @Model.ShippingAddress.ZipPostalCode }
  • } if (Model.ShippingAddress.CountryEnabled && !string.IsNullOrEmpty(Model.ShippingAddress.CountryName)) {
  • @Model.ShippingAddress.CountryName
  • } if (!string.IsNullOrEmpty(Model.ShippingAddress.FormattedCustomAddressAttributes)) {
  • @Html.Raw(Model.ShippingAddress.FormattedCustomAddressAttributes)
  • } @await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsShippingAddress, additionalData = Model }) } else { if (!string.IsNullOrEmpty(Model.PickupAddress.Address1)) {
  • @Model.PickupAddress.Address1
  • } if (!string.IsNullOrEmpty(Model.PickupAddress.City)|| !string.IsNullOrEmpty(Model.PickupAddress.County) || !string.IsNullOrEmpty(Model.PickupAddress.StateProvinceName) || !string.IsNullOrEmpty(Model.PickupAddress.ZipPostalCode)) {
  • @if (!string.IsNullOrEmpty(Model.PickupAddress.City)) { @Model.PickupAddress.City @if (!string.IsNullOrEmpty(Model.PickupAddress.County) || !string.IsNullOrEmpty(Model.PickupAddress.StateProvinceName) || !string.IsNullOrEmpty(Model.PickupAddress.ZipPostalCode)) { , } } @if (!string.IsNullOrEmpty(Model.PickupAddress.County)) { @Model.PickupAddress.County @if (!string.IsNullOrEmpty(Model.PickupAddress.StateProvinceName) || !string.IsNullOrEmpty(Model.PickupAddress.ZipPostalCode)) { , } } @if (!string.IsNullOrEmpty(Model.PickupAddress.StateProvinceName)) { @Model.PickupAddress.StateProvinceName @if (!string.IsNullOrEmpty(Model.PickupAddress.ZipPostalCode)) { , } } @if (!string.IsNullOrEmpty(Model.PickupAddress.ZipPostalCode)) { @Model.PickupAddress.ZipPostalCode }
  • } if (!string.IsNullOrEmpty(Model.PickupAddress.CountryName)) {
  • @Model.PickupAddress.CountryName
  • } }
@T("Order.Shipping")
  • @T("Order.Shipping.Name"): @Model.ShippingMethod
  • @if (!Model.PrintMode) {
  • @T("Order.Shipping.Status"): @Model.ShippingStatus
  • }
}
@if (!Model.PrintMode && Model.Shipments.Count > 0) {
@T("Order.Shipments")
@if (Model.PickupInStore) { } else { } @foreach (var item in Model.Shipments) { @if (Model.PickupInStore) { } else { } }
@T("Order.Shipments.ID") @T("Order.Shipments.TrackingNumber") @T("Order.Shipments.ReadyForPickupDate") @T("Order.Shipments.ShippedDate") @T("Order.Shipments.DeliveryDate") @T("Order.Shipments.ViewDetails")
@item.Id.ToString() @item.TrackingNumber @if (item.ReadyForPickupDate.HasValue) { @item.ReadyForPickupDate.Value.ToString("D") } else { @T("Order.Shipments.ReadyForPickupDate.NotYet") } @if (item.ShippedDate.HasValue) { @item.ShippedDate.Value.ToString("D") } else { @T("Order.Shipments.ShippedDate.NotYet") } @if (item.DeliveryDate.HasValue) { @item.DeliveryDate.Value.ToString("D") } else { @T("Order.Shipments.DeliveryDate.NotYet") } @T("Order.Shipments.ViewDetails")
} @if (Model.Items.Count > 0) { if (!Model.PrintMode && Model.OrderNotes.Count > 0) {
@T("Order.Notes")
@foreach (var item in Model.OrderNotes) { }
@T("Order.Notes.CreatedOn") @T("Order.Notes.Note")
@item.CreatedOn.ToString() @Html.Raw(item.Note) @if (item.HasDownload) {

@T("Order.Notes.Download")

}
} @await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsPageBeforeproducts, additionalData = Model })
@T("Order.Product(s)")
@if (Model.ShowSku) { } @if (Model.ShowProductThumbnail) { } @if (Model.ShowVendorName) { } @if (Model.ShowSku) { } @if (Model.ShowProductThumbnail) { } @if (Model.ShowVendorName) { } @foreach (var item in Model.Items) { @if (Model.ShowSku) { } @if (Model.ShowProductThumbnail) { } @if (Model.ShowVendorName) { } }
@T("Order.Product(s).SKU") @T("Order.Product(s).Image") @T("Order.Product(s).Name") @T("Order.Product(s).VendorName") @T("Order.Product(s).Price") @T("Order.Product(s).Quantity") @T("Order.Product(s).Total")
@item.Sku @item.Picture.AlternateText @if (!Model.PrintMode) { @item.ProductName } else { @item.ProductName } @if (!string.IsNullOrEmpty(item.AttributeInfo)) {
@Html.Raw(item.AttributeInfo)
} @if (!string.IsNullOrEmpty(item.RentalInfo)) {
@Html.Raw(item.RentalInfo)
} @if (item.DownloadId > 0) { } @if (item.LicenseId > 0) { } @await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsProductLine, additionalData = item })
@item.VendorName @item.UnitPrice @item.Quantity @item.SubTotal
@if (Model.Items.Count > 0 && Model.DisplayTaxShippingInfo) { var inclTax = Model.PricesIncludeTax; //tax info is already included in the price (incl/excl tax). that's why we display only shipping info here //of course, you can modify appropriate locales to include VAT info there
@T(inclTax ? "Order.TaxShipping.InclTax" : "Order.TaxShipping.ExclTax", Url.RouteTopicUrl("shippinginfo"))
}
@await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsPageAfterproducts, additionalData = Model })
@if (!string.IsNullOrEmpty(Model.CheckoutAttributeInfo)) {
@Html.Raw(Model.CheckoutAttributeInfo)
}
@if (!string.IsNullOrEmpty(Model.OrderSubTotalDiscount)) { } @if (Model.IsShippable) { } @if (!string.IsNullOrEmpty(Model.PaymentMethodAdditionalFee)) { } @if (Model.DisplayTaxRates && Model.TaxRates.Count > 0) { foreach (var taxRate in Model.TaxRates) { } } @if (Model.DisplayTax) { } @if (!string.IsNullOrEmpty(Model.OrderTotalDiscount)) { } @if (Model.GiftCards.Count > 0) { foreach (var gc in Model.GiftCards) { } } @if (Model.RedeemedRewardPoints > 0) { }
@Model.OrderSubtotal
@Model.OrderSubTotalDiscount
@Model.OrderShipping
@Model.PaymentMethodAdditionalFee
@taxRate.Value
@Model.Tax
@Model.OrderTotalDiscount
@gc.Amount
@Model.RedeemedRewardPointsAmount
@Model.OrderTotal
@if (!Model.PrintMode) {
@if (Model.IsReOrderAllowed) { } @if (Model.IsReturnRequestAllowed) { }
}
} @await Component.InvokeAsync(typeof(WidgetViewComponent), new { widgetZone = PublicWidgetZones.OrderDetailsPageBottom, additionalData = Model })