示例#1
0
 private static void ManageAvion(List <Package> packages, string origen, string destino, int distancia, DateTime fechaPedido, IEnvioFactory envioFactory)
 {
     if (envioFactory is ICreateAvionFactory createAvionFactory)
     {
         packages.Add(createAvionFactory.CreateAvionPackage(origen, destino, distancia, fechaPedido));
     }
     else
     {
         AddUnsupportedMedio(packages, origen, destino, distancia, fechaPedido, new Avion(), envioFactory);
     }
 }
示例#2
0
 private static void AddUnsupportedMedio(List <Package> packages, string origen, string destino, double distancia, DateTime fechaPedido, IMedioTransporte unsupportedMedio, IEnvioFactory envioFactory)
 {
     packages.Add(new Package()
     {
         Origen          = origen, Destino = destino, Distancia = distancia, Empresa = envioFactory.DeliveryCompany,
         MedioTransporte = unsupportedMedio, IsSupported = false, FechaRecepcion = fechaPedido
     });
 }
示例#3
0
 public void AddFactory(IEnvioFactory envioFactory)
 {
     _factories.Add(envioFactory.DeliveryCompany.Name, envioFactory);
 }