static void Main(string[] args) { var pedido = new PedidoDeCompra { Valor = 200, NomeDoProduto = "Tv LCD", TipoDeEntrega = TipoDeEntrega.Correios }; var valorDoFrete = Calcular(new CorreiosFrete(), pedido); Console.WriteLine("O frete custará R$ {0}", valorDoFrete); Console.ReadKey(); }
public double CalcularFrete(PedidoDeCompra pedido) { switch (pedido.TipoDeEntrega) { case TipoDeEntrega.Correios: return(CalcularFreteCorreios(pedido)); case TipoDeEntrega.MotoBoy: return(CalcularFreteMotoboy(pedido)); case TipoDeEntrega.RetirarNaLoja: return(0); case TipoDeEntrega.Sedex: return(CalcularFreteSedex(pedido)); default: throw new Exception("Método de entrega não existe"); } }
public double Calcular(PedidoDeCompra pedido) { return(pedido.Valor * 0.10); }
static double Calcular(IFrete frete, PedidoDeCompra pedido) { var calculador = new CalculadorFrete(frete); return(calculador.CalcularFrete(pedido)); }
public double Calcular(PedidoDeCompra pedido) { return(2); }
public double CalcularFrete(PedidoDeCompra pedido) { return(frete.Calcular(pedido)); }
private static double CalcularFreteCorreios(PedidoDeCompra pedido) { return(pedido.Valor * 0.10); }
private static double CalcularFreteMotoboy(PedidoDeCompra pedido) { return(2); }
private static double CalcularFreteSedex(PedidoDeCompra pedido) { return(pedido.Valor * 0.20); }