/// <summary> /// Método para crear la instancia de la clase que calculará el costo de envío con base al medio de transporte que se tenga. /// </summary> /// <param name="eMedioTransporte">Medio de transporte.</param> /// <returns>Retorna la instancia de la clase correspondiente de tipo ICalculadorCostoEnvioMedioTransporte.</returns> public ICalculadorCostoEnvioMedioTransporte CrearInstancia(eMediosTransporte eMedioTransporte) { ICalculadorCostoEnvioMedioTransporte calculadorCostoEnvioMedioTransporte = null; switch (eMedioTransporte) { case eMediosTransporte.Aereo: calculadorCostoEnvioMedioTransporte = creadorInstanciaFabricaGenerica.CrearInstancia <ICalculadorCostoEnvioMedioTransporte>("CalculadorCostoEnvioAereoStrategy"); break; case eMediosTransporte.Maritimo: calculadorCostoEnvioMedioTransporte = creadorInstanciaFabricaGenerica.CrearInstancia <ICalculadorCostoEnvioMedioTransporte>("CalculadorCostoEnvioMaritimoStrategy"); break; case eMediosTransporte.Terrestre: calculadorCostoEnvioMedioTransporte = creadorInstanciaFabricaGenerica.CrearInstancia <ICalculadorCostoEnvioMedioTransporte>("CalculadorCostoEnvioTerrestreStrategy"); break; } return(calculadorCostoEnvioMedioTransporte); }
/// <summary> /// Método para obtener el margen de utilidad de la paquetería con base a la fecha en la que se realizó el pedido. /// </summary> /// <param name="dtFechaPedido">Fecha del pedido.</param> /// <returns>Retorna el margen de utilidad con base a la fecha del pedido.</returns> public IObtenedorMargenUtilidadPaqueteria CrearInstancia(ePaqueteria ePaqueteria) { IObtenedorMargenUtilidadPaqueteria obtenedorMargenUtilidadPaqueteria = null; switch (ePaqueteria) { case ePaqueteria.Fedex: obtenedorMargenUtilidadPaqueteria = creadorInstanciaFabricaGenerica.CrearInstancia <IObtenedorMargenUtilidadPaqueteria>("ObtenedorMargenUtilidadFedexStrategy"); break; case ePaqueteria.DHL: obtenedorMargenUtilidadPaqueteria = creadorInstanciaFabricaGenerica.CrearInstancia <IObtenedorMargenUtilidadPaqueteria>("ObtenedorMargenUtilidadDHLStrategy"); break; case ePaqueteria.Estafeta: obtenedorMargenUtilidadPaqueteria = creadorInstanciaFabricaGenerica.CrearInstancia <IObtenedorMargenUtilidadPaqueteria>("ObtenedorMargenUtilidadEstafetaStrategy"); break; } return(obtenedorMargenUtilidadPaqueteria); }