diff options
| author | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 17:17:46 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 17:17:46 +0000 |
| commit | 0440c722a221b8068bbf388c1c0c51f0faff0451 (patch) | |
| tree | 169cbf90c50ff7961db82ecb606c50c2a45a1688 /Gestor.Model/Gestor.Model.Domain.Seguros/ControleSinistro.cs | |
| parent | 225aa1499e37faf9d38257caabbadc68d78b427e (diff) | |
| download | gestor-master.tar.gz gestor-master.zip | |
Diffstat (limited to 'Gestor.Model/Gestor.Model.Domain.Seguros/ControleSinistro.cs')
| -rw-r--r-- | Gestor.Model/Gestor.Model.Domain.Seguros/ControleSinistro.cs | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Gestor.Model/Gestor.Model.Domain.Seguros/ControleSinistro.cs b/Gestor.Model/Gestor.Model.Domain.Seguros/ControleSinistro.cs new file mode 100644 index 0000000..b0b4bc6 --- /dev/null +++ b/Gestor.Model/Gestor.Model.Domain.Seguros/ControleSinistro.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using Gestor.Model.Attributes; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Helper; +using Gestor.Model.Resources; +using Newtonsoft.Json; + +namespace Gestor.Model.Domain.Seguros; + +public class ControleSinistro : DomainBase, IDomain +{ + private DateTime? _dataSinistro; + + private DateTime? _horaSinistro; + + public Item Item { get; set; } + + [Log(true)] + [Name(true)] + [Description("DATA SINISTRO")] + public DateTime? DataSinistro + { + get + { + return _dataSinistro; + } + set + { + if (value.HasValue) + { + if (!HoraSinistro.HasValue) + { + HoraSinistro = value; + } + _dataSinistro = DateTime.Parse($"{value.Value:d} {HoraSinistro.Value:T}"); + } + else + { + _dataSinistro = null; + } + } + } + + public DateTime? HoraSinistro + { + get + { + return _horaSinistro; + } + set + { + _horaSinistro = value; + if (value.HasValue) + { + DataSinistro = ((DataSinistro.HasValue && value.HasValue) ? new DateTime?(DateTime.Parse($"{DataSinistro.Value:d} {value:T}")) : null); + } + } + } + + public List<Sinistro> Sinistros { get; set; } + + [JsonIgnore] + public Func<List<KeyValuePair<string, string>>> ValidationEvent => Validate; + + public List<KeyValuePair<string, string>> Validate() + { + List<KeyValuePair<string, string>> list = ValidationHelper.AddValue(); + if (!DataSinistro.HasValue) + { + list.AddValue("DataSinistro", Messages.Obrigatorio); + } + if (DataSinistro.HasValue && (DateTime.Compare(DataSinistro.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(DataSinistro.Value, new DateTime(9999, 12, 31)) > 0)) + { + list.AddValue("DataSinistro", string.Format(Messages.DataInvalida)); + } + if (HoraSinistro.HasValue && (DateTime.Compare(HoraSinistro.Value, new DateTime(1753, 1, 1)) < 0 || DateTime.Compare(HoraSinistro.Value, new DateTime(9999, 12, 31)) > 0)) + { + list.AddValue("HoraSinistro", string.Format(Messages.DataInvalida)); + } + return list; + } +} |