457 lines
26 KiB
Plaintext

@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.AspNetCore.Mvc.TagHelpers
@using Microsoft.Extensions.Localization
@using Microsoft.Extensions.Options
@using gehGassi.Web.Helper
@using gehGassi.Web.Models
@model gehGassi.Web.Models.ProductCrudVm
@inject IViewLocalizer Localizer
@{
ViewData["Title"] = Localizer["Button_Create"];
string folderToUse = "temp";
}
<section id="productCreateContainer">
<div>
<div id="pageTitleAdd" style="display: none;">@ViewData["Title"]</div>
<div class="pageDesc">@Localizer["Product_Create_Desc"]</div>
<form cb-preventsubmit id="frmCreateProduct" class="form" asp-controller="Product" asp-action="Create" data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#productCreateContainer">
<div asp-validation-summary="ModelOnly"></div>
<input type="hidden" asp-for="Id" />
<input type="hidden" asp-for="ProductCategoryId" />
<input type="hidden" asp-for="AdvertisementCategoryId" />
<input type="hidden" asp-for="BranchId" />
<input type="hidden" asp-for="TaxRateId" class="validateAlways"/>
<input type="hidden" asp-for="DownloadId" />
<input type="hidden" asp-for="Image" />
<input type="hidden" asp-for="DisplayOrder" class="validateAlways"/>
<input type="hidden" asp-for="Weight" class="validateAlways"/>
<input type="hidden" asp-for="Width" class="validateAlways"/>
<input type="hidden" asp-for="Length" class="validateAlways"/>
<input type="hidden" asp-for="Height" class="validateAlways"/>
<input type="hidden" asp-for="Price" class="validateAlways"/>
<input type="hidden" asp-for="OldPrice" class="validateAlways"/>
<input type="hidden" asp-for="Price2" class="validateAlways"/>
<input type="hidden" asp-for="OldPrice2" class="validateAlways"/>
<input type="hidden" asp-for="AdditionalShippingCharge" class="validateAlways"/>
<input type="hidden" asp-for="StockQuantity" class="validateAlways"/>
<input type="hidden" asp-for="NotifyAdminForQuantityBelow" class="validateAlways"/>
<input type="hidden" asp-for="OrderMinimumQuantity" class="validateAlways"/>
<input type="hidden" asp-for="OrderMaximumQuantity" class="validateAlways"/>
<input type="hidden" asp-for="PinRadius" class="validateAlways"/>
<input type="hidden" asp-for="PinPercentPerKm" class="validateAlways"/>
<div id="tabContainer">
<div class="e-tab-header">
<div>@Localizer["Common_Tab_Details"]</div>
<div>@Localizer["Common_Tab_Description"]</div>
<div>@Localizer["Common_Tab_Image"]</div>
<div>@Localizer["Common_Tab_Settings"]</div>
</div>
<div class="e-content">
<div class="pt-3 ">
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="Sku"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-hashtag"></i></span>
<input asp-for="Sku" class="form-control"/>
<span asp-validation-for="Sku" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="ManufacturerPartNumber"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-hashtag"></i></span>
<input asp-for="ManufacturerPartNumber" class="form-control"/>
<span asp-validation-for="ManufacturerPartNumber" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="DisplayOrder"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-sort"></i></div>
<input id="DisplayOrderHelper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="DisplayOrder" class="invalid-feedback"></span>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="ProductCategoryId"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-box-open"></i></div>
<input asp-for="ProductCategoryName" class="form-control" />
</div>
<span asp-validation-for="ProductCategoryId" class="invalid-feedback"></span>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="ProductType"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-boxes-packing"></i></span>
<select asp-for="ProductType" class="form-control" asp-items="Html.GetEnumSelectList<ProductTypeVm>()"></select>
<span asp-validation-for="ProductType" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="Visibility"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-eye"></i></span>
<select asp-for="Visibility" class="form-control" asp-items="Html.GetEnumSelectList<ShopVisibilityVm>()"></select>
<span asp-validation-for="Visibility" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4" id="col_listingType">
<label class="form-label" asp-for="ListingType"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-medal"></i></span>
<select asp-for="ListingType" class="form-control" asp-items="Html.GetEnumSelectList<ListingTypeVm>()"></select>
<span asp-validation-for="ListingType" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4" id="col_branchId">
<label class="form-label" asp-for="BranchId"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-image"></i></div>
<input asp-for="BranchName" class="form-control"/>
</div>
<span asp-validation-for="BranchId" class="invalid-feedback"></span>
</div>
<div class="col-sm-4" id="col_advertisementCategoryId">
<label class="form-label" asp-for="AdvertisementCategoryId"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-image"></i></div>
<input asp-for="AdvertisementCategoryName" class="form-control"/>
</div>
<span asp-validation-for="AdvertisementCategoryId" class="invalid-feedback"></span>
</div>
</div>
<div class="row mb-2" id="row_banner">
<div class="col-sm-4">
<label class="form-label" asp-for="BannerLocation"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-mobile-screen-button"></i></span>
<select asp-for="BannerLocation" class="form-control" asp-items="Html.GetEnumSelectList<BannerLocationVm>()"></select>
<span asp-validation-for="BannerLocation" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="BannerSize"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-maximize"></i></span>
<select asp-for="BannerSize" class="form-control" asp-items="Html.GetEnumSelectList<BannerSizeVm>()"></select>
<span asp-validation-for="BannerSize" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<div class="alert alert-info p-3">@Localizer["Banner_Price_Info"]</div>
</div>
@*<div class="col-sm-4">
<label class="form-label" asp-for="BannerViews"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-eye"></i></div>
<input id="BannerViewsHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="BannerViews" class="invalid-feedback"></span>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="BannerRuntime"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-calendar-day"></i></div>
<input id="BannerRuntimeHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="BannerRuntime" class="invalid-feedback"></span>
</div>*@
</div>
<div class="row mb-2" id="row_pin">
<div class="col-sm-4">
<label class="form-label" asp-for="PinRadius"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-location-arrow"></i></div>
<input id="PinRadiusHelper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="PinRadius" class="invalid-feedback"></span>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="PinPercentPerKm"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-percent"></i></div>
<input id="PinPercentPerKmHelper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="PinPercentPerKm" class="invalid-feedback"></span>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="Price"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-euro-sign"></i></div>
<input id="PriceHelper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="Price" class="invalid-feedback"></span>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="OldPrice"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa-brands fa-fw fa-creative-commons-nc-eu"></i></div>
<input id="OldPriceHelper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="OldPrice" class="invalid-feedback"></span>
</div>
</div>
<div class="row mb-2" id="row_price2">
<div class="col-sm-4">
<label class="form-label" asp-for="Price2"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-euro-sign"></i></div>
<input id="Price2Helper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="Price2" class="invalid-feedback"></span>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="OldPrice2"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa-brands fa-fw fa-creative-commons-nc-eu"></i></div>
<input id="OldPrice2Helper" class="form-control" autocomplete="off" list="autocompleteOff" />
</div>
<span asp-validation-for="OldPrice2" class="invalid-feedback"></span>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="TaxRateId"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-coins"></i></div>
<input asp-for="TaxRateName" class="form-control" />
</div>
<span asp-validation-for="TaxRateId" class="invalid-feedback"></span>
</div>
<div class="col-sm-4">
<label class="form-label d-block" asp-for="IsTaxExempt"></label>
<input type="checkbox" asp-for="IsTaxExempt" class="switch" />
<span asp-validation-for="IsTaxExempt" class="invalid-feedback"></span>
</div>
</div>
<div class="row mb-2">
<div class="col-sm-4">
<label class="form-label" asp-for="PriceType"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-circle-question"></i></span>
<select asp-for="PriceType" class="form-control" asp-items="Html.GetEnumSelectList<PriceTypeVm>()"></select>
<span asp-validation-for="PriceType" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="PriceAliquotType"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calculator"></i></span>
<select asp-for="PriceAliquotType" class="form-control" asp-items="Html.GetEnumSelectList<PriceAliquotTypeVm>()"></select>
<span asp-validation-for="PriceAliquotType" class="invalid-feedback"></span>
</div>
</div>
<div class="col-sm-4">
<label class="form-label" asp-for="ProductStartType"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-calendar"></i></span>
<select asp-for="ProductStartType" class="form-control" asp-items="Html.GetEnumSelectList<ProductStartTypeVm>()"></select>
<span asp-validation-for="ProductStartType" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<label class="form-label" asp-for="Comment"></label>
<div class="input-group">
<span class="input-group-text"><i class="fa fa-fw fa-comment"></i></span>
<textarea asp-for="Comment" class="form-control" rows="5"></textarea>
<span asp-validation-for="Comment" class="invalid-feedback"></span>
</div>
</div>
</div>
</div>
<div class="pt-3 ">
<div class="row mb-2">
<div class="col-sm-12">
<div id="tabContainerText">
<div class="e-tab-header">
@foreach (var item in Model.TextVms)
{
<div><img src="~/images/Languages/@(item.Language).png" alt="@item.Language" /></div>
}
</div>
<div class="e-content">
@Html.EditorFor(m => m.TextVms, new{FolderToUse = folderToUse})
</div>
</div>
</div>
</div>
</div>
<div class="pt-3 ">
<div class="row mb-2">
<div class="col-12 col-sm-12 col-md-6 col-lg-5">
<div class="text-center">
@if (!string.IsNullOrWhiteSpace(Model.Image))
{
<img id="image" src="/file/temp/@Model.Image" class="upload-image-169-container" alt="" />
}
else
{
<img id="image" class="upload-image-169-container" alt="" />
}
</div>
<div class="text-center">
<span asp-validation-for="Image" class="invalid-feedback"></span>
</div>
<div class="text-center mt-2">
<button type="button" id="btnUploadImage" class="btn btn-primary btn-sm"><i class="fa fa-fw fa-edit"></i></button>
<button type="button" id="btnDeleteImage" class="btn btn-primary btn-sm" style="display: none;"><i class="fa fa-fw fa-trash"></i></button>
</div>
</div>
<div class="col-12 col-sm-12 col-md-6 col-lg-7">
<div class="alert alert-info">
<p>@Localizer["Product_Image_Desc"]</p>
</div>
</div>
</div>
</div>
<div class="pt-3 ">
<div class="group mt-2">
<div class="group-header">@Localizer["Common_Group_Dimensions"]</div>
<div class="row mb-2">
<div class="col-sm-3">
<label class="form-label" asp-for="Weight"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-weight-scale"></i></div>
<input id="WeightHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="Weight" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label" asp-for="Width"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-ruler-horizontal"></i></div>
<input id="WidthHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="Width" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label" asp-for="Length"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-ruler"></i></div>
<input id="LengthHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="Length" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label" asp-for="Height"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-ruler-vertical"></i></div>
<input id="HeightHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="Height" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="group mt-4">
<div class="group-header">@Localizer["Common_Group_Shipment"]</div>
<div class="row mb-2">
<div class="col-sm-3">
<label class="form-label d-block" asp-for="IsShipEnabled"></label>
<input type="checkbox" asp-for="IsShipEnabled" class="switch" />
<span asp-validation-for="IsShipEnabled" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label d-block" asp-for="IsFreeShipping"></label>
<input type="checkbox" asp-for="IsFreeShipping" class="switch" />
<span asp-validation-for="IsFreeShipping" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label" asp-for="AdditionalShippingCharge"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-euro-sign"></i></div>
<input id="AdditionalShippingChargeHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="AdditionalShippingCharge" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="group mt-4">
<div class="group-header">@Localizer["Common_Group_Stock"]</div>
<div class="row mb-2">
<div class="col-sm-3">
<label class="form-label" asp-for="StockQuantity"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-cubes-stacked"></i></div>
<input id="StockQuantityHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="StockQuantity" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label" asp-for="NotifyAdminForQuantityBelow"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-triangle-exclamation"></i></div>
<input id="NotifyAdminForQuantityBelowHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="NotifyAdminForQuantityBelow" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label d-block" asp-for="DisplayStockAvailability"></label>
<input type="checkbox" asp-for="DisplayStockAvailability" class="switch" />
<span asp-validation-for="DisplayStockAvailability" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label d-block" asp-for="DisplayStockQuantity"></label>
<input type="checkbox" asp-for="DisplayStockQuantity" class="switch" />
<span asp-validation-for="DisplayStockQuantity" class="invalid-feedback"></span>
</div>
</div>
</div>
<div class="group mt-4">
<div class="group-header">@Localizer["Common_Group_OrderQuantity"]</div>
<div class="row mb-2">
<div class="col-sm-3">
<label class="form-label" asp-for="OrderMinimumQuantity"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-cart-shopping"></i></div>
<input id="OrderMinimumQuantityHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="OrderMinimumQuantity" class="invalid-feedback"></span>
</div>
<div class="col-sm-3">
<label class="form-label" asp-for="OrderMaximumQuantity"></label>
<div class="e-input-group">
<div class="e-input-group-icon"><i class="fa fa-fw fa-cart-plus"></i></div>
<input id="OrderMaximumQuantityHelper" class="form-control" autocomplete="off" list="autocompleteOff"/>
</div>
<span asp-validation-for="OrderMaximumQuantity" class="invalid-feedback"></span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row button-row">
<div class="col-12">
<div class="">
<button type="button" id="btnSave" class="btn btn-primary">@Localizer["Button_Save"]</button>
<button type="button" id="btnCancel" class="btn btn-primary">@Localizer["Button_Cancel"]</button>
</div>
</div>
</div>
</form>
</div>
@Html.Hidden("jsGetCategoryUrl", Url.Action("LookupParents", "Product", new{excludeId = -1, includeNone = true}))
@Html.Hidden("jsLookupAdvertisementCategoryUrl", Url.Action("LookupCategories", "Advertisement", new{includeNone = true}))
@Html.Hidden("jsLookupTaxRatesUrl", Url.Action("Lookup", "TaxRate", new{includeNone = true}))
@Html.Hidden("jsLookupBranchesListingsUrl", Url.Action("LookupListings", "Branch"))
@Html.Hidden("jsUploadUrl", Url.Action("UploadTempFile", "Common"))
@Html.Hidden("jsRemoveUrl", Url.Action("RemoveTempFile", "Common"))
<system-js url="~/scripts/Views/Product/create.js" fresh-import="true"></system-js>
</section>