using System.Collections.Generic; using Gestor.Model.Attributes; using Gestor.Model.Common; using Gestor.Model.Helper; using Gestor.Model.Resources; namespace Gestor.Model.Domain.Generic; public class TelefoneBase : DomainBase { private string _numero; private string _prefixo; [Log(true)] public TipoTelefone? Tipo { get; set; } [Log(true)] public string Prefixo { get { return _prefixo?.ToUpper().Trim(); } set { _prefixo = value; } } [Log(true)] public string Numero { get { return _numero?.ToUpper().Trim(); } set { _numero = value; } } public List> ValidateBase(bool obrigatorio = true) { List> list = ValidationHelper.AddValue(); if (Tipo.HasValue && Tipo.GetValueOrDefault() != TipoTelefone.Gratuita && Tipo.GetValueOrDefault() != TipoTelefone.Internacional && Tipo.GetValueOrDefault() != TipoTelefone.Outros && Tipo.GetValueOrDefault() != TipoTelefone.Whatsapp && Tipo.GetValueOrDefault() != TipoTelefone.TarifaUnica && Tipo.GetValueOrDefault() != TipoTelefone.Comercial) { if (!string.IsNullOrWhiteSpace(Prefixo) && !Prefixo.ValidacaoPrefixo()) { list.AddValue("Prefixo|DDD", Messages.Invalido); } if (!string.IsNullOrWhiteSpace(Numero) && !Numero.ValidacaoTelefone()) { list.AddValue("Numero|TELEFONE", Messages.Invalido); } return list; } return list; } }