Billing: fix calculation

This commit is contained in:
2023-11-02 11:57:38 +01:00
parent 193b4688d3
commit 9f67448b72
20 changed files with 327 additions and 117 deletions

View File

@ -16,17 +16,52 @@ namespace Elwig.Models {
[Column("precision")]
public byte Precision { get; set; }
[Column("max_kg_per_ha")]
public int MaxKgPerHa { get; set; }
[Column("vat_normal")]
public double VatNormal { get; set; }
[Column("vat_flatrate")]
public double VatFlatrate { get; set; }
[Column("min_kg_per_bs")]
public int MinKgPerBusinessShare { get; set; }
[Column("max_kg_per_bs")]
public int MaxKgPerBusinessShare { get; set; }
[Column("penalty_per_kg")]
public long? PenaltyPerKgValue { get; set; }
[NotMapped]
public decimal? PenaltyPerKg {
get => PenaltyPerKgValue != null ? DecFromDb(PenaltyPerKgValue.Value) : null;
set => PenaltyPerKgValue = value != null ? DecToDb(value.Value) : null;
}
[Column("penalty_amount")]
public long? PenaltyAmoutValue { get; set; }
[NotMapped]
public decimal? PenaltyAmount {
get => PenaltyAmoutValue != null ? DecFromDb(PenaltyAmoutValue.Value) : null;
set => PenaltyAmoutValue = value != null ? DecToDb(value.Value) : null;
}
[Column("penalty_none")]
public long? PenaltyNoneValue { get; set; }
[NotMapped]
public decimal? PenaltyNone {
get => PenaltyNoneValue != null ? DecFromDb(PenaltyNoneValue.Value) : null;
set => PenaltyNoneValue = value != null ? DecToDb(value.Value) : null;
}
[Column("start_date")]
public string? StartDateString { get; set; }
[NotMapped]
public DateOnly? StartDate {
get {
return StartDateString != null ? DateOnly.ParseExact(StartDateString, "yyyy-MM-dd") : null;
}
set {
StartDateString = value?.ToString("yyyy-MM-dd");
}
get => StartDateString != null ? DateOnly.ParseExact(StartDateString, "yyyy-MM-dd") : null;
set => StartDateString = value?.ToString("yyyy-MM-dd");
}
[Column("end_date")]
@ -34,12 +69,8 @@ namespace Elwig.Models {
[NotMapped]
public DateOnly? EndDate {
get {
return EndDateString != null ? DateOnly.ParseExact(EndDateString, "yyyy-MM-dd") : null;
}
set {
EndDateString = value?.ToString("yyyy-MM-dd");
}
get => EndDateString != null ? DateOnly.ParseExact(EndDateString, "yyyy-MM-dd") : null;
set => EndDateString = value?.ToString("yyyy-MM-dd");
}
[ForeignKey("CurrencyCode")]