Billing: Add feature to calculate member/delivery bins

This commit is contained in:
2023-10-11 23:46:38 +02:00
parent badf4ce955
commit 4d950b2597
16 changed files with 351 additions and 131 deletions

View File

@ -113,5 +113,12 @@ namespace Elwig.Models {
[NotMapped]
public string OriginString => Origin.OriginString + "\n" + (Kg?.Gl != null ? $" / {Kg.Gl.Name}" : "") + (Kg != null ? $" / {Kg.AtKg.Gem.Name} / KG {Kg.AtKg.Name}" : "") + (Rd != null ? $" / Ried {Rd.Name}" : "");
[InverseProperty("Part")]
public virtual DeliveryPartBin Bin { get; private set; }
[NotMapped]
public int[] Bins => (new int?[] { Bin.Bin1, Bin.Bin2, Bin.Bin3, Bin.Bin4, Bin.Bin5, Bin.Bin6, Bin.Bin7, Bin.Bin8, Bin.Bin9 })
.Where(b => b != null).Select(b => b.Value).ToArray();
}
}

View File

@ -0,0 +1,46 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
namespace Elwig.Models {
[Table("delivery_part_bin"), PrimaryKey("Year", "DId", "DPNr")]
public class DeliveryPartBin {
[Column("year")]
public int Year { get; set; }
[Column("did")]
public int DId { get; set; }
[Column("dpnr")]
public int DPNr { get; set; }
[ForeignKey("Year, DId, DPNr")]
public virtual DeliveryPart Part { get; private set; }
[Column("bin_1")]
public int? Bin1 { get; set; }
[Column("bin_2")]
public int? Bin2 { get; set; }
[Column("bin_3")]
public int? Bin3 { get; set; }
[Column("bin_4")]
public int? Bin4 { get; set; }
[Column("bin_5")]
public int? Bin5 { get; set; }
[Column("bin_6")]
public int? Bin6 { get; set; }
[Column("bin_7")]
public int? Bin7 { get; set; }
[Column("bin_8")]
public int? Bin8 { get; set; }
[Column("bin_9")]
public int? Bin9 { get; set; }
}
}

View File

@ -34,37 +34,6 @@ namespace Elwig.Models {
set => ModRelValue = (double)value;
}
[Column("bucket_1")]
public int? Bucket1 { get; set; }
[Column("bucket_2")]
public int? Bucket2 { get; set; }
[Column("bucket_3")]
public int? Bucket3 { get; set; }
[Column("bucket_4")]
public int? Bucket4 { get; set; }
[Column("bucket_5")]
public int? Bucket5 { get; set; }
[Column("bucket_6")]
public int? Bucket6 { get; set; }
[Column("bucket_7")]
public int? Bucket7 { get; set; }
[Column("bucket_8")]
public int? Bucket8 { get; set; }
[Column("bucket_9")]
public int? Bucket9 { get; set; }
[NotMapped]
public int[] Buckets => (new int?[] { Bucket1, Bucket2, Bucket3, Bucket4, Bucket5, Bucket6, Bucket7, Bucket8, Bucket9 })
.Where(b => b != null).Select(b => b.Value).ToArray();
[Column("price_1")]
public long? Price1Value { get; set; }
[NotMapped]

View File

@ -40,37 +40,6 @@ namespace Elwig.Models {
[Column("calc_time")]
public int? CalcTime { get; set; }
[Column("bucket_1_name")]
public string? Bucket1Name { get; set; }
[Column("bucket_2_name")]
public string? Bucket2Name { get; set; }
[Column("bucket_3_name")]
public string? Bucket3Name { get; set; }
[Column("bucket_4_name")]
public string? Bucket4Name { get; set; }
[Column("bucket_5_name")]
public string? Bucket5Name { get; set; }
[Column("bucket_6_name")]
public string? Bucket6Name { get; set; }
[Column("bucket_7_name")]
public string? Bucket7Name { get; set; }
[Column("bucket_8_name")]
public string? Bucket8Name { get; set; }
[Column("bucket_9_name")]
public string? Bucket9Name { get; set; }
[NotMapped]
public string[] BucketNames => (new string?[] { Bucket1Name, Bucket2Name, Bucket3Name, Bucket4Name, Bucket5Name, Bucket6Name, Bucket7Name, Bucket8Name, Bucket9Name })
.Where(n => n != null).Select(n => n ?? "").ToArray();
[Column("comment")]
public string? Comment { get; set; }

View File

@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
namespace Elwig.Models {
[Table("season"), PrimaryKey("Year")]
@ -42,6 +43,37 @@ namespace Elwig.Models {
}
}
[Column("bin_1_name")]
public string? Bin1Name { get; set; }
[Column("bin_2_name")]
public string? Bin2Name { get; set; }
[Column("bin_3_name")]
public string? Bin3Name { get; set; }
[Column("bin_4_name")]
public string? Bin4Name { get; set; }
[Column("bin_5_name")]
public string? Bin5Name { get; set; }
[Column("bin_6_name")]
public string? Bin6Name { get; set; }
[Column("bin_7_name")]
public string? Bin7Name { get; set; }
[Column("bin_8_name")]
public string? Bin8Name { get; set; }
[Column("bin_9_name")]
public string? Bin9Name { get; set; }
[NotMapped]
public string[] BinNames => (new string?[] { Bin1Name, Bin2Name, Bin3Name, Bin4Name, Bin5Name, Bin6Name, Bin7Name, Bin8Name, Bin9Name })
.Where(n => n != null).Select(n => n ?? "").ToArray();
[ForeignKey("CurrencyCode")]
public virtual Currency Currency { get; private set; }