|
| 1 | +/* |
| 2 | + * OpenAPI |
| 3 | + * |
| 4 | + * OpenAPI |
| 5 | + * |
| 6 | + * The version of the OpenAPI document: 0.0.1 |
| 7 | + * Generated by: https://github.com/openapitools/openapi-generator.git |
| 8 | + */ |
| 9 | + |
| 10 | + |
| 11 | +using System; |
| 12 | +using System.Collections; |
| 13 | +using System.Collections.Generic; |
| 14 | +using System.Collections.ObjectModel; |
| 15 | +using System.Linq; |
| 16 | +using System.IO; |
| 17 | +using System.Runtime.Serialization; |
| 18 | +using System.Text; |
| 19 | +using System.Text.RegularExpressions; |
| 20 | +using Newtonsoft.Json; |
| 21 | +using Newtonsoft.Json.Converters; |
| 22 | +using Newtonsoft.Json.Linq; |
| 23 | +using System.ComponentModel.DataAnnotations; |
| 24 | +using OpenAPIDateConverter = HubsanteModel/Rcde.Client.OpenAPIDateConverter; |
| 25 | + |
| 26 | +namespace HubsanteModel/Rcde.Model |
| 27 | +{ |
| 28 | + /// <summary> |
| 29 | + /// DistributionElement |
| 30 | + /// </summary> |
| 31 | + [DataContract(Name = "DistributionElement")] |
| 32 | + public partial class DistributionElement : IValidatableObject |
| 33 | + { |
| 34 | + /// <summary> |
| 35 | + /// Prend la valeur <distributionKind de l'enveloppe EDXL (voir DST) |
| 36 | + /// </summary> |
| 37 | + /// <value>Prend la valeur <distributionKind de l'enveloppe EDXL (voir DST)</value> |
| 38 | + [JsonConverter(typeof(StringEnumConverter))] |
| 39 | + public enum KindEnum |
| 40 | + { |
| 41 | + /// <summary> |
| 42 | + /// Enum Report for value: Report |
| 43 | + /// </summary> |
| 44 | + [EnumMember(Value = "Report")] |
| 45 | + Report = 1, |
| 46 | + |
| 47 | + /// <summary> |
| 48 | + /// Enum Update for value: Update |
| 49 | + /// </summary> |
| 50 | + [EnumMember(Value = "Update")] |
| 51 | + Update = 2, |
| 52 | + |
| 53 | + /// <summary> |
| 54 | + /// Enum Cancel for value: Cancel |
| 55 | + /// </summary> |
| 56 | + [EnumMember(Value = "Cancel")] |
| 57 | + Cancel = 3, |
| 58 | + |
| 59 | + /// <summary> |
| 60 | + /// Enum Ack for value: Ack |
| 61 | + /// </summary> |
| 62 | + [EnumMember(Value = "Ack")] |
| 63 | + Ack = 4, |
| 64 | + |
| 65 | + /// <summary> |
| 66 | + /// Enum Error for value: Error |
| 67 | + /// </summary> |
| 68 | + [EnumMember(Value = "Error")] |
| 69 | + Error = 5 |
| 70 | + } |
| 71 | + |
| 72 | + |
| 73 | + /// <summary> |
| 74 | + /// Prend la valeur <distributionKind de l'enveloppe EDXL (voir DST) |
| 75 | + /// </summary> |
| 76 | + /// <value>Prend la valeur <distributionKind de l'enveloppe EDXL (voir DST)</value> |
| 77 | + /* |
| 78 | + <example>example.json#/kind</example> |
| 79 | + */ |
| 80 | + [DataMember(Name = "kind", IsRequired = true, EmitDefaultValue = true)] |
| 81 | + public KindEnum Kind { get; set; } |
| 82 | + /// <summary> |
| 83 | + /// Prend la valeur <distributionStatus> de l'enveloppe EDXL (voir DST) |
| 84 | + /// </summary> |
| 85 | + /// <value>Prend la valeur <distributionStatus> de l'enveloppe EDXL (voir DST)</value> |
| 86 | + [JsonConverter(typeof(StringEnumConverter))] |
| 87 | + public enum StatusEnum |
| 88 | + { |
| 89 | + /// <summary> |
| 90 | + /// Enum Actual for value: Actual |
| 91 | + /// </summary> |
| 92 | + [EnumMember(Value = "Actual")] |
| 93 | + Actual = 1, |
| 94 | + |
| 95 | + /// <summary> |
| 96 | + /// Enum Exercise for value: Exercise |
| 97 | + /// </summary> |
| 98 | + [EnumMember(Value = "Exercise")] |
| 99 | + Exercise = 2, |
| 100 | + |
| 101 | + /// <summary> |
| 102 | + /// Enum System for value: System |
| 103 | + /// </summary> |
| 104 | + [EnumMember(Value = "System")] |
| 105 | + System = 3 |
| 106 | + } |
| 107 | + |
| 108 | + |
| 109 | + /// <summary> |
| 110 | + /// Prend la valeur <distributionStatus> de l'enveloppe EDXL (voir DST) |
| 111 | + /// </summary> |
| 112 | + /// <value>Prend la valeur <distributionStatus> de l'enveloppe EDXL (voir DST)</value> |
| 113 | + /* |
| 114 | + <example>example.json#/status</example> |
| 115 | + */ |
| 116 | + [DataMember(Name = "status", IsRequired = true, EmitDefaultValue = true)] |
| 117 | + public StatusEnum Status { get; set; } |
| 118 | + /// <summary> |
| 119 | + /// Initializes a new instance of the <see cref="DistributionElement" /> class. |
| 120 | + /// </summary> |
| 121 | + [JsonConstructorAttribute] |
| 122 | + protected DistributionElement() |
| 123 | + { |
| 124 | + this.AdditionalProperties = new Dictionary<string, object>(); |
| 125 | + } |
| 126 | + /// <summary> |
| 127 | + /// Initializes a new instance of the <see cref="DistributionElement" /> class. |
| 128 | + /// </summary> |
| 129 | + /// <param name="messageId">Identifiant partagé de l'affaire/dossier, généré une seule fois par le système du partenaire qui recoit la primo-demande de secours (créateur du dossier). Il est valorisé comme suit lors de sa création : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir être généré de façon décentralisée et ne présenter aucune ambiguïté. Il doit être unique dans l'ensemble des systèmes : le numéro de dossier fourni par celui qui génère l'identifiant partagé doit donc être un numéro unique dans son système. (required).</param> |
| 130 | + /// <param name="sender">sender (required).</param> |
| 131 | + /// <param name="sentAt">Groupe date heure de début de partage lié à l'envoi du message. Il doit être cohérent avec le champ <dateTimeSent> de l'enveloppe EDXL (voir DST). L'indicateur de fuseau horaire Z ne doit pas être utilisé. Le fuseau horaire pour UTC doit être représenté par '-00:00' (required).</param> |
| 132 | + /// <param name="kind">Prend la valeur <distributionKind de l'enveloppe EDXL (voir DST) (required).</param> |
| 133 | + /// <param name="status">Prend la valeur <distributionStatus> de l'enveloppe EDXL (voir DST) (required).</param> |
| 134 | + /// <param name="recipient">recipient (required).</param> |
| 135 | + public DistributionElement(string messageId = default(string), Sender sender = default(Sender), DateTime sentAt = default(DateTime), KindEnum kind = default(KindEnum), StatusEnum status = default(StatusEnum), List<Recipient> recipient = default(List<Recipient>)) |
| 136 | + { |
| 137 | + // to ensure "messageId" is required (not null) |
| 138 | + if (messageId == null) |
| 139 | + { |
| 140 | + throw new ArgumentNullException("messageId is a required property for DistributionElement and cannot be null"); |
| 141 | + } |
| 142 | + this.MessageId = messageId; |
| 143 | + // to ensure "sender" is required (not null) |
| 144 | + if (sender == null) |
| 145 | + { |
| 146 | + throw new ArgumentNullException("sender is a required property for DistributionElement and cannot be null"); |
| 147 | + } |
| 148 | + this.Sender = sender; |
| 149 | + this.SentAt = sentAt; |
| 150 | + this.Kind = kind; |
| 151 | + this.Status = status; |
| 152 | + // to ensure "recipient" is required (not null) |
| 153 | + if (recipient == null) |
| 154 | + { |
| 155 | + throw new ArgumentNullException("recipient is a required property for DistributionElement and cannot be null"); |
| 156 | + } |
| 157 | + this.Recipient = recipient; |
| 158 | + this.AdditionalProperties = new Dictionary<string, object>(); |
| 159 | + } |
| 160 | + |
| 161 | + /// <summary> |
| 162 | + /// Identifiant partagé de l'affaire/dossier, généré une seule fois par le système du partenaire qui recoit la primo-demande de secours (créateur du dossier). Il est valorisé comme suit lors de sa création : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir être généré de façon décentralisée et ne présenter aucune ambiguïté. Il doit être unique dans l'ensemble des systèmes : le numéro de dossier fourni par celui qui génère l'identifiant partagé doit donc être un numéro unique dans son système. |
| 163 | + /// </summary> |
| 164 | + /// <value>Identifiant partagé de l'affaire/dossier, généré une seule fois par le système du partenaire qui recoit la primo-demande de secours (créateur du dossier). Il est valorisé comme suit lors de sa création : {pays}.{domaine}.{organisation}.{senderCaseId} Il doit pouvoir être généré de façon décentralisée et ne présenter aucune ambiguïté. Il doit être unique dans l'ensemble des systèmes : le numéro de dossier fourni par celui qui génère l'identifiant partagé doit donc être un numéro unique dans son système.</value> |
| 165 | + /* |
| 166 | + <example>example.json#/messageId</example> |
| 167 | + */ |
| 168 | + [DataMember(Name = "messageId", IsRequired = true, EmitDefaultValue = true)] |
| 169 | + public string MessageId { get; set; } |
| 170 | + |
| 171 | + /// <summary> |
| 172 | + /// Gets or Sets Sender |
| 173 | + /// </summary> |
| 174 | + [DataMember(Name = "sender", IsRequired = true, EmitDefaultValue = true)] |
| 175 | + public Sender Sender { get; set; } |
| 176 | + |
| 177 | + /// <summary> |
| 178 | + /// Groupe date heure de début de partage lié à l'envoi du message. Il doit être cohérent avec le champ <dateTimeSent> de l'enveloppe EDXL (voir DST). L'indicateur de fuseau horaire Z ne doit pas être utilisé. Le fuseau horaire pour UTC doit être représenté par '-00:00' |
| 179 | + /// </summary> |
| 180 | + /// <value>Groupe date heure de début de partage lié à l'envoi du message. Il doit être cohérent avec le champ <dateTimeSent> de l'enveloppe EDXL (voir DST). L'indicateur de fuseau horaire Z ne doit pas être utilisé. Le fuseau horaire pour UTC doit être représenté par '-00:00'</value> |
| 181 | + [DataMember(Name = "sentAt", IsRequired = true, EmitDefaultValue = true)] |
| 182 | + public DateTime SentAt { get; set; } |
| 183 | + |
| 184 | + /// <summary> |
| 185 | + /// Gets or Sets Recipient |
| 186 | + /// </summary> |
| 187 | + [DataMember(Name = "recipient", IsRequired = true, EmitDefaultValue = true)] |
| 188 | + public List<Recipient> Recipient { get; set; } |
| 189 | + |
| 190 | + /// <summary> |
| 191 | + /// Gets or Sets additional properties |
| 192 | + /// </summary> |
| 193 | + [JsonExtensionData] |
| 194 | + public IDictionary<string, object> AdditionalProperties { get; set; } |
| 195 | + |
| 196 | + /// <summary> |
| 197 | + /// Returns the string presentation of the object |
| 198 | + /// </summary> |
| 199 | + /// <returns>String presentation of the object</returns> |
| 200 | + public override string ToString() |
| 201 | + { |
| 202 | + StringBuilder sb = new StringBuilder(); |
| 203 | + sb.Append("class DistributionElement {\n"); |
| 204 | + sb.Append(" MessageId: ").Append(MessageId).Append("\n"); |
| 205 | + sb.Append(" Sender: ").Append(Sender).Append("\n"); |
| 206 | + sb.Append(" SentAt: ").Append(SentAt).Append("\n"); |
| 207 | + sb.Append(" Kind: ").Append(Kind).Append("\n"); |
| 208 | + sb.Append(" Status: ").Append(Status).Append("\n"); |
| 209 | + sb.Append(" Recipient: ").Append(Recipient).Append("\n"); |
| 210 | + sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n"); |
| 211 | + sb.Append("}\n"); |
| 212 | + return sb.ToString(); |
| 213 | + } |
| 214 | + |
| 215 | + /// <summary> |
| 216 | + /// Returns the JSON string presentation of the object |
| 217 | + /// </summary> |
| 218 | + /// <returns>JSON string presentation of the object</returns> |
| 219 | + public virtual string ToJson() |
| 220 | + { |
| 221 | + return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented); |
| 222 | + } |
| 223 | + |
| 224 | + /// <summary> |
| 225 | + /// To validate all properties of the instance |
| 226 | + /// </summary> |
| 227 | + /// <param name="validationContext">Validation context</param> |
| 228 | + /// <returns>Validation Result</returns> |
| 229 | + IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext) |
| 230 | + { |
| 231 | + if (this.SentAt != null) { |
| 232 | + // SentAt (DateTime) pattern |
| 233 | + Regex regexSentAt = new Regex(@"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\-+]\d{2}:\d{2}$", RegexOptions.CultureInvariant); |
| 234 | + if (!regexSentAt.Match(this.SentAt).Success) |
| 235 | + { |
| 236 | + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SentAt, must match a pattern of " + regexSentAt, new [] { "SentAt" }); |
| 237 | + } |
| 238 | + } |
| 239 | + |
| 240 | + yield break; |
| 241 | + } |
| 242 | + } |
| 243 | + |
| 244 | +} |
0 commit comments