Enhanced `ZugferdInvoice` model with default string values to prevent nulls. Updated `Upload.cshtml` to display parsed invoice data. Refactored `Upload.cshtml.cs` to handle ZUGFeRD XML parsing and database storage. Introduced `ImportedInvoice` property and buffered file processing with `MemoryStream`. Extended `ZugferdParserService` to support ZUGFeRD v1, v1.0 FeRD, and v2/Factur-X. Added version-specific parsing methods and namespaces. Improved date and decimal parsing for robustness. Added database migration (`20260522084606_InitialCreate`) to define `ZugferdInvoices` table. Updated migration snapshot to reflect schema changes. Fixed localization issue in `Upload.cshtml.cs` error message.
80 lines
2.7 KiB
C#
80 lines
2.7 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using DXApp.TemplateKitProject.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Metadata;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
#nullable disable
|
|
|
|
namespace DXApp.TemplateKitProject.Migrations
|
|
{
|
|
[DbContext(typeof(AppDbContext))]
|
|
[Migration("20260522084606_InitialCreate")]
|
|
partial class InitialCreate
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "8.0.8")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
|
|
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
|
|
|
modelBuilder.Entity("DXApp.TemplateKitProject.Models.ZugferdInvoice", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("int");
|
|
|
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("BuyerName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("CurrencyCode")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("Iban")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<DateTime>("ImportedAt")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<DateTime>("InvoiceDate")
|
|
.HasColumnType("datetime2");
|
|
|
|
b.Property<string>("InvoiceNumber")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("RawXml")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SellerName")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SellerTaxId")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<string>("SourceType")
|
|
.HasColumnType("nvarchar(max)");
|
|
|
|
b.Property<decimal>("TaxAmount")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<decimal>("TotalAmount")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("ZugferdInvoices");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|