private decimal CalcularDistanciaDosVaos(Calculo calculo) { var pilaresAdicionais = calculo.QuantidadeDePilares - 1; if (pilaresAdicionais == 0) { return(calculo.DistanciaDaReta); } return(calculo.DistanciaDaReta / pilaresAdicionais); }
public async Task RealizarCalculo(Calculo calculo) { var configuracao = await _calculoDAO.ObterConfiguracao(calculo.IdConfiguracao).ConfigureAwait(false); Validacoes.ValidarSeNulo(configuracao, "Não existe nenhuma configuração cadastrada."); calculo.AtualizarQuantidadeDePilares(CalcularQuantidadeDePilares(calculo, configuracao)); calculo.AtualizarDistanciaDosVaos(CalcularDistanciaDosVaos(calculo)); calculo.AtualizarPilaresComBaseReforcada(CalcularBaseReforcada(calculo, configuracao)); await _mediatrHandler.PublicarEvento(new CalculoRealizadoEvent(calculo.Id, calculo)); }
private int CalcularQuantidadeDePilares(Calculo calculo, Configuracao configuracao) { return((int)Math.Round(calculo.DistanciaDaReta / configuracao.DistanciaMaximaEntrePilares) + 1); }