using Gestor.Model.Common; using Gestor.Model.Domain.Generic; using Gestor.Model.Helper; using Gestor.Model.Resources; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Runtime.CompilerServices; namespace Gestor.Model.Domain.Seguros { public class PerfilEmpresa : DomainBase, IDomain { public DateTime? AnoConstrucao { get; set; } public Gestor.Model.Common.AtividadeEmpresa? AtividadeEmpresa { get; set; } public string AtividadePrincipal { get; set; } public bool? CaixasEletronicos { get; set; } public Gestor.Model.Domain.Seguros.Cliente Cliente { get; set; } public bool? ConstrucaoReforma { get; set; } public Gestor.Model.Domain.Seguros.Controle Controle { get; set; } public bool? DivisaTerrenoBaldio { get; set; } public string EquipamentoIncendio { get; set; } public string EquipamentoSeguranca { get; set; } public bool? ExclusivoDeposito { get; set; } public bool? Isopainel { get; set; } public Gestor.Model.Common.Localizacao? Localizacao { get; set; } public bool? PatrimonioHistorio { get; set; } public bool? PossuiTelhado { get; set; } public Gestor.Model.Common.TipoConstrucao? TipoConstrucao { get; set; } public TipoPavimentacao? TipoPavimento { get; set; } [JsonIgnore] public Func>> ValidationEvent { get { PerfilEmpresa perfilEmpresa = this; return new Func>>(perfilEmpresa.Validate); } } public PerfilEmpresa() { } public List> Validate() { List> keyValuePairs = ValidationHelper.AddValue(); Gestor.Model.Common.AtividadeEmpresa? atividadeEmpresa = this.AtividadeEmpresa; if (atividadeEmpresa.GetValueOrDefault() == Gestor.Model.Common.AtividadeEmpresa.Outro & atividadeEmpresa.HasValue && (this.AtividadePrincipal == null || this.AtividadePrincipal == "")) { keyValuePairs.AddValue("Atividade Empresa", Messages.Invalido, true); } return keyValuePairs; } } }