コード例 #1
0
        private decimal CalcularDistanciaDosVaos(Calculo calculo)
        {
            var pilaresAdicionais = calculo.QuantidadeDePilares - 1;

            if (pilaresAdicionais == 0)
            {
                return(calculo.DistanciaDaReta);
            }

            return(calculo.DistanciaDaReta / pilaresAdicionais);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 private int CalcularQuantidadeDePilares(Calculo calculo, Configuracao configuracao)
 {
     return((int)Math.Round(calculo.DistanciaDaReta / configuracao.DistanciaMaximaEntrePilares) + 1);
 }