예제 #1
0
        public virtual void RemoveDocumento(Documento documento)
        {
            if (this._documentos == null)
                return;

            this._documentos.Remove(documento);
        }
예제 #2
0
        public virtual void AdicionaDocumento(Documento documento)
        {
            if (documento == null)
                throw new ExcecaoParametroInvalido("Pessoa.Documento");

            //if (!documento.ValidaDocumento())
            //    throw new ExcecaoValorDocumentoInvalido(documento.TipoDocumento);

            if (!this.DocumentosPermitidos().Contains(documento.TipoDocumento))
                throw new ExcecaoDocumentoNaoPermitido(this.TipoPessoa, documento.TipoDocumento);

            if (this._documentos == null)
                this._documentos = new List<Documento>();

            if (this._documentos.Contains(documento))
                throw new ExcecaoParametroRepetido("Pessoa.Documento");

            if (this._documentos.Any(doc => doc.TipoDocumento.Equals(documento.TipoDocumento)))
                throw new ExcecaoTipoDocumentoDuplicado(documento.TipoDocumento);

            this._documentos.Add(documento);
        }