summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Model/Model.Domain.Seguros/ControleSinistro.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Codemerx/Gestor.Model/Model.Domain.Seguros/ControleSinistro.cs')
-rw-r--r--Codemerx/Gestor.Model/Model.Domain.Seguros/ControleSinistro.cs118
1 files changed, 118 insertions, 0 deletions
diff --git a/Codemerx/Gestor.Model/Model.Domain.Seguros/ControleSinistro.cs b/Codemerx/Gestor.Model/Model.Domain.Seguros/ControleSinistro.cs
new file mode 100644
index 0000000..13207b6
--- /dev/null
+++ b/Codemerx/Gestor.Model/Model.Domain.Seguros/ControleSinistro.cs
@@ -0,0 +1,118 @@
+using Gestor.Model.Attributes;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Helper;
+using Gestor.Model.Resources;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
+
+namespace Gestor.Model.Domain.Seguros
+{
+ public class ControleSinistro : DomainBase, IDomain
+ {
+ private DateTime? _dataSinistro;
+
+ private DateTime? _horaSinistro;
+
+ [Description("DATA SINISTRO")]
+ [Log(true)]
+ [Name(true)]
+ public DateTime? DataSinistro
+ {
+ get
+ {
+ return this._dataSinistro;
+ }
+ set
+ {
+ if (!value.HasValue)
+ {
+ this._dataSinistro = null;
+ return;
+ }
+ if (!this.HoraSinistro.HasValue)
+ {
+ this.HoraSinistro = value;
+ }
+ object obj = value.Value;
+ DateTime? horaSinistro = this.HoraSinistro;
+ this._dataSinistro = new DateTime?(DateTime.Parse(string.Format("{0:d} {1:T}", obj, horaSinistro.Value)));
+ }
+ }
+
+ public DateTime? HoraSinistro
+ {
+ get
+ {
+ return this._horaSinistro;
+ }
+ set
+ {
+ DateTime? nullable;
+ this._horaSinistro = value;
+ if (!value.HasValue)
+ {
+ return;
+ }
+ DateTime? dataSinistro = this.DataSinistro;
+ if (!dataSinistro.HasValue || !value.HasValue)
+ {
+ dataSinistro = null;
+ nullable = dataSinistro;
+ }
+ else
+ {
+ dataSinistro = this.DataSinistro;
+ nullable = new DateTime?(DateTime.Parse(string.Format("{0:d} {1:T}", dataSinistro.Value, value)));
+ }
+ this.DataSinistro = nullable;
+ }
+ }
+
+ public Gestor.Model.Domain.Seguros.Item Item
+ {
+ get;
+ set;
+ }
+
+ public List<Sinistro> Sinistros
+ {
+ get;
+ set;
+ }
+
+ [JsonIgnore]
+ public Func<List<KeyValuePair<string, string>>> ValidationEvent
+ {
+ get
+ {
+ ControleSinistro controleSinistro = this;
+ return new Func<List<KeyValuePair<string, string>>>(controleSinistro.Validate);
+ }
+ }
+
+ public ControleSinistro()
+ {
+ }
+
+ public List<KeyValuePair<string, string>> Validate()
+ {
+ List<KeyValuePair<string, string>> keyValuePairs = ValidationHelper.AddValue();
+ if (!this.DataSinistro.HasValue)
+ {
+ keyValuePairs.AddValue<string, string>("DataSinistro", Messages.Obrigatorio, true);
+ }
+ if (this.DataSinistro.HasValue && (DateTime.Compare(this.DataSinistro.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.DataSinistro.Value, new DateTime(9999, 12, 31)) > 0))
+ {
+ keyValuePairs.AddValue<string, string>("DataSinistro", string.Format(Messages.DataInvalida, Array.Empty<object>()), true);
+ }
+ if (this.HoraSinistro.HasValue && (DateTime.Compare(this.HoraSinistro.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(this.HoraSinistro.Value, new DateTime(9999, 12, 31)) > 0))
+ {
+ keyValuePairs.AddValue<string, string>("HoraSinistro", string.Format(Messages.DataInvalida, Array.Empty<object>()), true);
+ }
+ return keyValuePairs;
+ }
+ }
+} \ No newline at end of file