84 lines
3.0 KiB
C#

using System.ComponentModel.DataAnnotations;
namespace gehGassi.Web.Models
{
/// <summary>
/// Viewmodel für Versandkosten
/// </summary>
public class ShipmentCostVm
{
/// <summary>
/// Eindeutige Id
/// </summary>
[Required(ErrorMessage = "Err_Required")]
public int Id { get; set; }
/// <summary>
/// Startgewicht
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Range(0.0, 100000, ErrorMessage = "Err_Range")]
[Display(Name = "ShipmentCost_WeightFrom", Description = "ShipmentCost_WeightFrom_Desc")]
public decimal WeightFrom { get; set; }
/// <summary>
/// Endgewicht
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Range(0.0, 100000, ErrorMessage = "Err_Range")]
[Display(Name = "ShipmentCost_WeightTo", Description = "ShipmentCost_WeightTo_Desc")]
public decimal WeightTo { get; set; }
/// <summary>
/// Start Zwischensumme
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Range(0.0, 100000000, ErrorMessage = "Err_Range")]
[Display(Name = "ShipmentCost_SubtotalFrom", Description = "ShipmentCost_SubtotalFrom_Desc")]
public decimal SubtotalFrom { get; set; }
/// <summary>
/// End-Zwischensumme
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Range(0.0, 100000000, ErrorMessage = "Err_Range")]
[Display(Name = "ShipmentCost_SubtotalTo", Description = "ShipmentCost_SubtotalTo_Desc")]
public decimal SubtotalTo { get; set; }
/// <summary>
/// Fixer Aufschlag
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Range(0.0, 100000000, ErrorMessage = "Err_Range")]
[Display(Name = "ShipmentCost_FixedPrice", Description = "ShipmentCost_FixedPrice_Desc")]
public decimal FixedPrice { get; set; }
/// <summary>
/// Prozent-Wert der Zwischensumme
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[Range(0.0, 100.0, ErrorMessage = "Err_Range")]
[Display(Name = "ShipmentCost_SubtotalPercent", Description = "ShipmentCost_SubtotalPercent_Desc")]
public decimal SubtotalPercent { get; set; }
/// <summary>
/// Zielland - oder leer für ALLE
/// </summary>
[Required(ErrorMessage = "Err_Required")]
[MaxLength(2, ErrorMessage = "Err_StringLength_Max")]
[Display(Name = "ShipmentCost_TargetCountryIso", Description = "ShipmentCost_TargetCountryIso_Desc")]
public string TargetCountryIso { get; set; }
}
/// <summary>
/// Viewmodel für das Anlegen und Bearbeiten einer Versandkostenregel
/// </summary>
public class ShipmentCostCrudVm : ShipmentCostVm
{
/// <summary>
/// Name des Landes. In dieser Variante ist "--" --> Alle
/// </summary>
public string TargetCountryName { get; set; }
}
}