Prvi commit
This commit is contained in:
129
EveryThing/Pages/TransportLoadingOrder/Create.cshtml
Normal file
129
EveryThing/Pages/TransportLoadingOrder/Create.cshtml
Normal file
@@ -0,0 +1,129 @@
|
||||
@page
|
||||
@model EveryThing.Pages.TransportLoadingOrder.CreateModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Vnos naloga";
|
||||
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<!-- Editor -->
|
||||
<link rel="stylesheet" href="~/vendor/libs/quill/typography.css" asp-append-version="true" />
|
||||
<link rel="stylesheet" href="~/vendor/libs/quill/editor.css" asp-append-version="true" />
|
||||
|
||||
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
|
||||
<span>
|
||||
<span class="text-muted font-weight-light">Nalog /</span> Nov
|
||||
</span>
|
||||
</h4>
|
||||
|
||||
<div class="nav-tabs-top nav-responsive-sm">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="tab" href="#item-basic">Osnovni podatki</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade show active" id="item-basic">
|
||||
<form method="post" onsubmit="handleEditors()">
|
||||
<div class="card-body">
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder" />
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.IdCompanyFk" />
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.OrderNumber" />
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.OrderYear" />
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.IdPartnerFk" class="form-label"></label>
|
||||
<select asp-for="TransportLoadingOrder.IdPartnerFk" class="form-control" asp-items="ViewBag.IdPartnerFk">
|
||||
<option value="">Izberite partnerja</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.OrderCity" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.OrderCity" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrder.OrderCity" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.OrderDate" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.OrderDate" type="date" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrder.OrderDate" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.VehicleText" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.VehicleText" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrder.VehicleText" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.Total" class="form-label"></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">€</div>
|
||||
</div>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.Total" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group mb-0">
|
||||
<label asp-for="TransportLoadingOrder.PreText" class="form-label"></label>
|
||||
<input type="hidden" id="value-pretext" asp-for="@Model.TransportLoadingOrder.PreText" />
|
||||
<div id="editor-pretext" style="height: 250px">
|
||||
@Html.Raw(Model.TransportLoadingOrder.PreText)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group mb-0">
|
||||
<label asp-for="TransportLoadingOrder.PostText" class="form-label"></label>
|
||||
<input type="hidden" id="value-posttext" asp-for="@Model.TransportLoadingOrder.PostText" />
|
||||
<div id="editor-posttext" style="height: 250px">
|
||||
@Html.Raw(Model.TransportLoadingOrder.PostText)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-3 text-right">
|
||||
<button type="submit" class="btn btn-primary">Shrani nalog</button>
|
||||
<a asp-page="Index" class="btn btn-default">Prekliči</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
|
||||
<!-- Editor -->
|
||||
<script src="~/vendor/libs/quill/quill.js" asp-append-version="true"></script>
|
||||
|
||||
<script>
|
||||
var Block = Quill.import('blots/block');
|
||||
Block.tagName = 'DIV';
|
||||
Quill.register(Block, true);
|
||||
|
||||
let editorPreText = new Quill('#editor-pretext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
|
||||
let editorPostText = new Quill('#editor-posttext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
|
||||
|
||||
function handleEditors() {
|
||||
document.getElementById('value-pretext').value = editorPreText.root.innerHTML;
|
||||
document.getElementById('value-posttext').value = editorPostText.root.innerHTML;
|
||||
}
|
||||
</script>
|
||||
}
|
||||
82
EveryThing/Pages/TransportLoadingOrder/Create.cshtml.cs
Normal file
82
EveryThing/Pages/TransportLoadingOrder/Create.cshtml.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using EveryThing.Data;
|
||||
using EveryThing.Models;
|
||||
using EveryThing.Models.Transport;
|
||||
|
||||
namespace EveryThing.Pages.TransportLoadingOrder
|
||||
{
|
||||
[Authorize(Roles = "Administrator,TransportThingUser")]
|
||||
public class CreateModel : PageModel
|
||||
{
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly UserManager<IdentityApplicationUser> _userManager;
|
||||
|
||||
public CreateModel(ApplicationDbContext context, UserManager<IdentityApplicationUser> userManager)
|
||||
{
|
||||
_context = context;
|
||||
_userManager = userManager;
|
||||
}
|
||||
|
||||
public IActionResult OnGet()
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
TransportLoadingOrder = new Models.Transport.TransportLoadingOrder
|
||||
{
|
||||
OrderCity = _context.CodeTableCompanies.Single(x => x.IdCompany == user.IdCompanyFk).City,
|
||||
OrderDate = DateTime.Now,
|
||||
PostText = "<div>Prejemnik se obvezuje izvršiti prevoz po navodilih iz naročila. Prevoz se mora izvršiti v skladu z določili CRM konvencije. " +
|
||||
"Prevoznik zagotavlja zavarovano prevozniško odgovornost. V primeru, da naročenega prevoza ne opravite po navodilih, Vas bomo bremenili za " +
|
||||
"vse nastale stroške. Vse morebitne spore v zvezi s tem naročilom rešuje Okrožno sodišče v Slovenj Gradcu.</div><br/>" +
|
||||
"Plačilo: <b>60 dni</b> po prejemu računana e-mail: <b>eracuni@trans-fer.si</b><br/>" +
|
||||
"Original račun pošljite po pošti, poleg računa priložite 2 (dva) izvoda ožigosanega CMR " +
|
||||
"z datumom in podpisom prejemnika.<br/>" +
|
||||
"Direkten kontakt s stranko brez našega soglasja je PREPOVEDAN!<br/>" +
|
||||
"<div>Račun</div>"
|
||||
|
||||
};
|
||||
|
||||
ViewData["IdPartnerFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
|
||||
ViewData["IdVehicleFk"] = new SelectList(_context.Vehicles.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdVehicle", "RegistrationNumber");
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
[BindProperty]
|
||||
public Models.Transport.TransportLoadingOrder TransportLoadingOrder { get; set; }
|
||||
|
||||
public async Task<IActionResult> OnPostAsync()
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
ViewData["IdPartnerFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
|
||||
ViewData["IdVehicleFk"] = new SelectList(_context.Vehicles.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdVehicle", "RegistrationNumber");
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
// OrderNumber and OrderYear
|
||||
int orderNumber = _context.TransportLoadingOrders.Count(x => x.IdCompanyFk == user.IdCompanyFk && x.OrderYear == DateTime.Now.Year) + 1;
|
||||
|
||||
TransportLoadingOrder.IdCompanyFk = user.IdCompanyFk;
|
||||
TransportLoadingOrder.OrderYear = DateTime.Now.Year;
|
||||
TransportLoadingOrder.OrderNumber = orderNumber;
|
||||
TransportLoadingOrder.PostText = TransportLoadingOrder.PostText.Replace("<div><br></div>", "");
|
||||
TransportLoadingOrder.PreText = TransportLoadingOrder.PreText.Replace("<div><br></div>", "");
|
||||
|
||||
_context.TransportLoadingOrders.Add(TransportLoadingOrder);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return RedirectToPage("./Edit", new {id = TransportLoadingOrder.IdTransportLoadingOrder});
|
||||
}
|
||||
}
|
||||
}
|
||||
89
EveryThing/Pages/TransportLoadingOrder/Delete.cshtml
Normal file
89
EveryThing/Pages/TransportLoadingOrder/Delete.cshtml
Normal file
@@ -0,0 +1,89 @@
|
||||
@page
|
||||
@model EveryThing.Pages.TransportLoadingOrder.DeleteModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Delete";
|
||||
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<h1>Delete</h1>
|
||||
|
||||
<h3>Are you sure you want to delete this?</h3>
|
||||
<div>
|
||||
<h4>TransportLoadingOrder</h4>
|
||||
<hr />
|
||||
<dl class="row">
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderNumber)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderNumber)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderYear)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderYear)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderCity)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderCity)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderDate)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderDate)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.PreText)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.PreText)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.PostText)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.PostText)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.VehicleText)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.VehicleText)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Total)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Total)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Company)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Company.Ceo)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Vehicle)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Vehicle.RegistrationNumber)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Partner)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Partner.City)
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<form method="post">
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder" />
|
||||
<input type="submit" value="Delete" class="btn btn-danger" /> |
|
||||
<a asp-page="./Index">Back to List</a>
|
||||
</form>
|
||||
</div>
|
||||
64
EveryThing/Pages/TransportLoadingOrder/Delete.cshtml.cs
Normal file
64
EveryThing/Pages/TransportLoadingOrder/Delete.cshtml.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using EveryThing.Data;
|
||||
using EveryThing.Models.Transport;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
namespace EveryThing.Pages.TransportLoadingOrder
|
||||
{
|
||||
[Authorize(Roles = "Administrator,TransportThingUser")]
|
||||
public class DeleteModel : PageModel
|
||||
{
|
||||
private readonly EveryThing.Data.ApplicationDbContext _context;
|
||||
|
||||
public DeleteModel(EveryThing.Data.ApplicationDbContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
[BindProperty]
|
||||
public Models.Transport.TransportLoadingOrder TransportLoadingOrder { get; set; }
|
||||
|
||||
public async Task<IActionResult> OnGetAsync(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders
|
||||
.Include(t => t.Company)
|
||||
.Include(t => t.Partner)
|
||||
.Include(t => t.Vehicle).FirstOrDefaultAsync(m => m.IdTransportLoadingOrder == id);
|
||||
|
||||
if (TransportLoadingOrder == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostAsync(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders.FindAsync(id);
|
||||
|
||||
if (TransportLoadingOrder != null)
|
||||
{
|
||||
_context.TransportLoadingOrders.Remove(TransportLoadingOrder);
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
return RedirectToPage("./Index");
|
||||
}
|
||||
}
|
||||
}
|
||||
86
EveryThing/Pages/TransportLoadingOrder/Details.cshtml
Normal file
86
EveryThing/Pages/TransportLoadingOrder/Details.cshtml
Normal file
@@ -0,0 +1,86 @@
|
||||
@page
|
||||
@model EveryThing.Pages.TransportLoadingOrder.DetailsModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Details";
|
||||
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<h1>Details</h1>
|
||||
|
||||
<div>
|
||||
<h4>TransportLoadingOrder</h4>
|
||||
<hr />
|
||||
<dl class="row">
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderNumber)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderNumber)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderYear)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderYear)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderCity)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderCity)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.OrderDate)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.OrderDate)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.PreText)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.PreText)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.PostText)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.PostText)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.VehicleText)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.VehicleText)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Total)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Total)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Company)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Company.Ceo)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Vehicle)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Vehicle.RegistrationNumber)
|
||||
</dd>
|
||||
<dt class="col-sm-2">
|
||||
@Html.DisplayNameFor(model => model.TransportLoadingOrder.Partner)
|
||||
</dt>
|
||||
<dd class="col-sm-10">
|
||||
@Html.DisplayFor(model => model.TransportLoadingOrder.Partner.City)
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div>
|
||||
<a asp-page="./Edit" asp-route-id="@Model.TransportLoadingOrder.IdTransportLoadingOrder">Edit</a> |
|
||||
<a asp-page="./Index">Back to List</a>
|
||||
</div>
|
||||
45
EveryThing/Pages/TransportLoadingOrder/Details.cshtml.cs
Normal file
45
EveryThing/Pages/TransportLoadingOrder/Details.cshtml.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using EveryThing.Data;
|
||||
using EveryThing.Models.Transport;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
namespace EveryThing.Pages.TransportLoadingOrder
|
||||
{
|
||||
[Authorize(Roles = "Administrator,TransportThingUser")]
|
||||
public class DetailsModel : PageModel
|
||||
{
|
||||
private readonly EveryThing.Data.ApplicationDbContext _context;
|
||||
|
||||
public DetailsModel(EveryThing.Data.ApplicationDbContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public Models.Transport.TransportLoadingOrder TransportLoadingOrder { get; set; }
|
||||
|
||||
public async Task<IActionResult> OnGetAsync(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders
|
||||
.Include(t => t.Company)
|
||||
.Include(t => t.Partner)
|
||||
.Include(t => t.Vehicle).FirstOrDefaultAsync(m => m.IdTransportLoadingOrder == id);
|
||||
|
||||
if (TransportLoadingOrder == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
return Page();
|
||||
}
|
||||
}
|
||||
}
|
||||
292
EveryThing/Pages/TransportLoadingOrder/Edit.cshtml
Normal file
292
EveryThing/Pages/TransportLoadingOrder/Edit.cshtml
Normal file
@@ -0,0 +1,292 @@
|
||||
@page "{handler?}"
|
||||
@model EveryThing.Pages.TransportLoadingOrder.EditModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Urejanje naloga";
|
||||
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<!-- Editor -->
|
||||
<link rel="stylesheet" href="~/vendor/libs/quill/typography.css" asp-append-version="true" />
|
||||
<link rel="stylesheet" href="~/vendor/libs/quill/editor.css" asp-append-version="true" />
|
||||
|
||||
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
|
||||
<span>
|
||||
<span class="text-muted font-weight-light">Nalog /</span> Urejanje
|
||||
</span>
|
||||
</h4>
|
||||
|
||||
<div class="nav-tabs-top nav-responsive-sm">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="tab" href="#item-basic">Osnovni podatki</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="tab" href="#item-positions">Pozicije</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade show active" id="item-basic">
|
||||
<form method="post" data-ajax="true" data-ajax-method="post" asp-page-handler="order" onsubmit="handleEditors()">
|
||||
<div class="card-body">
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder" />
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.IdCompanyFk" />
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.OrderNumber" />
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.OrderYear" />
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.IdPartnerFk" class="form-label"></label>
|
||||
<select asp-for="TransportLoadingOrder.IdPartnerFk" class="form-control" asp-items="ViewBag.IdPartnerFk"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<label class="form-label">Nakladalni nalog</label>
|
||||
<br />
|
||||
<h4>
|
||||
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderYear) - @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderNumber)
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.OrderCity" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.OrderCity" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrder.OrderCity" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.OrderDate" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.OrderDate" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrder.OrderDate" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.VehicleText" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.VehicleText" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrder.VehicleText" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrder.Total" class="form-label"></label>
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text">€</div>
|
||||
</div>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrder.Total" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group mb-0">
|
||||
<label asp-for="TransportLoadingOrder.PreText" class="form-label"></label>
|
||||
<input type="hidden" id="value-pretext" asp-for="@Model.TransportLoadingOrder.PreText" />
|
||||
<div id="editor-pretext" style="height: 250px">
|
||||
@Html.Raw(Model.TransportLoadingOrder.PreText)
|
||||
</div>
|
||||
<span asp-validation-for="TransportLoadingOrder.PreText" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group mb-0">
|
||||
<label asp-for="TransportLoadingOrder.PostText" class="form-label"></label>
|
||||
<input type="hidden" id="value-posttext" asp-for="@Model.TransportLoadingOrder.PostText" />
|
||||
<div id="editor-posttext" style="height: 250px">
|
||||
@Html.Raw(Model.TransportLoadingOrder.PostText)
|
||||
</div>
|
||||
<span asp-validation-for="TransportLoadingOrder.PostText" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-3 text-right">
|
||||
<button type="submit" class="btn btn-primary">Shrani nalog</button>
|
||||
<a asp-page="Index" class="btn btn-default">Prekliči</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade" id="item-positions">
|
||||
<div class="card-body">
|
||||
<form method="post" data-ajax="true" data-ajax-method="post" asp-page-handler="positionadd" data-ajax-complete="laddaAddPosition.stop(); loadPosition();" data-ajax-begin="laddaAddPosition.start();" onsubmit="handleEditors()">
|
||||
<div class="row">
|
||||
<input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder" />
|
||||
<div class="col-4">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Naklad</label>
|
||||
<select asp-for="TransportLoadingOrderLoadUnload.IdLoadingFk" class="form-control" asp-items="ViewBag.IdLoadingFk">
|
||||
<option value="">Izberite naklad ali vnesite naslov naklada</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.LoadingText" class="form-label"></label>
|
||||
<textarea rows="3" asp-for="TransportLoadingOrderLoadUnload.LoadingText" class="form-control"></textarea>
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.LoadingText" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.LoadingDateFrom" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.LoadingDateFrom" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.LoadingDateFrom" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.LoadingDateTo" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.LoadingDateTo" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.LoadingDateTo" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.LoadingReference" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.LoadingReference" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.LoadingReference" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.LoadingNote" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.LoadingNote" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.LoadingNote" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label class="form-label">Razklad</label>
|
||||
<select asp-for="TransportLoadingOrderLoadUnload.IdUnloadingFk" class="form-control" asp-items="ViewBag.IdUnloadingFk">
|
||||
<option value="">Izberite razklad ali vnesite naslov razklada</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.UnloadingText" class="form-label"></label>
|
||||
<textarea rows="3" asp-for="TransportLoadingOrderLoadUnload.UnloadingText" class="form-control"></textarea>
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.UnloadingText" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.UnloadingDateFrom" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.UnloadingDateFrom" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.UnloadingDateFrom" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.UnloadingDateTo" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.UnloadingDateTo" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.UnloadingDateTo" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.UnloadingReference" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.UnloadingReference" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.UnloadingReference" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.UnloadingNote" class="form-label"></label>
|
||||
<input autocomplete="off" asp-for="TransportLoadingOrderLoadUnload.UnloadingNote" class="form-control" />
|
||||
<span asp-validation-for="TransportLoadingOrderLoadUnload.UnloadingNote" class="text-danger"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="form-group">
|
||||
<label asp-for="TransportLoadingOrderLoadUnload.CargoDescription" class="form-label"></label>
|
||||
<input type="hidden" id="value-cargodescription" asp-for="@Model.TransportLoadingOrderLoadUnload.CargoDescription" />
|
||||
<div id="editor-cargodescription" style="height: 277px">
|
||||
@Html.Raw(Model.TransportLoadingOrderLoadUnload.CargoDescription)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 text-right">
|
||||
<button type="submit" id="addPosition" class="btn btn-primary ladda-button" data-style="zoom-out">Dodaj naklad/razklad</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="card-footer py-3" id="loadPositions">
|
||||
<div id="positionsTable"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
|
||||
<!-- Editor -->
|
||||
<script src="~/vendor/libs/quill/quill.js" asp-append-version="true"></script>
|
||||
|
||||
<script>
|
||||
var Block = Quill.import('blots/block');
|
||||
Block.tagName = 'DIV';
|
||||
Quill.register(Block, true);
|
||||
|
||||
var laddaAddPosition = Ladda.create(document.querySelector('#addPosition'));
|
||||
|
||||
let editorPreText = new Quill('#editor-pretext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'],[{ 'list': 'ordered' }, { 'list': 'bullet' }],['align'],['clean']] }, theme: 'snow' });
|
||||
let editorPostText = new Quill('#editor-posttext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'],[{ 'list': 'ordered' }, { 'list': 'bullet' }],['align'],['clean']] }, theme: 'snow' });
|
||||
let editorCargoDescription = new Quill('#editor-cargodescription', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
|
||||
|
||||
function handleEditors() {
|
||||
document.getElementById('value-pretext').value = editorPreText.root.innerHTML;
|
||||
document.getElementById('value-posttext').value = editorPostText.root.innerHTML;
|
||||
document.getElementById('value-cargodescription').value = editorCargoDescription.root.innerHTML;
|
||||
}
|
||||
|
||||
function loadPosition() {
|
||||
loadStartElement('#loadPositions');
|
||||
$('#positionsTable').load('/TransportLoadingOrder/Edit?id=' + @Request.Query["id"] + '&handler=indexloadunload', function() {
|
||||
$('[data-toggle="tooltip"]').tooltip({ container: 'table' });
|
||||
loadEndElement('#loadPositions');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
loadPosition();
|
||||
});
|
||||
</script>
|
||||
}
|
||||
161
EveryThing/Pages/TransportLoadingOrder/Edit.cshtml.cs
Normal file
161
EveryThing/Pages/TransportLoadingOrder/Edit.cshtml.cs
Normal file
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using EveryThing.Data;
|
||||
using EveryThing.Models;
|
||||
using EveryThing.Models.Transport;
|
||||
|
||||
namespace EveryThing.Pages.TransportLoadingOrder
|
||||
{
|
||||
[Authorize(Roles = "Administrator,TransportThingUser")]
|
||||
public class EditModel : PageModel
|
||||
{
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly UserManager<IdentityApplicationUser> _userManager;
|
||||
|
||||
public EditModel(ApplicationDbContext context, UserManager<IdentityApplicationUser> userManager)
|
||||
{
|
||||
_context = context;
|
||||
_userManager = userManager;
|
||||
}
|
||||
|
||||
[BindProperty]
|
||||
public Models.Transport.TransportLoadingOrder TransportLoadingOrder { get; set; }
|
||||
|
||||
[BindProperty]
|
||||
public TransportLoadingOrderLoadUnload TransportLoadingOrderLoadUnload { get; set; }
|
||||
|
||||
public IList<TransportLoadingOrderLoadUnload> TransportLoadingOrderLoadUnloadList { get; set; }
|
||||
|
||||
public async Task<IActionResult> OnGetAsync(int? id)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
if (id == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders
|
||||
.Include(t => t.Partner)
|
||||
.Include(t => t.Vehicle).FirstOrDefaultAsync(m => m.IdTransportLoadingOrder == id && m.IdCompanyFk == user.IdCompanyFk);
|
||||
|
||||
TransportLoadingOrderLoadUnload = new TransportLoadingOrderLoadUnload();
|
||||
|
||||
if (TransportLoadingOrder == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
ViewData["IdPartnerFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
|
||||
ViewData["IdVehicleFk"] = new SelectList(_context.Vehicles.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdVehicle", "RegistrationNumber");
|
||||
ViewData["IdLoadingFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
|
||||
ViewData["IdUnloadingFk"] = new SelectList(_context.CodeTablePartners.Where(x => x.IdCompanyFk == user.IdCompanyFk), "IdPartner", "Title");
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostOrderAsync()
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return Page();
|
||||
}
|
||||
|
||||
TransportLoadingOrder.PostText = TransportLoadingOrder.PostText.Replace("<div><br></div>", "");
|
||||
TransportLoadingOrder.PreText = TransportLoadingOrder.PreText.Replace("<div><br></div>", "");
|
||||
|
||||
_context.Attach(TransportLoadingOrder).State = EntityState.Modified;
|
||||
|
||||
try
|
||||
{
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
catch (DbUpdateConcurrencyException)
|
||||
{
|
||||
if (!TransportLoadingOrderExists(TransportLoadingOrder.IdTransportLoadingOrder))
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
TransportLoadingOrderLoadUnload = new TransportLoadingOrderLoadUnload();
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostPositionAddAsync()
|
||||
{
|
||||
TransportLoadingOrderLoadUnload.IdTransportLoadingOrderFk = TransportLoadingOrder.IdTransportLoadingOrder;
|
||||
TransportLoadingOrderLoadUnload.CargoDescription = TransportLoadingOrderLoadUnload.CargoDescription.Replace("<div><br></div>", "");
|
||||
|
||||
_context.TransportLoadingOrderLoadUnloads.Add(TransportLoadingOrderLoadUnload);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetPositionRemoveAsync(int idTransportLoadingOrder, int id)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders
|
||||
.Include(t => t.Partner)
|
||||
.Include(t => t.Vehicle).FirstOrDefaultAsync(m => m.IdTransportLoadingOrder == idTransportLoadingOrder && m.IdCompanyFk == user.IdCompanyFk);
|
||||
|
||||
TransportLoadingOrderLoadUnload = new TransportLoadingOrderLoadUnload();
|
||||
|
||||
if (TransportLoadingOrder != null)
|
||||
{
|
||||
var transportLoadingOrderLoadUnload = await _context.TransportLoadingOrderLoadUnloads.FirstOrDefaultAsync(x => x.IdTransportLoadingOrderFk == TransportLoadingOrder.IdTransportLoadingOrder && x.IdTransportLoadingOrderLoadUnload == id);
|
||||
|
||||
if (transportLoadingOrderLoadUnload != null)
|
||||
{
|
||||
_context.TransportLoadingOrderLoadUnloads.Remove(transportLoadingOrderLoadUnload);
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetIndexLoadUnloadAsync(int id)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
var transportLoadingOrder = await _context.TransportLoadingOrders.FirstOrDefaultAsync(x => x.IdTransportLoadingOrder == id && x.IdCompanyFk == user.IdCompanyFk);
|
||||
|
||||
if (transportLoadingOrder != null)
|
||||
{
|
||||
var transportLoadingOrderLoadUnloadList = await _context.TransportLoadingOrderLoadUnloads
|
||||
.Where(x => x.IdTransportLoadingOrderFk == transportLoadingOrder.IdTransportLoadingOrder)
|
||||
.Include(x => x.Loading)
|
||||
.Include(x => x.Unloading).ToListAsync();
|
||||
|
||||
return Partial("IndexLoadUnload", transportLoadingOrderLoadUnloadList);
|
||||
}
|
||||
|
||||
return NotFound();
|
||||
}
|
||||
|
||||
private bool TransportLoadingOrderExists(int id)
|
||||
{
|
||||
return _context.TransportLoadingOrders.Any(e => e.IdTransportLoadingOrder == id);
|
||||
}
|
||||
}
|
||||
}
|
||||
80
EveryThing/Pages/TransportLoadingOrder/Index.cshtml
Normal file
80
EveryThing/Pages/TransportLoadingOrder/Index.cshtml
Normal file
@@ -0,0 +1,80 @@
|
||||
@page
|
||||
@model EveryThing.Pages.TransportLoadingOrder.IndexModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Nakladi-Razkladi";
|
||||
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
|
||||
<span>
|
||||
<span class="text-muted font-weight-light">Nakladi-Razkladi /</span> Pregled
|
||||
</span>
|
||||
</h4>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 mb-2 text-right">
|
||||
<form method="get">
|
||||
<div class="btn-group">
|
||||
<input class="form-control" type="text" name="searchString" value="@ViewData["SearchString"]" placeholder="Iskanje..." autocomplete="off">
|
||||
<button type="submit" class="btn btn-secondary" aria-label="Osveži" title="Osveži">
|
||||
<i class="opacity-75 ion ion-md-refresh"></i>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
|
||||
<h6 class="card-header">
|
||||
Seznam nakladov-razkladov
|
||||
</h6>
|
||||
|
||||
<table class="table card-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 160px;">
|
||||
Številka naloga
|
||||
</th>
|
||||
<th style="width: 130px">
|
||||
Datum naloga
|
||||
</th>
|
||||
<th>
|
||||
Partner
|
||||
</th>
|
||||
<th style="width: 80px;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model.TransportLoadingOrder)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.OrderYear)-@Html.DisplayFor(modelItem => item.OrderNumber)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.OrderDate)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.Partner.Title)
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<a class="btn btn-xs icon-btn btn-outline-primary borderless" asp-page="Print" asp-route-id="@item.IdTransportLoadingOrder" data-toggle="tooltip" data-placement="top" title="Tiskanje" data-state="primary"><i class="ion ion-md-print"></i></a>
|
||||
<a class="btn btn-xs icon-btn btn-outline-secondary borderless" asp-page="Edit" asp-route-id="@item.IdTransportLoadingOrder" data-toggle="tooltip" data-placement="top" title="Urejanje" data-state="secondary"><i class="fas fa-pencil-alt"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="card-footer py-3 text-right">
|
||||
<a asp-page="Create" class="btn btn-primary">Vnos naloga</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
<script>
|
||||
$('[data-toggle="tooltip"]').tooltip({container: 'table'});
|
||||
</script>
|
||||
}
|
||||
48
EveryThing/Pages/TransportLoadingOrder/Index.cshtml.cs
Normal file
48
EveryThing/Pages/TransportLoadingOrder/Index.cshtml.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using EveryThing.Data;
|
||||
using EveryThing.Models;
|
||||
using EveryThing.Models.Transport;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
|
||||
namespace EveryThing.Pages.TransportLoadingOrder
|
||||
{
|
||||
[Authorize(Roles = "Administrator,TransportThingUser")]
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
private readonly EveryThing.Data.ApplicationDbContext _context;
|
||||
private readonly UserManager<IdentityApplicationUser> _userManager;
|
||||
|
||||
public IndexModel(EveryThing.Data.ApplicationDbContext context, UserManager<IdentityApplicationUser> userManager)
|
||||
{
|
||||
_context = context;
|
||||
_userManager = userManager;
|
||||
}
|
||||
|
||||
public IList<Models.Transport.TransportLoadingOrder> TransportLoadingOrder { get;set; }
|
||||
|
||||
public async Task OnGetAsync(string searchString)
|
||||
{
|
||||
ViewData["SearchString"] = searchString;
|
||||
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders
|
||||
.Include(t => t.Partner)
|
||||
.Where(x => x.IdCompanyFk == user.IdCompanyFk)
|
||||
.OrderByDescending(x => x.OrderYear).ThenByDescending(x => x.OrderNumber)
|
||||
.ToListAsync();
|
||||
|
||||
if (!string.IsNullOrEmpty(searchString))
|
||||
{
|
||||
TransportLoadingOrder = TransportLoadingOrder.Where(x => x.Company.Title.Contains(searchString) || x.OrderYear + "-" + x.OrderNumber == searchString).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
120
EveryThing/Pages/TransportLoadingOrder/IndexLoadUnload.cshtml
Normal file
120
EveryThing/Pages/TransportLoadingOrder/IndexLoadUnload.cshtml
Normal file
@@ -0,0 +1,120 @@
|
||||
@using System.Web
|
||||
@model IList<EveryThing.Models.Transport.TransportLoadingOrderLoadUnload>
|
||||
|
||||
<table class="table card-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Naklad
|
||||
</th>
|
||||
<th>
|
||||
Razklad
|
||||
</th>
|
||||
<th>
|
||||
Tovor
|
||||
</th>
|
||||
<th style="width: 60px;"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var item in Model)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@if (item.IdLoadingFk == null)
|
||||
{
|
||||
@Html.Raw(item.LoadingText.Replace(Environment.NewLine, "<br/>"))
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.DisplayFor(modelItem => item.Loading.Title) <br />
|
||||
@Html.DisplayFor(modelItem => item.Loading.Street) @($" ") @Html.DisplayFor(modelItem => item.Loading.HouseNumber) <br />
|
||||
@Html.DisplayFor(modelItem => item.Loading.PostNumber) @($" ") @Html.DisplayFor(modelItem => item.Loading.Post)
|
||||
}
|
||||
<br />
|
||||
|
||||
@if (item.LoadingDateFrom != null)
|
||||
{
|
||||
<br />
|
||||
@item.LoadingDateFrom.Value.ToString("dd.MM.yyyy")
|
||||
|
||||
@if (item.LoadingDateTo != null && item.LoadingDateTo.Value.Date != item.LoadingDateFrom.Value.Date)
|
||||
{
|
||||
@($" - ") @item.LoadingDateTo.Value.ToString("dd.MM.yyyy")
|
||||
}
|
||||
|
||||
<br />
|
||||
@item.LoadingDateFrom.Value.ToString("HH:mm")
|
||||
|
||||
@if (item.LoadingDateTo != null)
|
||||
{
|
||||
@($" - ") @item.LoadingDateTo.Value.ToString("HH:mm")
|
||||
}
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.LoadingReference))
|
||||
{
|
||||
<br />
|
||||
@($"Referenca: ") @Html.DisplayFor(modelItem => item.LoadingReference)
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.LoadingNote))
|
||||
{
|
||||
<br />
|
||||
@($"Opomba: ") @Html.DisplayFor(modelItem => item.LoadingNote)
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
@if (item.IdUnloadingFk == null)
|
||||
{
|
||||
@Html.Raw(item.UnloadingText.Replace(Environment.NewLine, "<br/>"))
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.DisplayFor(modelItem => item.Unloading.Title) <br />
|
||||
@Html.DisplayFor(modelItem => item.Unloading.Street) @($" ") @Html.DisplayFor(modelItem => item.Unloading.HouseNumber) <br />
|
||||
@Html.DisplayFor(modelItem => item.Unloading.PostNumber) @($" ") @Html.DisplayFor(modelItem => item.Unloading.Post)
|
||||
}
|
||||
<br />
|
||||
|
||||
@if (item.UnloadingDateFrom != null)
|
||||
{
|
||||
<br />
|
||||
@item.UnloadingDateFrom.Value.ToString("dd.MM.yyyy")
|
||||
|
||||
@if (item.UnloadingDateTo != null && item.UnloadingDateTo.Value.Date != item.UnloadingDateFrom.Value.Date)
|
||||
{
|
||||
@($" - ") @item.UnloadingDateTo.Value.ToString("dd.MM.yyyy")
|
||||
}
|
||||
|
||||
<br />
|
||||
@item.UnloadingDateFrom.Value.ToString("HH:mm")
|
||||
|
||||
@if (item.UnloadingDateTo != null)
|
||||
{
|
||||
@($" - ") @item.UnloadingDateTo.Value.ToString("HH:mm")
|
||||
}
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.UnloadingReference))
|
||||
{
|
||||
<br />
|
||||
@($"Referenca: ") @Html.DisplayFor(modelItem => item.UnloadingReference)
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.UnloadingNote))
|
||||
{
|
||||
<br />
|
||||
@($"Opomba: ") @Html.DisplayFor(modelItem => item.UnloadingNote)
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
@Html.Raw(HttpUtility.HtmlDecode(item.CargoDescription))
|
||||
</td>
|
||||
<td class="text-right">@*data-ajax-url="/index/partial"*@
|
||||
<a class="btn btn-xs icon-btn btn-outline-danger borderless" data-ajax="true" data-ajax-begin="loadStartElement('#loadPositions');" data-ajax-complete="loadPosition()" asp-page="Edit" asp-page-handler="positionremove" asp-route-idTransportLoadingOrder="@item.IdTransportLoadingOrderFk" asp-route-id="@item.IdTransportLoadingOrderLoadUnload" data-toggle="tooltip" data-placement="top" title="Odstrani" data-state="danger"><i class="fas fa-times"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
266
EveryThing/Pages/TransportLoadingOrder/Print.cshtml
Normal file
266
EveryThing/Pages/TransportLoadingOrder/Print.cshtml
Normal file
@@ -0,0 +1,266 @@
|
||||
@page
|
||||
@using System.Web
|
||||
@model EveryThing.Pages.TransportLoadingOrder.PrintModel
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Izpis";
|
||||
Layout = "~/Pages/Layouts/_Layout.cshtml";
|
||||
}
|
||||
|
||||
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
|
||||
<span>
|
||||
<span class="text-muted font-weight-light">Nalog /</span> Izpis
|
||||
</span>
|
||||
</h4>
|
||||
|
||||
<div class="card pt-2" style="width: 595pt">
|
||||
<div id="print-content" class="card-body pb-4 pl-4 pt-0" style="padding-right: 2rem !important">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6 h-100 my-auto">
|
||||
<img src="~/img/logos/@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.LogoFileName)"/>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<address class="mb-0">
|
||||
<strong>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Title)</strong> <br/>
|
||||
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Street) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.HouseNumber) <br/>
|
||||
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.PostNumber) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Post) <br/>
|
||||
<div style="font-size: 0.7rem">
|
||||
E-pošta: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Email), Tel.: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Phone) <br/>
|
||||
ID za DDV: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.TaxNumber), Matična številka: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.RegistrationNumber)<br/>
|
||||
IBAN: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Iban) SWIFT/BIC: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.SwiftBic)
|
||||
</div>
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<address class="mb-2">
|
||||
<strong>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Title)</strong> <br/>
|
||||
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Street) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.HouseNumber) <br/>
|
||||
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.PostNumber) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Post) <br/>
|
||||
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Partner.Country.TranslationSlovenian) <br/>
|
||||
</address>
|
||||
|
||||
<div class="mb-3">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderCity), <strong class="font-weight-semibold">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderDate)</strong></div>
|
||||
|
||||
<h6 class="text-big font-weight-bold mb-3">Nakladalni nalog št. @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderYear)-@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderNumber)</h6>
|
||||
|
||||
<div class="mb-2" style="font-size: 0.75rem">
|
||||
@Html.Raw(HttpUtility.HtmlDecode(Model.TransportLoadingOrder.PreText))
|
||||
</div>
|
||||
|
||||
<div class="table-responsive mb-4">
|
||||
<table class="table m-0">
|
||||
<thead style="font-size: 0.75rem">
|
||||
<tr>
|
||||
<th class="py-1">
|
||||
Naklad
|
||||
</th>
|
||||
<th class="py-1">
|
||||
Razklad
|
||||
</th>
|
||||
<th class="py-1">
|
||||
Tovor
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="font-size: 0.75rem">
|
||||
@foreach (var item in Model.TransportLoadingOrderLoadUnloadList)
|
||||
{
|
||||
<tr>
|
||||
<td class="py-3">
|
||||
@if (item.IdLoadingFk == null)
|
||||
{
|
||||
@Html.Raw(item.LoadingText.Replace(Environment.NewLine, "<br/>"))
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.DisplayFor(modelItem => item.Loading.Title) <br />
|
||||
@Html.DisplayFor(modelItem => item.Loading.Street) @($" ") @Html.DisplayFor(modelItem => item.Loading.HouseNumber) <br />
|
||||
@Html.DisplayFor(modelItem => item.Loading.PostNumber) @($" ") @Html.DisplayFor(modelItem => item.Loading.Post)
|
||||
}
|
||||
<br />
|
||||
|
||||
@if (item.LoadingDateFrom != null)
|
||||
{
|
||||
<br />
|
||||
@item.LoadingDateFrom.Value.ToString("dd.MM.yyyy")
|
||||
|
||||
@if (item.LoadingDateTo != null && item.LoadingDateTo.Value.Date != item.LoadingDateFrom.Value.Date)
|
||||
{
|
||||
@($" - ") @item.LoadingDateTo.Value.ToString("dd.MM.yyyy")
|
||||
}
|
||||
|
||||
<br />
|
||||
@item.LoadingDateFrom.Value.ToString("HH:mm")
|
||||
|
||||
@if (item.LoadingDateTo != null)
|
||||
{
|
||||
@($" - ") @item.LoadingDateTo.Value.ToString("HH:mm")
|
||||
}
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.LoadingReference))
|
||||
{
|
||||
<br />
|
||||
@($"Referenca: ") @Html.DisplayFor(modelItem => item.LoadingReference)
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.LoadingNote))
|
||||
{
|
||||
<br />
|
||||
@($"Opomba: ") @Html.DisplayFor(modelItem => item.LoadingNote)
|
||||
}
|
||||
</td>
|
||||
<td class="py-3">
|
||||
@if (item.IdUnloadingFk == null)
|
||||
{
|
||||
@Html.Raw(item.UnloadingText.Replace(Environment.NewLine, "<br/>"))
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.DisplayFor(modelItem => item.Unloading.Title) <br />
|
||||
@Html.DisplayFor(modelItem => item.Unloading.Street) @($" ") @Html.DisplayFor(modelItem => item.Unloading.HouseNumber) <br />
|
||||
@Html.DisplayFor(modelItem => item.Unloading.PostNumber) @($" ") @Html.DisplayFor(modelItem => item.Unloading.Post)
|
||||
}
|
||||
<br />
|
||||
|
||||
@if (item.UnloadingDateFrom != null)
|
||||
{
|
||||
<br />
|
||||
@item.UnloadingDateFrom.Value.ToString("dd.MM.yyyy")
|
||||
|
||||
@if (item.UnloadingDateTo != null && item.UnloadingDateTo.Value.Date != item.UnloadingDateFrom.Value.Date)
|
||||
{
|
||||
@($" - ") @item.UnloadingDateTo.Value.ToString("dd.MM.yyyy")
|
||||
}
|
||||
|
||||
<br />
|
||||
@item.UnloadingDateFrom.Value.ToString("HH:mm")
|
||||
|
||||
@if (item.UnloadingDateTo != null)
|
||||
{
|
||||
@($" - ") @item.UnloadingDateTo.Value.ToString("HH:mm")
|
||||
}
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.UnloadingReference))
|
||||
{
|
||||
<br />
|
||||
@($"Referenca: ") @Html.DisplayFor(modelItem => item.UnloadingReference)
|
||||
}
|
||||
|
||||
@if (!string.IsNullOrEmpty(item.UnloadingNote))
|
||||
{
|
||||
<br />
|
||||
@($"Opomba: ") @Html.DisplayFor(modelItem => item.UnloadingNote)
|
||||
}
|
||||
</td>
|
||||
<td class="py-3">
|
||||
@Html.Raw(HttpUtility.HtmlDecode(item.CargoDescription))
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
Vozilo: <b>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.VehicleText)</b>
|
||||
</div>
|
||||
<div class="mb-4">
|
||||
Cena za nakladalni nalog: <b>@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Total) €</b>
|
||||
</div>
|
||||
|
||||
<div style="font-size: 0.75rem">
|
||||
@Html.Raw(HttpUtility.HtmlDecode(Model.TransportLoadingOrder.PostText))
|
||||
</div>
|
||||
|
||||
<div class="row pt-3" style="font-size: 0.85rem">
|
||||
<div class="col-4"></div>
|
||||
<div class="col-4"></div>
|
||||
<div class="col-4 text-center">
|
||||
Direktor <br /> @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Ceo)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: none" id="footer1">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Title), @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Street) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.HouseNumber), @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.PostNumber) @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Post), @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Country.TranslationSlovenian); ID za DDV: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.TaxNumber), E-pošta: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Email), Tel.: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Phone)</div>
|
||||
<div style="display: none" id="footer2">@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Bank); IBAN: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.Iban); SWIFT/BIC: @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.Company.SwiftBic)</div>
|
||||
|
||||
</div>
|
||||
<div class="card-footer text-right">
|
||||
<button id="print" type="button" class="btn btn-primary ladda-button" data-style="zoom-out"><i class="ion ion-md-print"></i> Natisni</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@section Scripts {
|
||||
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
|
||||
|
||||
<!-- PDF -->
|
||||
<script src="~/vendor/libs/html2pdf.js/dist/html2pdf.bundle.min.js" asp-append-version="true"></script>
|
||||
|
||||
<script>
|
||||
var laddaPrint = Ladda.create(document.querySelector('#print'));
|
||||
|
||||
var element = document.getElementById('print-content');
|
||||
var opt = {
|
||||
pagebreak: { mode: 'avoid-all' },
|
||||
filename: 'nalog.pdf',
|
||||
image: { type: 'png' },
|
||||
enableLinks: false,
|
||||
margin: [5, 0, 13, 0],
|
||||
html2canvas: {
|
||||
scale: 4,
|
||||
scrollX: 0,
|
||||
scrollY: 0,
|
||||
dpi: 300,
|
||||
letterRendering: true
|
||||
},
|
||||
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
|
||||
};
|
||||
|
||||
function print() {
|
||||
laddaPrint.start();
|
||||
|
||||
html2pdf().set(opt).from(element).toPdf().get('pdf').then(function (pdf) {
|
||||
|
||||
var totalPages = pdf.internal.getNumberOfPages();
|
||||
for (i = 1; i <= totalPages; i++) {
|
||||
pdf.setPage(i);
|
||||
pdf.setFontSize(8);
|
||||
pdf.setTextColor(0);
|
||||
var fontSize = pdf.internal.getFontSize();
|
||||
var pageWidth = pdf.internal.pageSize.width;
|
||||
|
||||
var txt = $('#footer1').text();
|
||||
var txtWidth = pdf.getStringUnitWidth(txt) * fontSize / pdf.internal.scaleFactor;
|
||||
var x = (pageWidth - txtWidth) / 2;
|
||||
|
||||
pdf.text(x, pdf.internal.pageSize.getHeight() - 8, txt);
|
||||
|
||||
txt = $('#footer2').text();
|
||||
txtWidth = pdf.getStringUnitWidth(txt) * fontSize / pdf.internal.scaleFactor;
|
||||
x = (pageWidth - txtWidth) / 2;
|
||||
|
||||
pdf.text(x, pdf.internal.pageSize.getHeight() - 5, txt);
|
||||
|
||||
//pdf.addImage("YOUR_IMAGE", 'JPEG', pdf.internal.pageSize.getWidth() - 1.1, pdf.internal.pageSize.getHeight() - 0.25, 1, 0.2);
|
||||
}
|
||||
laddaPrint.stop();
|
||||
|
||||
window.open(pdf.output('bloburl'), '_blank');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
//print();
|
||||
});
|
||||
|
||||
$("#print").click(function () {
|
||||
print();
|
||||
});
|
||||
</script>
|
||||
}
|
||||
55
EveryThing/Pages/TransportLoadingOrder/Print.cshtml.cs
Normal file
55
EveryThing/Pages/TransportLoadingOrder/Print.cshtml.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using EveryThing.Data;
|
||||
using EveryThing.Models;
|
||||
using EveryThing.Models.Transport;
|
||||
|
||||
namespace EveryThing.Pages.TransportLoadingOrder
|
||||
{
|
||||
[Authorize(Roles = "Administrator,TransportThingUser")]
|
||||
public class PrintModel : PageModel
|
||||
{
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly UserManager<IdentityApplicationUser> _userManager;
|
||||
|
||||
public Models.Transport.TransportLoadingOrder TransportLoadingOrder { get; set; }
|
||||
public IList<TransportLoadingOrderLoadUnload> TransportLoadingOrderLoadUnloadList { get; set; }
|
||||
|
||||
public PrintModel(ApplicationDbContext context, UserManager<IdentityApplicationUser> userManager)
|
||||
{
|
||||
_context = context;
|
||||
_userManager = userManager;
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetAsync(int id)
|
||||
{
|
||||
var user = _userManager.GetUserAsync(User).Result;
|
||||
|
||||
TransportLoadingOrder = await _context.TransportLoadingOrders
|
||||
.Include(x => x.Company)
|
||||
.Include(x => x.Company.Country)
|
||||
.Include(x => x.Partner)
|
||||
.Include(x => x.Partner.Country)
|
||||
.FirstOrDefaultAsync(x => x.IdTransportLoadingOrder == id && x.IdCompanyFk == user.IdCompanyFk);
|
||||
|
||||
if (TransportLoadingOrder != null)
|
||||
{
|
||||
TransportLoadingOrderLoadUnloadList = await _context.TransportLoadingOrderLoadUnloads
|
||||
.Where(x => x.IdTransportLoadingOrderFk == TransportLoadingOrder.IdTransportLoadingOrder)
|
||||
.Include(x => x.Loading)
|
||||
.Include(x => x.Unloading).ToListAsync();
|
||||
|
||||
return Page();
|
||||
}
|
||||
|
||||
return NotFound();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user