using System.Xml.Serialization; using Abstractions.SerializationTypes; namespace MedusaPluginChargeMachine.Models.Response; [XmlRoot("eacharge")] [Serializable] public class EaChargeConfigResponse { [XmlAttribute("status")] public required int Status { get; set; } [XmlAttribute("expire")] public required int Expire { get; set; } [XmlElement("chargeoptions")] public required XrpcString ChargeOptions { get; set; } [XmlElement("chargearticle")] public required EaChargeConfigChargeArticle ChargeArticle { get; set; } [XmlElement("chargedetail")] public required EaChargeConfigChargeDetail ChargeDetail { get; set; } [XmlElement("chargestatus")] public required EaChargeConfigChargeStatus ChargeStatus { get; set; } } public record EaChargeConfigChargeArticle { [XmlElement("articlerevision")] public required XrpcString ArticleRevision { get; set; } [XmlArray("articlelist")] [XmlArrayItem("item")] public required List ArticleList { get; set; } } public record EaChargeConfigChargeArticleItem { [XmlElement("articletype")] public required XrpcString ArticleType { get; set; } [XmlElement("articledoc")] public required XrpcString ArticleDoc { get; set; } } public record EaChargeConfigChargeDetail { [XmlElement("chargedaily")] public required XrpcInt ChargeDaily { get; set; } [XmlElement("chargedailylimit")] public required XrpcInt ChargeDailyLimit { get; set; } } public record EaChargeConfigChargeStatus { [XmlElement("currentcode")] public required XrpcInt CurrentCode { get; set; } [XmlElement("lastchargestatus")] public required XrpcInt LastChargeStatus { get; set; } }