public IEmpresaPaqueteria ObtenerEmpresa(string paqueteria) { IEmpresaPaqueteria empresaPaqueteria; TipoEmpresaPaqueteria?opcion = null; if (Enum.TryParse(paqueteria, true, out TipoEmpresaPaqueteria result)) { opcion = result; } switch (opcion) { case TipoEmpresaPaqueteria.Fedex: empresaPaqueteria = new FedexFactory().CrearEmpresa(); break; case TipoEmpresaPaqueteria.Estafeta: empresaPaqueteria = new EstafetaFactory().CrearEmpresa(); break; case TipoEmpresaPaqueteria.Dhl: empresaPaqueteria = new DHLFactory().CrearEmpresa(); break; default: string mesajeError = string.Format("La Paquetería: {0} no se encuentra registrada en nuestra red de distribución.", paqueteria); throw new ArgumentException(mesajeError); } return(empresaPaqueteria); }
public IPaqueteria CrearPaqueteria(string nombrePaqueteria) { IPaqueteria paqueteria; switch (nombrePaqueteria.ToLowerInvariant()) { case "dhl": DhlFactory dhlFactory = new DhlFactory(); paqueteria = dhlFactory.CrearPaqueteria(); break; case "fedex": FedexFactory fedexFactory = new FedexFactory(); paqueteria = fedexFactory.CrearPaqueteria(); break; case "estafeta": EstafetaFactory estafetaFactory = new EstafetaFactory(); paqueteria = estafetaFactory.CrearPaqueteria(); break; default: throw new ArgumentException($"La Paquetería: [{nombrePaqueteria}] no se encuentra registrada en nuestra red de distribución."); } return(paqueteria); }
public List <IPaqueteria> ObtenerPaqueterias() { ITransporteFactory transporteFactory = new BarcoFactory(); ITransporte barco = transporteFactory.CrearTransporte(); transporteFactory = new TrenFactory(); ITransporte tren = transporteFactory.CrearTransporte(); transporteFactory = new AvionFactory(); ITransporte avion = transporteFactory.CrearTransporte(); IPaqueteriaFactory factory = new FedexFactory(); IPaqueteria fedex = factory.CrearPaqueteria(); fedex.AgregarTransporte(barco); factory = new DhlFactory(); IPaqueteria dhl = factory.CrearPaqueteria(); dhl.AgregarTransporte(avion); dhl.AgregarTransporte(barco); factory = new EstafetaFactory(); IPaqueteria estafeta = factory.CrearPaqueteria(); estafeta.AgregarTransporte(tren); estafeta.AgregarTransporte(barco); return(new List <IPaqueteria>() { fedex, dhl, estafeta }); }
public void CrearPaqueteria_CreacionEstafeta_ObjetoEstafetaCreadoCorrectamente() { //Arrange string nombreExp = "Estafeta"; double margenUtilidad = 20; //Act EstafetaFactory estafetaFactory = new EstafetaFactory(); IPaqueteria paqueteria = estafetaFactory.CrearPaqueteria(); //Assert Assert.AreEqual(nombreExp, paqueteria.Nombre); Assert.AreEqual(margenUtilidad, paqueteria.MargenUtilidad); }
private void GenerarClientesFabricas() { IEmpresaAbstractFactory empresaDhl = new DhlFactory(_tiempoApp, 0); IEmpresaAbstractFactory empresaEstafeta = new EstafetaFactory(_tiempoApp, 0); IEmpresaAbstractFactory empresaFedex = new FedexFactory(_tiempoApp, 0); IClientesFabricas clientesFabricaDhl = new ClienteFabricas(empresaDhl, _tiempoApp, "", "", "", _tiempoApp); IClientesFabricas clientesFabricaEstafeta = new ClienteFabricas(empresaEstafeta, _tiempoApp, "", "", "", _tiempoApp); IClientesFabricas clientesFabricaFedex = new ClienteFabricas(empresaFedex, _tiempoApp, "", "", "", _tiempoApp); _clientesFabricas.Add("dhl", clientesFabricaDhl); _clientesFabricas.Add("estafeta", clientesFabricaEstafeta); _clientesFabricas.Add("fedex", clientesFabricaFedex); }
public List <IPaqueteria> ObtenerPaqueterias() { List <IPaqueteria> paqueterias = new List <IPaqueteria>(); DhlFactory dhlFactory = new DhlFactory(); FedexFactory fedexFactory = new FedexFactory(); EstafetaFactory estafetaFactory = new EstafetaFactory(); paqueterias.Add(dhlFactory.CrearPaqueteria()); paqueterias.Add(fedexFactory.CrearPaqueteria()); paqueterias.Add(estafetaFactory.CrearPaqueteria()); return(paqueterias); }