public FaleMaisViewModel CalcularLigacaoPorPlano(FaleMaisViewModel faleMaisViewModel) { faleMaisViewModel .CustoSemPlano = string.Format("R$ {0}", _calcularValorLigacao .Execute(faleMaisViewModel.CodigoOrigem, faleMaisViewModel.CodigoDestino, faleMaisViewModel.TempoLigacao, (EPlanoTelefonia)faleMaisViewModel.PlanoFaleMais) .ToString("N2")); return(faleMaisViewModel); }
public void CalcularTarifaDeUmaLigacaoSemPlanoFaleMais(int origem, int destino, int duracao, string resultado) { //Given var faleMaisViewModel = new FaleMaisViewModel { CodigoDestino = destino, CodigoOrigem = origem, TempoLigacao = duracao, }; //When _planoTelefoniaApplication.CalcularLigacaoPorPlano(faleMaisViewModel); //Then Assert.Equal(resultado, faleMaisViewModel.CustoSemPlano); }
public FaleMaisViewModel CompararPrecoEntrePlano(FaleMaisViewModel faleMaisViewModel) { var tarifas = _calcularTarifaLigacaoComPlanoESemPlano .Execute(faleMaisViewModel.CodigoOrigem, faleMaisViewModel.CodigoDestino, faleMaisViewModel.TempoLigacao, (EPlanoTelefonia)faleMaisViewModel.PlanoFaleMais); if (tarifas == null || !tarifas.Any()) { faleMaisViewModel.CustoComPlano = faleMaisViewModel.CustoSemPlano = string.Format("R$ 0,00"); } else { faleMaisViewModel.CustoSemPlano = string.Format("R$ {0}", tarifas.First().ToString("N2")); faleMaisViewModel.CustoComPlano = string.Format("R$ {0}", tarifas.Last().ToString("N2")); } return(faleMaisViewModel); }
public void CalcularTarifaLigacao(int origem, int destino, int duracao, string plano, string resultadoComPlano, string resultadoSemPlano) { //Given int _plano; switch (plano) { case "FaleMais30": _plano = 1; break; case "FaleMais60": _plano = 2; break; case "FaleMais120": _plano = 3; break; default: _plano = 0; break; } var faleMaisViewModel = new FaleMaisViewModel { CodigoDestino = destino, CodigoOrigem = origem, TempoLigacao = duracao, PlanoFaleMais = _plano }; //When _planoTelefoniaApplication.CompararPrecoEntrePlano(faleMaisViewModel); //Then Assert.Equal(resultadoComPlano, faleMaisViewModel.CustoComPlano); Assert.Equal(resultadoSemPlano, faleMaisViewModel.CustoSemPlano); }
public IActionResult UseCase(FaleMaisViewModel viewModel) { return(Ok(_useCase.CalcularLigacaoPorPlano(viewModel))); }