示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
 public IActionResult UseCase(FaleMaisViewModel viewModel)
 {
     return(Ok(_useCase.CalcularLigacaoPorPlano(viewModel)));
 }