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