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)); }
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); }