public IActionResult Get(string moeda, int valorEmCentavos) { //Validar as entradas if (valorEmCentavos < 0) { return(BadRequest("Valor em centavos inválido")); } if (moeda == null || moeda.Length != 3) { return(BadRequest("Moeda inválida")); } ICurrency currency = FactoryCurrency.Create(moeda); IAPIExternalController apilayer = _APIExternalController; var taxas = apilayer.Live(currency.GetMoedas().ToArray()); if (taxas == null) { return(StatusCode((int)HttpStatusCode.InternalServerError, "Erro interno, verificar logs ou solicitar ajuda ao administrador do sistema")); } if (!currency.IsValid(taxas)) { return(BadRequest("Moeda desconhecida")); } double taxaUSD = currency.GetTaxaUSD(taxas); double taxaMoeda = currency.GetTaxaMoeda(taxas); return(base.Ok(CalcularRetorno(valorEmCentavos, taxaUSD, taxaMoeda))); }
public void CreateDefaultTest() { //Act var classeCriada = FactoryCurrency.Create("AUS"); //Assert Assert.IsInstanceOfType(classeCriada, typeof(DefaultCurrency)); }
public void CreateUSDTest() { //Act var classeCriada = FactoryCurrency.Create("USD"); //Assert Assert.IsInstanceOfType(classeCriada, typeof(USDCurrency)); }