protected ParamentroInfo capturarParametroAquecimentoNormal() { var param = new ParamentroInfo { Potencia = capturarPotencia(), Tempo = capturarTempo() }; return(param); }
public override string aquecer(string textoFrio, ParamentroInfo paramentro, char caracter = '.') { _thread = new Thread(() => { base.aquecer(textoFrio, paramentro, caracter); }); _thread.Start(); Console.WriteLine("Para pausa pressione 'p', para cancelar pressione 'x'..."); pausarResumirOuCancelar(); return(string.Empty); }
public override string aquecer(string textoFrio, ParamentroInfo paramentro, char caracter = '.') { var textoAquecido = string.Empty; // Caso o texto seja o caminho de um arquivo, executa da rotina 'aquecerPorArquivo' if (File.Exists(textoFrio)) { // Le o conteúdo do arquivo original var verdadeiroTextoFrio = File.ReadAllText(textoFrio); textoAquecido = aquecerPorArquivo(textoFrio, verdadeiroTextoFrio, paramentro, caracter); } // Caso contrário executa o normal else { textoAquecido = base.aquecer(textoFrio, paramentro, caracter); } return(textoAquecido); }
protected void validarParametro(ParamentroInfo paramentro) { if (paramentro.Tempo == null) { executarErro("Informe o tempo de aquecimento."); } if (paramentro.Tempo.TotalMinutes > 2) { executarErro("O tempo de aquecimento deve ser menor que 2 minutos."); } if (paramentro.Tempo.TotalSeconds < 1) { executarErro("O tempo de aquecimento deve ser superior a 1 segundo."); } if (paramentro.Potencia < 1 || paramentro.Potencia > 10) { executarErro("A potência deve estar entre 1 e 10."); } }
/// <summary> /// Rotina principal de aquecimento /// </summary> /// <param name="textoFrio"></param> /// <param name="paramentro"></param> /// <param name="caracter"></param> /// <returns></returns> public virtual string aquecer(string textoFrio, ParamentroInfo paramentro, char caracter = '.') { validarParametro(paramentro); StringBuilder textoAquecido = new StringBuilder(); StringBuilder textoPorSegundo = new StringBuilder(); textoAquecido.Append(textoFrio); for (var i = 1; i <= paramentro.Tempo.TotalSeconds; i++) { textoPorSegundo.Clear(); for (var p = 0; p < paramentro.Potencia; p++) { textoPorSegundo.Append(caracter); } textoAquecido.Append(textoPorSegundo); aoProcessar(textoPorSegundo.ToString()); Thread.Sleep(1000); } aoConcluir(textoAquecido.ToString()); return(textoAquecido.ToString()); }
private string aquecerPorArquivo(string arquivo, string textoFrio, ParamentroInfo paramentro, char caracter = '.') { validarParametro(paramentro); using (var sw = File.AppendText(arquivo)) { StringBuilder textoPorSegundo = new StringBuilder(); for (var i = 1; i <= paramentro.Tempo.TotalSeconds; i++) { textoPorSegundo.Clear(); for (var p = 0; p < paramentro.Potencia; p++) { textoPorSegundo.Append(caracter); } sw.Write(textoPorSegundo.ToString()); aoProcessar(textoPorSegundo.ToString()); Thread.Sleep(1000); } } var textoAquecido = File.ReadAllText(arquivo); aoConcluir(textoAquecido); return(textoAquecido); }