Ejemplo n.º 1
0
        public string Calcular(string linha)
        {
            var calculo   = CalculoMapper.CalculoElemento(linha);
            var resultado = calculos.FirstOrDefault(n => n.SeAplica(calculo.Operacao)).Calcular(calculo);

            return(calculo.FormatarResultado(resultado));
        }
Ejemplo n.º 2
0
        public Dictionary <string, string> CalcularDoArquivo(string arquivo)
        {
            var listaLinhas = reader.LerCsv(arquivo);
            var retorno     = new Dictionary <string, string>();

            foreach (var linha in listaLinhas)
            {
                try
                {
                    var calculo   = CalculoMapper.CalculoLista(linha);
                    var resultado = calculos.FirstOrDefault(n => n.SeAplica(calculo.Operacao)).Calcular(calculo);
                    retorno.Add(calculo.NomeUsuario, calculo.FormatarResultado(resultado));
                }
                catch (Exception ex)
                {
                    retorno.Add(linha, $"Linha inválida {ex.Message}");
                }
            }
            return(retorno);
        }