public DateTime CalcularFechaEntrega(DatosPaqueteDTO _datosPaquete) { DateTime dtFechaEntrega; dtFechaEntrega = _datosPaquete.dtFechaPedido.AddHours(_datosPaquete.dTiempoTraslado); return(dtFechaEntrega); }
private DatosPaqueteDTO LlenarPedidoDatosConError() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { cPaqueteria = "Correos de México" }; return(datosPaqueteDTO); }
private DatosPaqueteDTO LlenarPedidoDatosCorrectos() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { cPaqueteria = "DHL" }; return(datosPaqueteDTO); }
private DatosPaqueteDTO LlenarPedidoDatosCorrectos() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { cMedioTransporte = "Terrestre" }; return(datosPaqueteDTO); }
private DatosPaqueteDTO LlenarPedidoDatosConError() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { cMedioTransporte = "Online" }; return(datosPaqueteDTO); }
public double CalcularTiempoTraslado(DatosPaqueteDTO _datosPaqueteDTO) { Double dTiempoTraslado = 0, dVelocidadTemporada = 0; //distancia / dVelocidadTotal dVelocidadTemporada = CalcularCostoVelocidadTemporada(_datosPaqueteDTO.iEstacion, _datosPaqueteDTO.dVelocidad); dTiempoTraslado = (_datosPaqueteDTO.dDistancia / dVelocidadTemporada) + _datosPaqueteDTO.dTiempoReparto; return(dTiempoTraslado); }
public double CalcularCostoEnvio(DatosPaqueteDTO _datosPaqueteDTO) { Double dCostoEnvio = 0, dCostoKM = 0; //CostoKM * distancia * (1 + (Utilidad/100)) dCostoKM = CalcularCostoKM(_datosPaqueteDTO.dDistancia); dCostoEnvio = dCostoKM * _datosPaqueteDTO.dDistancia * (1 + (_datosPaqueteDTO.dUtilidad / 100)); return(dCostoEnvio); }
public double CalcularTiempoTraslado(DatosPaqueteDTO _datosPaqueteDTO) { Double dTiempoTraslado = 0, dTiempoDescanso = 0, dCostoKM = 0; //distancia / (dCostoKM * dVelocidad) + dDescansoEstacion dCostoKM = CalcularCostoKM(_datosPaqueteDTO.dDistancia); dTiempoDescanso = CalcularTiempoDescansoEstacion(_datosPaqueteDTO.iEstacion); dTiempoTraslado = (_datosPaqueteDTO.dDistancia / (dCostoKM * _datosPaqueteDTO.dVelocidad) * dTiempoDescanso) + _datosPaqueteDTO.dTiempoReparto; return(dTiempoTraslado); }
private DatosPaqueteDTO LlenarPedidoDatosCorrectos() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { dDistancia = 80, dUtilidad = 45, dVelocidad = 80, dTiempoReparto = 10, }; return(datosPaqueteDTO); }
public DatosPaqueteDTO AsignarDatosExtraPaquetes(DatosPaqueteDTO _datosPaqueteDTO) { var serviceEstrategia = estrategiaCalculadorPaqueteriaService.CrearInstancia(_datosPaqueteDTO.iPaqueteria); _datosPaqueteDTO.iEstacion = AsignarEstacion(_datosPaqueteDTO.dtFechaPedido); _datosPaqueteDTO.lstTransporte = AsignarTransportes(_datosPaqueteDTO.iPaqueteria); _datosPaqueteDTO.dUtilidad = serviceEstrategia.CalcularMargenUtilidad(_datosPaqueteDTO.dtFechaPedido); _datosPaqueteDTO.dTiempoReparto = serviceEstrategia.CalculadorTiempoReparto(_datosPaqueteDTO.iTransporte); _datosPaqueteDTO.dVelocidad = AsignarVelocidad(_datosPaqueteDTO.iTransporte); return(_datosPaqueteDTO); }
public DatosPaqueteDTO AsignarResultadosDatosPaquetes(DatosPaqueteDTO _datosPaqueteDTO) { var serviceEstrategia = estrategiaCalculadorTransporteService.CrearInstancia(_datosPaqueteDTO.iTransporte); _datosPaqueteDTO.dCostoEnvio = serviceEstrategia.CalcularCostoEnvio(_datosPaqueteDTO); _datosPaqueteDTO.dTiempoTraslado = serviceEstrategia.CalcularTiempoTraslado(_datosPaqueteDTO); _datosPaqueteDTO.dtFechaEntrega = calculadorTiemposViewModelService.CalcularFechaEntrega(_datosPaqueteDTO); _datosPaqueteDTO.iColorMensaje = AsignarColorMensaje(_datosPaqueteDTO); _datosPaqueteDTO.cRangoTiempo = calculadorTiemposViewModelService.CalcularRangoTiempo(_datosPaqueteDTO); return(_datosPaqueteDTO); }
public void CalcularCostoEnvio_DatosPaquetesCorrectos_RetornaCostoEnvioMayorACero() { //Arrange CalculadorTransporteMaritimoService calculadorTransporteMaritimoService = new CalculadorTransporteMaritimoService(); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosCorrectos(); //Act Double dCostoEnvio = calculadorTransporteMaritimoService.CalcularCostoEnvio(datosPaqueteDTO); //Assert Assert.IsTrue(dCostoEnvio > 0); }
public Double CalcularCostoEnvio(DatosPaqueteDTO _datosPaqueteDTO) { //CostoKm * distancia + CargoExtra * (1+(Utilidad/100)) Double dCostoEnvio = 0, dCostoKM = 0, dCostoExtra = 0; dCostoKM = CalcularCostoKM(_datosPaqueteDTO.dDistancia); dCostoExtra = CalcularCostoExtra(_datosPaqueteDTO.dDistancia); dCostoEnvio = (dCostoKM * _datosPaqueteDTO.dDistancia + dCostoExtra) * (1 + (_datosPaqueteDTO.dUtilidad / 100)); return(dCostoEnvio); }
private DatosPaqueteDTO LlenarPedidoDatosConError() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { dDistancia = 0, dUtilidad = 0, dVelocidad = 0, dTiempoReparto = 0, }; return(datosPaqueteDTO); }
public void GenerarEstructuraMensajePedido(DatosPaqueteDTO _datosPaqueteDTO) { this.builderMensajePedido.AsignarExpresion1(_datosPaqueteDTO.dtFechaEntrega); this.builderMensajePedido.AsignarOrigen(_datosPaqueteDTO.cCiudadOrigen, _datosPaqueteDTO.cPaisOrigen); this.builderMensajePedido.AsignarExpresion2(_datosPaqueteDTO.dtFechaEntrega); this.builderMensajePedido.AsignarDestino(_datosPaqueteDTO.cCiudadDestino, _datosPaqueteDTO.cPaisDestino); this.builderMensajePedido.AsignarExpresion3(_datosPaqueteDTO.dtFechaEntrega); this.builderMensajePedido.AsignarRangoTiempo(_datosPaqueteDTO.cRangoTiempo); this.builderMensajePedido.AsignarExpresion4(_datosPaqueteDTO.dtFechaEntrega); this.builderMensajePedido.AsignarCostoEnvio(_datosPaqueteDTO.dCostoEnvio); this.builderMensajePedido.AsignarPaqueteria(_datosPaqueteDTO.cPaqueteria); }
public void CalcularTiempoTraslado_DatosPaquetesCorrectos_RetornaTiempoTrasladoMayorACero() { //Arrange CalculadorTransporteAereoService calculadorTransporteAereoService = new CalculadorTransporteAereoService(); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosCorrectos(); //Act Double dTiempoTraslado = calculadorTransporteAereoService.CalcularTiempoTraslado(datosPaqueteDTO); //Assert Assert.IsTrue(dTiempoTraslado > 0); }
public void CalcularTiempoTraslado_DatosPaquetesIncorrectos_RetornaTiempoTrasladoNaN() { //Arrange CalculadorTransporteAereoService calculadorTransporteAereoService = new CalculadorTransporteAereoService(); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosConError(); //Act Double dTiempoTraslado = calculadorTransporteAereoService.CalcularTiempoTraslado(datosPaqueteDTO); //Assert Assert.IsTrue(Double.IsNaN(dTiempoTraslado)); }
public void CalcularCostoEnvio_DatosPaquetesIncorrectos_RetornaCostoEnvioCero() { //Arrange CalculadorTransporteAereoService calculadorTransporteAereoService = new CalculadorTransporteAereoService(); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosConError(); //Act Double dCostoEnvio = calculadorTransporteAereoService.CalcularCostoEnvio(datosPaqueteDTO); //Assert Assert.IsTrue(dCostoEnvio == 0); }
private DatosPaqueteDTO LlenarPedidoDatosConError() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { iPaqueteria = (int)EnumPaqueterias.DHL, iTransporte = 0, dtFechaPedido = DateTime.Now, dtFechaEntrega = DateTime.Now }; return(datosPaqueteDTO); }
private DatosPaqueteDTO LlenarPedidoDatosCorrectos() { DatosPaqueteDTO datosPaqueteDTO = new DatosPaqueteDTO { iPaqueteria = (int)EnumPaqueterias.DHL, iTransporte = (int)EnumTransportes.Terrestre, dtFechaPedido = DateTime.Now, dtFechaEntrega = DateTime.Now }; return(datosPaqueteDTO); }
public Double CalcularTiempoTraslado(DatosPaqueteDTO _datosPaquetesDTO) { Double dTiempoTraslado = 0, dCostoKm = 0; int iEscala = 0; //distancia / (dCostoKM * dVelocidad) + (Escalas * 6) dCostoKm = CalcularCostoKM(_datosPaquetesDTO.dDistancia); iEscala = CalcularEscalas(_datosPaquetesDTO.dDistancia); dTiempoTraslado = (_datosPaquetesDTO.dDistancia / (dCostoKm * _datosPaquetesDTO.dVelocidad) + (iEscala * 6)) + _datosPaquetesDTO.dTiempoReparto; return(dTiempoTraslado); }
public int AsignarColorMensaje(DatosPaqueteDTO _datosPaqueteDTO) { int iColorMensaje = (int)ConsoleColor.White; DateTime dtFechaActual = DateTime.Now; if (_datosPaqueteDTO.dtFechaEntrega <= dtFechaActual) { iColorMensaje = (int)ConsoleColor.Green; } else { iColorMensaje = (int)ConsoleColor.Yellow; } return(iColorMensaje); }
public void ValidarDatosPedido_CPaqueteriaIncorrecta_RetornaDatosPaqueteDTOlErrorTrue() { //Arrange validadorDatosPedidoService = new Mock <IValidadorDatosPedidoService>(); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosConError(); var instanciaValidadorDatosPedidoService = new ValidadorPaqueteriaService(); validadorDatosPedidoService.Setup((srv) => srv.ValidarDatosPedido(datosPaqueteDTO)).Returns(() => new DatosPaqueteDTO()); //Act DatosPaqueteDTO datosPaqueteDTOResultado = instanciaValidadorDatosPedidoService.ValidarDatosPedido(datosPaqueteDTO); //Assert Assert.IsTrue(datosPaqueteDTO.lError); }
public List <DatosPaqueteDTO> AsignarDatosPaquetesEconomicos(DatosPaqueteDTO _datosPaqueteDTO, int _iCantidadPaqueterias) { List <string> lstPaqueterias = new List <string>(); List <DatosPaqueteDTO> lstDatosPaquetes = new List <DatosPaqueteDTO>(); lstPaqueterias.Add($"{_datosPaqueteDTO.dDistancia},DHL,{_datosPaqueteDTO.cMedioTransporte},{_datosPaqueteDTO.dtFechaPedido},{_datosPaqueteDTO.cPaisOrigen}," + $"{_datosPaqueteDTO.cCiudadOrigen},{_datosPaqueteDTO.cPaisDestino},{_datosPaqueteDTO.cCiudadDestino}"); lstPaqueterias.Add($"{_datosPaqueteDTO.dDistancia},Estafeta,{_datosPaqueteDTO.cMedioTransporte},{_datosPaqueteDTO.dtFechaPedido},{_datosPaqueteDTO.cPaisOrigen}," + $"{_datosPaqueteDTO.cCiudadOrigen},{_datosPaqueteDTO.cPaisDestino},{_datosPaqueteDTO.cCiudadDestino}"); lstPaqueterias.Add($"{_datosPaqueteDTO.dDistancia},Fedex,{_datosPaqueteDTO.cMedioTransporte},{_datosPaqueteDTO.dtFechaPedido},{_datosPaqueteDTO.cPaisOrigen}," + $"{_datosPaqueteDTO.cCiudadOrigen},{_datosPaqueteDTO.cPaisDestino},{_datosPaqueteDTO.cCiudadDestino}"); lstDatosPaquetes = AsignarDatosPaquetes(lstPaqueterias); return(lstDatosPaquetes); }
public List <DatosPaqueteDTO> ValidarDatosPaquetes(List <DatosPaqueteDTO> _lstdatosPaqueteDTO) { List <DatosPaqueteDTO> lstDatosPaquete = new List <DatosPaqueteDTO>(); foreach (DatosPaqueteDTO datosPaquete in _lstdatosPaqueteDTO) { DatosPaqueteDTO datosPaqueteValidado = new DatosPaqueteDTO(); ValidadorPaqueteriaService srvValidadorPaqueteria = new ValidadorPaqueteriaService(); ValidadorTransporteService srvValidadorTransporte = new ValidadorTransporteService(); srvValidadorPaqueteria.AsignarSiguienteValidacion(srvValidadorTransporte); datosPaqueteValidado = srvValidadorPaqueteria.ValidarDatosPedido(datosPaquete); lstDatosPaquete.Add(datosPaqueteValidado); } return(_lstdatosPaqueteDTO); }
public void AsignarColorMensaje_DatosPaquetesDTOFechaEntregaMayorAHoy_RetornaColorAmarillo() { //Arrange estrategiaCalculadorPaqueteriaService = new Mock <IEstrategiaCalculadorPaqueteriaService>(); estrategiaCalculadorTransporteService = new Mock <IEstrategiaCalculadorTransporteService>(); calculadorTiemposViewModelService = new Mock <ICalculadorTiemposViewModelService>(); AsignadorPedidoViewModelService asignadorPedidoViewModelService = new AsignadorPedidoViewModelService(estrategiaCalculadorPaqueteriaService.Object, estrategiaCalculadorTransporteService.Object, calculadorTiemposViewModelService.Object); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosCorrectos(); datosPaqueteDTO.dtFechaEntrega = datosPaqueteDTO.dtFechaEntrega.AddDays(2); //Act int iColorMensaje = asignadorPedidoViewModelService.AsignarColorMensaje(datosPaqueteDTO); //Assert Assert.IsTrue(iColorMensaje == (int)ConsoleColor.Yellow); }
public void AsignarDatosExtraPaquetes_DatosPaquetesIncorrectos_NoAsignaEstacionLstTransporteDUtilidadDVelocidad() { //Arrange estrategiaCalculadorPaqueteriaService = new Mock <IEstrategiaCalculadorPaqueteriaService>(); estrategiaCalculadorTransporteService = new Mock <IEstrategiaCalculadorTransporteService>(); calculadorTiemposViewModelService = new Mock <ICalculadorTiemposViewModelService>(); DatosPaqueteDTO datosPaqueteDTO = LlenarPedidoDatosConError(); AsignadorPedidoViewModelService asignadorPedidoViewModelService = new AsignadorPedidoViewModelService(estrategiaCalculadorPaqueteriaService.Object, estrategiaCalculadorTransporteService.Object, calculadorTiemposViewModelService.Object); estrategiaCalculadorPaqueteriaService.Setup((estrategiaSrv) => estrategiaSrv.CrearInstancia(datosPaqueteDTO.iPaqueteria)).Returns(() => new CalculadorPaqueteriaDHLService()); //Act DatosPaqueteDTO datosPaqueteDTOResultado = asignadorPedidoViewModelService.AsignarDatosExtraPaquetes(datosPaqueteDTO); //Assert Assert.IsFalse(datosPaqueteDTOResultado.iEstacion > 0 && datosPaqueteDTOResultado.lstTransporte.Count > 0 && datosPaqueteDTOResultado.dUtilidad > 0 && datosPaqueteDTOResultado.dVelocidad > 0); }
public string CalcularRangoTiempo(DatosPaqueteDTO _datosPaquete) { string cTiempoEntrega = string.Empty; Double dTiempoHoras = CalcularRangoTiempoHoras(_datosPaquete.dtFechaEntrega); Double dTiempoExacto = CalcularTiempoExacto(dTiempoHoras); if (dTiempoHoras < 1) { //Minutos hasta 59 minutos cTiempoEntrega = $"{dTiempoExacto.ToString()} minutos"; } else if (dTiempoHoras < 24) { //Horas hasta 23 horas cTiempoEntrega = $"{dTiempoExacto.ToString()} horas"; } else if (dTiempoHoras <= 144) { //Horas hasta 6 días cTiempoEntrega = $"{dTiempoExacto.ToString()} día(s)"; } else if (dTiempoHoras < 720) { //Semanas hasta 29 días cTiempoEntrega = $"{dTiempoExacto.ToString()} semana(s)"; } else if (dTiempoHoras == 720) { //Horas hasta 6 días cTiempoEntrega = $"{dTiempoExacto.ToString()} mes"; } else if (dTiempoHoras <= 8640) { //Horas hasta 6 días cTiempoEntrega = $"{dTiempoExacto.ToString()} bimestre(s)"; } else if (dTiempoHoras > 8640) { //Horas hasta 6 semestres cTiempoEntrega = $"{dTiempoExacto.ToString()} años"; } return(cTiempoEntrega); }
public DatosPaqueteDTO ValidarDatosPedido(DatosPaqueteDTO _datosPaqueteDTO) { switch (_datosPaqueteDTO.cMedioTransporte.ToUpper()) { case "AÉREO": case "MARÍTIMO": case "TERRESTRE": break; default: _datosPaqueteDTO.lError = true; _datosPaqueteDTO.iError = (int)EnumErrores.ErrorTransporte; _datosPaqueteDTO.iColorMensaje = (int)ConsoleColor.Red; break; } if (validadorDatosPedidoService != null && !_datosPaqueteDTO.lError) { validadorDatosPedidoService.ValidarDatosPedido(_datosPaqueteDTO); } return(_datosPaqueteDTO); }
public DatosPaqueteDTO ValidarDatosPedido(DatosPaqueteDTO _datosPaqueteDTO) { switch (_datosPaqueteDTO.cPaqueteria.ToUpper()) { case "FEDEX": case "ESTAFETA": case "DHL": break; default: _datosPaqueteDTO.lError = true; _datosPaqueteDTO.iError = (int)EnumErrores.ErrorPaqueteria; _datosPaqueteDTO.iColorMensaje = (int)ConsoleColor.Red; break; } if (validadorDatosPedidoService != null && !_datosPaqueteDTO.lError) { validadorDatosPedidoService.ValidarDatosPedido(_datosPaqueteDTO); } return(_datosPaqueteDTO); }