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 Controle : DomainBase, IDomain { private long _idEmpresa; public string AssistenciaId { get; set; } [Log(false)] public Gestor.Model.Domain.Seguros.Cliente Cliente { get; set; } [Log(false)] public IList Documentos { get; set; } public long IdEmpresa { get { return this._idEmpresa; } set { this._idEmpresa = (value == 0 ? (long)1 : value); } } [Log(false)] public Gestor.Model.Domain.Seguros.Item Item { get; set; } [Description("PRODUTO")] [Log(true)] [Name(true)] public Gestor.Model.Domain.Seguros.Produto Produto { get; set; } [Description("RAMO")] [Log(true)] [Name(true)] public Gestor.Model.Domain.Seguros.Ramo Ramo { get; set; } [Description("SEGURADORA")] [Log(true)] [Name(true)] public Gestor.Model.Domain.Seguros.Seguradora Seguradora { get; set; } [Description("SEGURADORA ANTERIOR")] [Log(true)] [Name(true)] public Gestor.Model.Domain.Seguros.Seguradora SeguradoraAnterior { get; set; } [JsonIgnore] public Func>> ValidationEvent { get { Controle controle = this; return new Func>>(controle.Validate); } } public Controle() { } public List> Validate() { List> keyValuePairs = ValidationHelper.AddValue(); if (this.Cliente == null || this.Cliente.Id == 0) { keyValuePairs.AddValue("Cliente", Messages.Obrigatorio, true); } if (this.Seguradora == null || this.Seguradora.Id == 0) { keyValuePairs.AddValue("Seguradora", Messages.Obrigatorio, true); } if (this.Ramo == null || this.Ramo.Id == 0) { keyValuePairs.AddValue("Ramo", Messages.Obrigatorio, true); } if (this.IdEmpresa == 0) { keyValuePairs.AddValue("Empresa", Messages.Obrigatorio, true); } return keyValuePairs; } } }