public ActionResult Calcula(TarifaFacade facade)
        {
            ResultadoFacade resultado = new ResultadoFacade();

            if (facade.Valido)
            {
                TarifaRepository tarifaRepository = new TarifaRepository(this.DBContext);
                var tarifa = tarifaRepository.RetornaPorOrigemEDestino(facade.Tarifa.OrigemNumero, facade.Tarifa.DestinoNumero);

                if (tarifa != null)
                {
                    FaleMaisPlanoRepository faleMaisPlanoRepository = new FaleMaisPlanoRepository();
                    var plano = faleMaisPlanoRepository.RetornaPorId(facade.Plano.Id);

                    resultado.FaleMaisValor = plano.CalculaTarifa(tarifa, facade.Minutos);
                    resultado.TarifaComumValor = tarifa.CalculaValor(facade.Minutos);
                }
            }
            else
            {
                resultado.Erros = facade.RetornaErrosDeValidacao().ToList();
            }

            return PartialView("_Resultado", resultado);
        }
示例#2
0
        public void AdicionarOuAtualizar()
        {
            DDDRepository dddRepository = new DDDRepository();
            var ddd011 = dddRepository.RetornaPorNumero("011");
            var ddd016 = dddRepository.RetornaPorNumero("016");
            var ddd017 = dddRepository.RetornaPorNumero("017");
            var ddd018 = dddRepository.RetornaPorNumero("018");

            var tarifas = new List<Tarifa> {
                    new Tarifa { OrigemNumero = ddd011.Numero, DestinoNumero = ddd016.Numero, ValorPorMinuto = 1.90m },
                    new Tarifa { OrigemNumero= ddd016.Numero, DestinoNumero = ddd011.Numero, ValorPorMinuto = 2.90m },
                    new Tarifa { OrigemNumero= ddd011.Numero, DestinoNumero= ddd017.Numero, ValorPorMinuto = 1.70m },
                    new Tarifa { OrigemNumero= ddd017.Numero, DestinoNumero= ddd011.Numero, ValorPorMinuto = 2.70m },
                    new Tarifa { OrigemNumero= ddd011.Numero, DestinoNumero= ddd018.Numero, ValorPorMinuto = 0.90m },
                    new Tarifa { OrigemNumero = ddd018.Numero, DestinoNumero= ddd011.Numero, ValorPorMinuto = 1.90m }
            };

            TarifaRepository tarifaRepository = new TarifaRepository();
            tarifaRepository.InsereOuAtualiza(tarifas);
        }