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); } }
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 }); }
public void AddFactory(IEnvioFactory envioFactory) { _factories.Add(envioFactory.DeliveryCompany.Name, envioFactory); }