-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDocumentLink.cs
More file actions
154 lines (141 loc) · 7.78 KB
/
Copy pathDocumentLink.cs
File metadata and controls
154 lines (141 loc) · 7.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*
* OpenAPI
*
* OpenAPI
*
* The version of the OpenAPI document: 0.0.1
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = HubsanteModel/Documentlink.Client.OpenAPIDateConverter;
namespace HubsanteModel/Documentlink.Model
{
/// <summary>
/// DocumentLink
/// </summary>
[DataContract(Name = "documentLink")]
public partial class DocumentLink : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="DocumentLink" /> class.
/// </summary>
[JsonConstructorAttribute]
protected DocumentLink() { }
/// <summary>
/// Initializes a new instance of the <see cref="DocumentLink" /> class.
/// </summary>
/// <param name="caseId">Identifiant partagé du 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>
/// <param name="patientId">Indique l'identifiant partagé du patient auquel les documents sont rattachés.</param>
/// <param name="code">Code unitaire par bilan qui permet à l'utilisateur qui reçoit ce lien d'ouvrir le bilan lorsque celui ci ne nécessite pas une connexion nominative mais un code bilan .</param>
/// <param name="document">document (required).</param>
public DocumentLink(string caseId = default(string), string patientId = default(string), string code = default(string), List<Document> document = default(List<Document>))
{
// to ensure "caseId" is required (not null)
if (caseId == null)
{
throw new ArgumentNullException("caseId is a required property for DocumentLink and cannot be null");
}
this.CaseId = caseId;
// to ensure "document" is required (not null)
if (document == null)
{
throw new ArgumentNullException("document is a required property for DocumentLink and cannot be null");
}
this.Document = document;
this.PatientId = patientId;
this.Code = code;
}
/// <summary>
/// Identifiant partagé du 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.
/// </summary>
/// <value>Identifiant partagé du 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>
/*
<example>example.json#/caseId</example>
*/
[DataMember(Name = "caseId", IsRequired = true, EmitDefaultValue = true)]
public string CaseId { get; set; }
/// <summary>
/// Indique l'identifiant partagé du patient auquel les documents sont rattachés
/// </summary>
/// <value>Indique l'identifiant partagé du patient auquel les documents sont rattachés</value>
/*
<example>example.json#/patientId</example>
*/
[DataMember(Name = "patientId", EmitDefaultValue = false)]
public string PatientId { get; set; }
/// <summary>
/// Code unitaire par bilan qui permet à l'utilisateur qui reçoit ce lien d'ouvrir le bilan lorsque celui ci ne nécessite pas une connexion nominative mais un code bilan
/// </summary>
/// <value>Code unitaire par bilan qui permet à l'utilisateur qui reçoit ce lien d'ouvrir le bilan lorsque celui ci ne nécessite pas une connexion nominative mais un code bilan </value>
/*
<example>example.json#/code</example>
*/
[DataMember(Name = "code", EmitDefaultValue = false)]
public string Code { get; set; }
/// <summary>
/// Gets or Sets Document
/// </summary>
[DataMember(Name = "document", IsRequired = true, EmitDefaultValue = true)]
public List<Document> Document { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class DocumentLink {\n");
sb.Append(" CaseId: ").Append(CaseId).Append("\n");
sb.Append(" PatientId: ").Append(PatientId).Append("\n");
sb.Append(" Code: ").Append(Code).Append("\n");
sb.Append(" Document: ").Append(Document).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
if (this.CaseId != null) {
// CaseId (string) pattern
Regex regexCaseId = new Regex(@"^([\w-]+\.?){4,10}$", RegexOptions.CultureInvariant);
if (!regexCaseId.Match(this.CaseId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CaseId, must match a pattern of " + regexCaseId, new [] { "CaseId" });
}
}
if (this.PatientId != null) {
// PatientId (string) pattern
Regex regexPatientId = new Regex(@"^([\w-]+\.){3,8}patient(\.[\w-]+){1,2}$", RegexOptions.CultureInvariant);
if (!regexPatientId.Match(this.PatientId).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PatientId, must match a pattern of " + regexPatientId, new [] { "PatientId" });
}
}
yield break;
}
}
}