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