protected static string LigaOrdens(string nomeDoAlgarismo, Ordem ordemAnterior) { const string conjuncao = " e "; var deveColocarConjuncao = ordemAnterior.Algarismo != 0; var ordemAnteriorPorExtenso = ((deveColocarConjuncao ? conjuncao : string.Empty) + ordemAnterior); var deveConcatenarComOrdemAnterior = (ordemAnterior.Algarismos.Sum() != 0); return nomeDoAlgarismo + (deveConcatenarComOrdemAnterior ? ordemAnteriorPorExtenso : string.Empty); }
public Dezena(int algarismo, Ordem ordemAnterior = null) { OrdemAnterior = ordemAnterior ?? new Unidade(0); Algarismo = algarismo; }
public Unidade(int algarismo, Ordem anterior = null) { Algarismo = algarismo; }
public Milhar(Ordem ordem, Classe classeAnterior = null) { Ordem = ordem; ClasseAnterior = classeAnterior ?? new PrimeiraClasse(new Centena(0)); }
public Milhao(Ordem ordem, Classe classeAnterior = null) { Ordem = ordem; ClasseAnterior = classeAnterior ?? new Milhar(new Centena(0)); }