diff --git a/DXApp.TemplateKitProject/Migrations/20260527133241_AddGuidelineId.Designer.cs b/DXApp.TemplateKitProject/Migrations/20260527133241_AddGuidelineId.Designer.cs new file mode 100644 index 0000000..a0b3771 --- /dev/null +++ b/DXApp.TemplateKitProject/Migrations/20260527133241_AddGuidelineId.Designer.cs @@ -0,0 +1,85 @@ +// +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("20260527133241_AddGuidelineId")] + partial class AddGuidelineId + { + /// + 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("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("BuyerName") + .HasColumnType("nvarchar(max)"); + + b.Property("CurrencyCode") + .HasColumnType("nvarchar(max)"); + + b.Property("GuidelineId") + .HasColumnType("nvarchar(max)"); + + b.Property("Iban") + .HasColumnType("nvarchar(max)"); + + b.Property("ImportedAt") + .HasColumnType("datetime2"); + + b.Property("InvoiceDate") + .HasColumnType("datetime2"); + + b.Property("InvoiceNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("RawXml") + .HasColumnType("nvarchar(max)"); + + b.Property("ResultFilePath") + .HasColumnType("nvarchar(max)"); + + b.Property("SellerName") + .HasColumnType("nvarchar(max)"); + + b.Property("SellerTaxId") + .HasColumnType("nvarchar(max)"); + + b.Property("SourceType") + .HasColumnType("nvarchar(max)"); + + b.Property("TaxAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("TotalAmount") + .HasColumnType("decimal(18,2)"); + + b.HasKey("Id"); + + b.ToTable("ZugferdInvoices"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/DXApp.TemplateKitProject/Migrations/20260527133241_AddGuidelineId.cs b/DXApp.TemplateKitProject/Migrations/20260527133241_AddGuidelineId.cs new file mode 100644 index 0000000..7ea21fa --- /dev/null +++ b/DXApp.TemplateKitProject/Migrations/20260527133241_AddGuidelineId.cs @@ -0,0 +1,28 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace DXApp.TemplateKitProject.Migrations +{ + /// + public partial class AddGuidelineId : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "GuidelineId", + table: "ZugferdInvoices", + type: "nvarchar(max)", + nullable: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "GuidelineId", + table: "ZugferdInvoices"); + } + } +} diff --git a/DXApp.TemplateKitProject/Migrations/AppDbContextModelSnapshot.cs b/DXApp.TemplateKitProject/Migrations/AppDbContextModelSnapshot.cs index e5f481e..cf75b6c 100644 --- a/DXApp.TemplateKitProject/Migrations/AppDbContextModelSnapshot.cs +++ b/DXApp.TemplateKitProject/Migrations/AppDbContextModelSnapshot.cs @@ -36,6 +36,9 @@ namespace DXApp.TemplateKitProject.Migrations b.Property("CurrencyCode") .HasColumnType("nvarchar(max)"); + b.Property("GuidelineId") + .HasColumnType("nvarchar(max)"); + b.Property("Iban") .HasColumnType("nvarchar(max)"); diff --git a/DXApp.TemplateKitProject/Models/ZugferdInvoice.cs b/DXApp.TemplateKitProject/Models/ZugferdInvoice.cs index 0da23fb..969fac2 100644 --- a/DXApp.TemplateKitProject/Models/ZugferdInvoice.cs +++ b/DXApp.TemplateKitProject/Models/ZugferdInvoice.cs @@ -12,9 +12,10 @@ public decimal TaxAmount { get; set; } public string CurrencyCode { get; set; } = string.Empty; public string Iban { get; set; } = string.Empty; - public string RawXml { get; set; } = string.Empty; // Original-XML zur Sicherheit + public string RawXml { get; set; } = string.Empty; // Original-XML zur Sicherheit public DateTime ImportedAt { get; set; } - public string SourceType { get; set; } = string.Empty; // "Upload" oder "Email" + public string SourceType { get; set; } = string.Empty; // "Upload" oder "Email" public string ResultFilePath { get; set; } = string.Empty; // Pfad der Result-PDF + public string GuidelineId { get; set; } = string.Empty; // ZUGFeRD Guideline-ID aus XMP } } \ No newline at end of file