This commit is contained in:
David Štaleker
2023-05-23 14:57:29 +02:00
parent a45fe73754
commit 257f8730b2
10 changed files with 2556 additions and 119 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,57 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace EveryThing.Migrations
{
public partial class _2 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Type",
table: "CodeTablePrePostText");
migrationBuilder.CreateTable(
name: "CodeTablePrePostTextLink",
columns: table => new
{
IdPrePostTextLink = table.Column<int>(type: "int", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
IdPrePostTextFk = table.Column<int>(type: "int", nullable: false),
Type = table.Column<int>(type: "int", nullable: false),
Link = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_CodeTablePrePostTextLink", x => x.IdPrePostTextLink);
table.ForeignKey(
name: "FK_CodeTablePrePostTextLink_CodeTablePrePostText_IdPrePostTextFk",
column: x => x.IdPrePostTextFk,
principalTable: "CodeTablePrePostText",
principalColumn: "IdPrePostText",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_CodeTablePrePostTextLink_IdPrePostTextFk",
table: "CodeTablePrePostTextLink",
column: "IdPrePostTextFk");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CodeTablePrePostTextLink");
migrationBuilder.AddColumn<string>(
name: "Type",
table: "CodeTablePrePostText",
type: "longtext",
nullable: false)
.Annotation("MySql:CharSet", "utf8mb4");
}
}
}

View File

@@ -393,10 +393,6 @@ namespace EveryThing.Migrations
b.Property<int>("IdCompanyFk") b.Property<int>("IdCompanyFk")
.HasColumnType("int"); .HasColumnType("int");
b.Property<string>("Type")
.IsRequired()
.HasColumnType("longtext");
b.HasKey("IdPrePostText"); b.HasKey("IdPrePostText");
b.HasIndex("IdCompanyFk"); b.HasIndex("IdCompanyFk");
@@ -404,6 +400,28 @@ namespace EveryThing.Migrations
b.ToTable("CodeTablePrePostText"); b.ToTable("CodeTablePrePostText");
}); });
modelBuilder.Entity("EveryThing.Models.CodeTable.CodeTablePrePostTextLink", b =>
{
b.Property<int>("IdPrePostTextLink")
.ValueGeneratedOnAdd()
.HasColumnType("int");
b.Property<int>("IdPrePostTextFk")
.HasColumnType("int");
b.Property<int>("Link")
.HasColumnType("int");
b.Property<int>("Type")
.HasColumnType("int");
b.HasKey("IdPrePostTextLink");
b.HasIndex("IdPrePostTextFk");
b.ToTable("CodeTablePrePostTextLink");
});
modelBuilder.Entity("EveryThing.Models.Document", b => modelBuilder.Entity("EveryThing.Models.Document", b =>
{ {
b.Property<int>("IdDocument") b.Property<int>("IdDocument")
@@ -1582,6 +1600,17 @@ namespace EveryThing.Migrations
b.Navigation("Company"); b.Navigation("Company");
}); });
modelBuilder.Entity("EveryThing.Models.CodeTable.CodeTablePrePostTextLink", b =>
{
b.HasOne("EveryThing.Models.CodeTable.CodeTablePrePostText", "CodeTablePrePostText")
.WithMany("CodeTablePrePostTextLinks")
.HasForeignKey("IdPrePostTextFk")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("CodeTablePrePostText");
});
modelBuilder.Entity("EveryThing.Models.Document", b => modelBuilder.Entity("EveryThing.Models.Document", b =>
{ {
b.HasOne("EveryThing.Models.DocumentType", "DocumentType") b.HasOne("EveryThing.Models.DocumentType", "DocumentType")
@@ -2124,6 +2153,11 @@ namespace EveryThing.Migrations
b.Navigation("PartnerTransportLoadingOrderUnload"); b.Navigation("PartnerTransportLoadingOrderUnload");
}); });
modelBuilder.Entity("EveryThing.Models.CodeTable.CodeTablePrePostText", b =>
{
b.Navigation("CodeTablePrePostTextLinks");
});
modelBuilder.Entity("EveryThing.Models.DocumentType", b => modelBuilder.Entity("EveryThing.Models.DocumentType", b =>
{ {
b.Navigation("DocumentTypeDocument"); b.Navigation("DocumentTypeDocument");

View File

@@ -17,15 +17,15 @@ namespace EveryThing.Models.CodeTable
[ForeignKey("Company")] [ForeignKey("Company")]
public int IdCompanyFk { get; set; } public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Vrsta")]
public string Type { get; set; }
[Required] [Required]
[Display(Name = "Vsebina")] [Display(Name = "Vsebina")]
public string Content { get; set; } public string Content { get; set; }
// ForeingKey // ForeingKey
public CodeTableCompany Company { get; set; } public CodeTableCompany Company { get; set; }
// Partner
[InverseProperty("CodeTablePrePostText")]
public virtual ICollection<CodeTablePrePostTextLink> CodeTablePrePostTextLinks { get; set; }
} }
} }

View File

@@ -0,0 +1,47 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace EveryThing.Models.CodeTable
{
public class CodeTablePrePostTextLink
{
public enum TypeEnum
{
[Display(Name = "Uvodni")]
PreText = 1,
[Display(Name = "Zaključni")]
PostText = 2
}
public enum LinkEnum
{
[Display(Name = "Nalog za naklad")]
TransportLoadingOrder = 1,
[Display(Name = "Fakturiranje računi")]
InvoicesBills = 2,
[Display(Name = "Fakturiranje naročila dobaviteljem")]
InvoicesSuppliersOrders = 3,
[Display(Name = "Fakturiranje naročila kupcev")]
InvoicesBuyersOrders = 4
}
[Key]
public int IdPrePostTextLink { get; set; }
[Required]
[ForeignKey("CodeTablePrePostText")]
public int IdPrePostTextFk { get; set; }
[Required]
[Display(Name = "Vrsta")]
public TypeEnum Type { get; set; }
[Required]
[Display(Name = "Veza")]
public LinkEnum Link { get; set; }
// ForeingKey
public CodeTablePrePostText CodeTablePrePostText { get; set; }
}
}

View File

@@ -5,12 +5,13 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using EveryThing.Models.CodeTable; using EveryThing.Models.CodeTable;
using MessagePack;
namespace EveryThing.Models.Transport namespace EveryThing.Models.Transport
{ {
public class TransportLoadingOrder public class TransportLoadingOrder
{ {
[Key] [System.ComponentModel.DataAnnotations.Key]
public int IdTransportLoadingOrder { get; set; } public int IdTransportLoadingOrder { get; set; }
[Required] [Required]
@@ -28,6 +29,9 @@ namespace EveryThing.Models.Transport
[Required] [Required]
public int OrderYear { get; set; } public int OrderYear { get; set; }
[NotMapped]
public string OrderNumberDisplay => $"{OrderYear}-{OrderNumber:D5}";
[Required] [Required]
[Display(Name = "Kraj naloga")] [Display(Name = "Kraj naloga")]
public string OrderCity { get; set; } public string OrderCity { get; set; }

View File

@@ -1,5 +1,5 @@
@page "{handler?}" @page "{handler?}"
@model EveryThing.Pages.TransportLoadingOrder.EditModel @model EveryThing.Pages.TransportLoadingOrder.AddEditModel
@{ @{
ViewData["Title"] = "Urejanje naloga"; ViewData["Title"] = "Urejanje naloga";
@@ -9,10 +9,19 @@
<!-- Editor --> <!-- Editor -->
<link rel="stylesheet" href="~/vendor/libs/quill/typography.css" asp-append-version="true" /> <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" /> <link rel="stylesheet" href="~/vendor/libs/quill/editor.css" asp-append-version="true" />
<link rel="stylesheet" href="~/vendor/libs/select2/select2.css" asp-append-version="true" />
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4"> <h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-1 mb-4">
<span> <span>
<span class="text-muted font-weight-light">Nalog /</span> Urejanje <span class="text-muted font-weight-light">Nalog /</span>
@if (Model.TransportLoadingOrder.IdTransportLoadingOrder > 0)
{
<span>Urejanje</span>
}
else
{
<span>Vnos</span>
}
</span> </span>
</h4> </h4>
@@ -21,19 +30,23 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#item-basic">Osnovni podatki</a> <a class="nav-link active" data-toggle="tab" href="#item-basic">Osnovni podatki</a>
</li> </li>
@if (Model.TransportLoadingOrder.IdTransportLoadingOrder > 0)
{
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#item-positions">Pozicije</a> <a class="nav-link" data-toggle="tab" href="#item-positions">Pozicije</a>
</li> </li>
}
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane fade show active" id="item-basic"> <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()"> <form method="post" data-ajax="true" data-ajax-method="post" asp-page-handler="order" data-ajax-complete="orderPostCompleted" onsubmit="handleEditors()">
<div class="card-body"> <div class="card-body">
<input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder" /> <input type="hidden" asp-for="TransportLoadingOrder.IdTransportLoadingOrder"/>
<input type="hidden" asp-for="TransportLoadingOrder.IdCompanyFk" /> <input type="hidden" asp-for="TransportLoadingOrder.IdCompanyFk"/>
<input type="hidden" asp-for="TransportLoadingOrder.OrderNumber" /> <input type="hidden" asp-for="TransportLoadingOrder.OrderNumber"/>
<input type="hidden" asp-for="TransportLoadingOrder.OrderYear" /> <input type="hidden" asp-for="TransportLoadingOrder.OrderYear"/>
<div class="row"> <div class="row">
<div class="col-6"> <div class="col-6">
<div class="form-group"> <div class="form-group">
@@ -43,9 +56,12 @@
</div> </div>
<div class="col-6 text-right"> <div class="col-6 text-right">
<label class="form-label">Nakladalni nalog</label> <label class="form-label">Nakladalni nalog</label>
<br /> <br/>
<h4> <h4>
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderYear) - @Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderNumber) @if (Model.TransportLoadingOrder.IdTransportLoadingOrder > 0)
{
@Html.DisplayFor(modelItem => Model.TransportLoadingOrder.OrderNumberDisplay)
}
</h4> </h4>
</div> </div>
</div> </div>
@@ -53,13 +69,14 @@
<div class="col-3"> <div class="col-3">
<div class="form-group"> <div class="form-group">
<label asp-for="TransportLoadingOrder.OrderCity" class="form-label"></label> <label asp-for="TransportLoadingOrder.OrderCity" class="form-label"></label>
<input autocomplete="off" asp-for="TransportLoadingOrder.OrderCity" class="form-control" /> <input autocomplete="off" asp-for="TransportLoadingOrder.OrderCity" class="form-control"/>
<span asp-validation-for="TransportLoadingOrder.OrderCity" class="text-danger"></span> <span asp-validation-for="TransportLoadingOrder.OrderCity" class="text-danger"></span>
</div> </div>
</div> </div>
<div class="col-3"> <div class="col-3">
<div class="form-group"> <div class="form-group">
<label asp-for="TransportLoadingOrder.OrderDate" class="form-label"></label> <label asp-for="TransportLoadingOrder.OrderDate" class="form-label"></label>
@*@Html.TextBoxFor(m => m.TransportLoadingOrder.OrderDate, "{0:yyyy-MM-dd}", new { @class = "form-control", type = "date" })*@
<input autocomplete="off" asp-for="TransportLoadingOrder.OrderDate" class="form-control" /> <input autocomplete="off" asp-for="TransportLoadingOrder.OrderDate" class="form-control" />
<span asp-validation-for="TransportLoadingOrder.OrderDate" class="text-danger"></span> <span asp-validation-for="TransportLoadingOrder.OrderDate" class="text-danger"></span>
</div> </div>
@@ -67,7 +84,7 @@
<div class="col-3"> <div class="col-3">
<div class="form-group"> <div class="form-group">
<label asp-for="TransportLoadingOrder.VehicleText" class="form-label"></label> <label asp-for="TransportLoadingOrder.VehicleText" class="form-label"></label>
<input autocomplete="off" asp-for="TransportLoadingOrder.VehicleText" class="form-control" /> <input autocomplete="off" asp-for="TransportLoadingOrder.VehicleText" class="form-control"/>
<span asp-validation-for="TransportLoadingOrder.VehicleText" class="text-danger"></span> <span asp-validation-for="TransportLoadingOrder.VehicleText" class="text-danger"></span>
</div> </div>
</div> </div>
@@ -87,7 +104,7 @@
<div class="col-6"> <div class="col-6">
<div class="form-group mb-0"> <div class="form-group mb-0">
<label asp-for="TransportLoadingOrder.PreText" class="form-label"></label> <label asp-for="TransportLoadingOrder.PreText" class="form-label"></label>
<input type="hidden" id="value-pretext" asp-for="@Model.TransportLoadingOrder.PreText" /> <input type="hidden" id="value-pretext" asp-for="@Model.TransportLoadingOrder.PreText"/>
<div id="editor-pretext" style="height: 250px"> <div id="editor-pretext" style="height: 250px">
@Html.Raw(Model.TransportLoadingOrder.PreText) @Html.Raw(Model.TransportLoadingOrder.PreText)
</div> </div>
@@ -97,7 +114,7 @@
<div class="col-6"> <div class="col-6">
<div class="form-group mb-0"> <div class="form-group mb-0">
<label asp-for="TransportLoadingOrder.PostText" class="form-label"></label> <label asp-for="TransportLoadingOrder.PostText" class="form-label"></label>
<input type="hidden" id="value-posttext" asp-for="@Model.TransportLoadingOrder.PostText" /> <input type="hidden" id="value-posttext" asp-for="@Model.TransportLoadingOrder.PostText"/>
<div id="editor-posttext" style="height: 250px"> <div id="editor-posttext" style="height: 250px">
@Html.Raw(Model.TransportLoadingOrder.PostText) @Html.Raw(Model.TransportLoadingOrder.PostText)
</div> </div>
@@ -123,7 +140,7 @@
<div class="col-12"> <div class="col-12">
<div class="form-group"> <div class="form-group">
<label class="form-label">Naklad</label> <label class="form-label">Naklad</label>
<select asp-for="TransportLoadingOrderLoadUnload.IdLoadingFk" class="form-control" asp-items="ViewBag.IdLoadingFk"> <select asp-for="TransportLoadingOrderLoadUnload.IdLoadingFk" class="form-control select2" asp-items="ViewBag.IdLoadingFk">
<option value="">Izberite naklad ali vnesite naslov naklada</option> <option value="">Izberite naklad ali vnesite naslov naklada</option>
</select> </select>
</div> </div>
@@ -176,7 +193,7 @@
<div class="col-12"> <div class="col-12">
<div class="form-group"> <div class="form-group">
<label class="form-label">Razklad</label> <label class="form-label">Razklad</label>
<select asp-for="TransportLoadingOrderLoadUnload.IdUnloadingFk" class="form-control" asp-items="ViewBag.IdUnloadingFk"> <select asp-for="TransportLoadingOrderLoadUnload.IdUnloadingFk" class="form-control select2" asp-items="ViewBag.IdUnloadingFk">
<option value="">Izberite razklad ali vnesite naslov razklada</option> <option value="">Izberite razklad ali vnesite naslov razklada</option>
</select> </select>
</div> </div>
@@ -231,7 +248,7 @@
<label asp-for="TransportLoadingOrderLoadUnload.CargoDescription" class="form-label"></label> <label asp-for="TransportLoadingOrderLoadUnload.CargoDescription" class="form-label"></label>
<input type="hidden" id="value-cargodescription" asp-for="@Model.TransportLoadingOrderLoadUnload.CargoDescription" /> <input type="hidden" id="value-cargodescription" asp-for="@Model.TransportLoadingOrderLoadUnload.CargoDescription" />
<div id="editor-cargodescription" style="height: 277px"> <div id="editor-cargodescription" style="height: 277px">
@Html.Raw(Model.TransportLoadingOrderLoadUnload.CargoDescription) @Html.Raw(Model.TransportLoadingOrderLoadUnload?.CargoDescription)
</div> </div>
</div> </div>
</div> </div>
@@ -259,6 +276,7 @@
<!-- Editor --> <!-- Editor -->
<script src="~/vendor/libs/quill/quill.js" asp-append-version="true"></script> <script src="~/vendor/libs/quill/quill.js" asp-append-version="true"></script>
<script src="~/vendor/libs/select2/select2.js" asp-append-version="true"></script>
<script> <script>
var Block = Quill.import('blots/block'); var Block = Quill.import('blots/block');
@@ -266,10 +284,11 @@
Quill.register(Block, true); Quill.register(Block, true);
var laddaAddPosition = Ladda.create(document.querySelector('#addPosition')); var laddaAddPosition = Ladda.create(document.querySelector('#addPosition'));
//var laddaSaveOrder = Ladda.create(document.querySelector('#saveOrder'));
let editorPreText = new Quill('#editor-pretext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'],[{ 'list': 'ordered' }, { 'list': 'bullet' }],['align'],['clean']] }, theme: 'snow' }); let editorPreText;
let editorPostText = new Quill('#editor-posttext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'],[{ 'list': 'ordered' }, { 'list': 'bullet' }],['align'],['clean']] }, theme: 'snow' }); let editorPostText;
let editorCargoDescription = new Quill('#editor-cargodescription', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' }); let editorCargoDescription;
function handleEditors() { function handleEditors() {
document.getElementById('value-pretext').value = editorPreText.root.innerHTML; document.getElementById('value-pretext').value = editorPreText.root.innerHTML;
@@ -279,14 +298,24 @@
function loadPosition() { function loadPosition() {
loadStartElement('#loadPositions'); loadStartElement('#loadPositions');
$('#positionsTable').load('/TransportLoadingOrder/Edit?id=' + @Request.Query["id"] + '&handler=indexloadunload', function() { $('#positionsTable').load('/TransportLoadingOrder/AddEdit?id=' + @Request.Query["id"] + '&handler=indexloadunload', function() {
$('[data-toggle="tooltip"]').tooltip({ container: 'table' }); $('[data-toggle="tooltip"]').tooltip({ container: 'table' });
loadEndElement('#loadPositions'); loadEndElement('#loadPositions');
}); });
} }
$(document).ready(function () { $(document).ready(function () {
$('.select2').select2();
editorPreText = new Quill('#editor-pretext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
editorPostText = new Quill('#editor-posttext', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
editorCargoDescription = new Quill('#editor-cargodescription', { modules: { toolbar: [['bold', 'italic', 'underline'], ['color'], [{ 'list': 'ordered' }, { 'list': 'bullet' }], ['align'], ['clean']] }, theme: 'snow' });
loadPosition(); loadPosition();
}); });
orderPostCompleted = function (xhr) {
//location.replace('AddEdit?Id=' + xhr.responseJSON.id);
//laddaSaveOrder.stop();
alert(1);
};
</script> </script>
} }

View File

@@ -12,16 +12,17 @@ using Microsoft.EntityFrameworkCore;
using EveryThing.Data; using EveryThing.Data;
using EveryThing.Models; using EveryThing.Models;
using EveryThing.Models.Transport; using EveryThing.Models.Transport;
using DocumentFormat.OpenXml.Spreadsheet;
namespace EveryThing.Pages.TransportLoadingOrder namespace EveryThing.Pages.TransportLoadingOrder
{ {
[Authorize(Roles = "Administrator,TransportThingUser")] [Authorize(Roles = "Administrator,TransportThingUser")]
public class EditModel : PageModel public class AddEditModel : PageModel
{ {
private readonly ApplicationDbContext _context; private readonly ApplicationDbContext _context;
private readonly UserManager<IdentityApplicationUser> _userManager; private readonly UserManager<IdentityApplicationUser> _userManager;
public EditModel(ApplicationDbContext context, UserManager<IdentityApplicationUser> userManager) public AddEditModel(ApplicationDbContext context, UserManager<IdentityApplicationUser> userManager)
{ {
_context = context; _context = context;
_userManager = userManager; _userManager = userManager;
@@ -39,9 +40,29 @@ namespace EveryThing.Pages.TransportLoadingOrder
{ {
var user = _userManager.GetUserAsync(User).Result; var user = _userManager.GetUserAsync(User).Result;
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");
if (id == null) if (id == null)
{ {
return NotFound(); 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>"
};
TransportLoadingOrderLoadUnload = new TransportLoadingOrderLoadUnload();
return Page();
} }
TransportLoadingOrder = await _context.TransportLoadingOrders TransportLoadingOrder = await _context.TransportLoadingOrders
@@ -55,24 +76,28 @@ namespace EveryThing.Pages.TransportLoadingOrder
return NotFound(); 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(); return Page();
} }
public async Task<IActionResult> OnPostOrderAsync() public async Task<IActionResult> OnPostOrderAsync()
{ {
System.Diagnostics.Debug.WriteLine("OnPostOrderAsync");
var user = _userManager.GetUserAsync(User).Result;
if (!ModelState.IsValid) 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(); return Page();
} }
TransportLoadingOrder.PostText = TransportLoadingOrder.PostText.Replace("<div><br></div>", ""); TransportLoadingOrder.PostText = TransportLoadingOrder.PostText.Replace("<div><br></div>", "");
TransportLoadingOrder.PreText = TransportLoadingOrder.PreText.Replace("<div><br></div>", ""); TransportLoadingOrder.PreText = TransportLoadingOrder.PreText.Replace("<div><br></div>", "");
if (TransportLoadingOrder.IdTransportLoadingOrder > 0)
{
_context.Attach(TransportLoadingOrder).State = EntityState.Modified; _context.Attach(TransportLoadingOrder).State = EntityState.Modified;
try try
@@ -96,6 +121,21 @@ namespace EveryThing.Pages.TransportLoadingOrder
return Page(); return Page();
} }
// OrderNumber and OrderYear
var 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;
_context.TransportLoadingOrders.Add(TransportLoadingOrder);
await _context.SaveChangesAsync();
return new JsonResult(new { id = TransportLoadingOrder .IdTransportLoadingOrder});
}
public async Task<IActionResult> OnPostPositionAddAsync() public async Task<IActionResult> OnPostPositionAddAsync()
{ {
TransportLoadingOrderLoadUnload.IdTransportLoadingOrderFk = TransportLoadingOrder.IdTransportLoadingOrder; TransportLoadingOrderLoadUnload.IdTransportLoadingOrderFk = TransportLoadingOrder.IdTransportLoadingOrder;

View File

@@ -61,7 +61,7 @@
</td> </td>
<td class="text-right"> <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-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> <a class="btn btn-xs icon-btn btn-outline-secondary borderless" asp-page="AddEdit" 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> </td>
</tr> </tr>
} }
@@ -69,7 +69,7 @@
</table> </table>
<div class="card-footer py-3 text-right"> <div class="card-footer py-3 text-right">
<a asp-page="Create" class="btn btn-primary">Vnos naloga</a> <a asp-page="AddEdit" class="btn btn-primary">Vnos naloga</a>
</div> </div>
</div> </div>

View File

@@ -23,7 +23,7 @@
<td> <td>
@if (item.IdLoadingFk == null) @if (item.IdLoadingFk == null)
{ {
@Html.Raw(item.LoadingText.Replace(Environment.NewLine, "<br/>")) @Html.Raw(item.LoadingText?.Replace(Environment.NewLine, "<br/>"))
} }
else else
{ {
@@ -67,7 +67,7 @@
<td> <td>
@if (item.IdUnloadingFk == null) @if (item.IdUnloadingFk == null)
{ {
@Html.Raw(item.UnloadingText.Replace(Environment.NewLine, "<br/>")) @Html.Raw(item.UnloadingText?.Replace(Environment.NewLine, "<br/>"))
} }
else else
{ {