protected static string ObterConjuncao(Classe classeAnterior)
        {
            var numeroDaClasseAnterior = ConverterParaNumero(classeAnterior);
            var ehExcecao = numeroDaClasseAnterior % 10 == 0 || numeroDaClasseAnterior < 100;

            return(ehExcecao ? " e " : ", ");
        }
        protected string LigaClasses(string ordem, Classe classeAnterior)
        {
            var conjuncao                = ObterConjuncao(classeAnterior);
            var deveColocarConjuncao     = classeAnterior.Algarismos.Take(1).First() != 0;
            var classeAnteriorPorExtenso = ((deveColocarConjuncao ? conjuncao : string.Empty) + classeAnterior);

            return(ordem + (EhClasseAnteriorTudoZero ? string.Empty : classeAnteriorPorExtenso));
        }
Exemple #3
0
 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));
 }
        protected static long ConverterParaNumero(Classe classeAnterior)
        {
            var numeroDaClasseAnterior = Convert.ToInt64(string.Join(string.Empty, classeAnterior.Algarismos.Take(3).Select(algarismo => algarismo.ToString())));

            return(numeroDaClasseAnterior);
        }