private RangoTarifaFSLBO ObtenerRangoTarifaInterfaz() { RangoTarifaFSLBO rango = new RangoTarifaFSLBO(); if (CargoKm.Value) { rango.KmRangoInicial = !String.IsNullOrEmpty(txtRangoInicial.Text) ? (Int32?)Int32.Parse(txtRangoInicial.Text) : null; rango.KmRangoFinal = !String.IsNullOrEmpty(txtRangoFinal.Text) ? (Int32?)Int32.Parse(txtRangoFinal.Text) : null; rango.CargoKm = !String.IsNullOrEmpty(txtCargo.Text) ? (Decimal?)Decimal.Parse(txtCargo.Text) : null; } else { rango.HrRangoInicial = !String.IsNullOrEmpty(txtRangoInicial.Text) ? (Int32?)Int32.Parse(txtRangoInicial.Text) : null; rango.HrRangoFinal = !String.IsNullOrEmpty(txtRangoFinal.Text) ? (Int32?)Int32.Parse(txtRangoFinal.Text) : null; rango.CargoHr = !String.IsNullOrEmpty(txtCargo.Text) ? (Decimal?)Decimal.Parse(txtCargo.Text) : null; } return(rango); }
private String ValidarRango(TarifaFSLBO tarifa, List <RangoTarifaFSLBO> rangosTarifa, RangoTarifaFSLBO nuevoRango) { if (rangosTarifa == null) { rangosTarifa = new List <RangoTarifaFSLBO>(); } if (String.IsNullOrEmpty(txtRangoInicial.Text)) { return("Es requerido capturar el rango de Inicio"); } if (String.IsNullOrEmpty(txtRangoFinal.Text) && this.ddlRangoTiempo.SelectedIndex == 2) { return("Es requerido capturar el rango Final"); } if (String.IsNullOrEmpty(txtCargo.Text)) { return("Es requerido ingresar el valor del Cargo. Sino se cobrará cargo, llenar el campo con 0"); } if (!rangosTarifa.Any()) { if (tarifa.CobraKm.Value) { if (tarifa.KmLibres > nuevoRango.KmRangoInicial) { return("El Rango Inicial debe ser Mayor a la los Kilometros Libres"); } if (tarifa.KmLibres == nuevoRango.KmRangoInicial) { return("El Rango Inicial debe ser Mayor a la los Kilometros Libres"); } if ((nuevoRango.KmRangoInicial - tarifa.KmLibres) > 1) { return("El Rango inicial debe ser los Kilometros Libres MAS Uno"); } if (nuevoRango.KmRangoFinal == null && this.ddlRangoTiempo.SelectedIndex == 0) { return("Debe Existir un Rango Final"); } if (nuevoRango.KmRangoFinal != null && nuevoRango.KmRangoInicial >= nuevoRango.KmRangoFinal) { return("El Rango final debe ser Mayor al Rango Inicial"); } } else { if (tarifa.HrLibres > nuevoRango.HrRangoInicial) { return("El Rango Inicial debe ser Mayor a la los Kilometros Libres"); } if (tarifa.HrLibres == nuevoRango.HrRangoInicial) { return("El Rango Inicial debe ser Mayor a la los Kilometros Libres"); } if ((nuevoRango.HrRangoInicial - tarifa.HrLibres) > 1) { return("El Rango inicial debe ser las Horas Libres MAS Una"); } if (nuevoRango.HrRangoFinal == null && this.ddlRangoTiempo.SelectedIndex == 0) { return("Debe Existir un Rango Final"); } if (nuevoRango.HrRangoFinal != null && nuevoRango.HrRangoInicial >= nuevoRango.HrRangoFinal) { return("El Rango final debe ser Mayor al Rango Inicial"); } } } else { var rangos = rangosTarifa.OrderBy(x => x.KmRangoInicial).ToList(); var ultimoRango = rangos.Last(); if (tarifa.CobraKm.Value) { if (ultimoRango.KmRangoFinal == null) { return("El Rango Anterior al que se quiere agregar no tiene un valor de 'Rango Final'"); } if (ultimoRango.KmRangoFinal >= nuevoRango.KmRangoInicial) { return("El Rango Inicial debe ser Mayor al Ultimo Rango Final"); } if ((nuevoRango.KmRangoInicial - ultimoRango.KmRangoFinal) > 1) { return("El Rango inicial debe ser el Ultimo Rango Final mas uno"); } if (nuevoRango.KmRangoFinal == null && this.ddlRangoTiempo.SelectedIndex == 0) { return("Debe Existir un Rango Final"); } if (nuevoRango.KmRangoFinal != null && nuevoRango.KmRangoInicial >= nuevoRango.KmRangoFinal) { return("El Rango final debe ser Mayor al Rango Inicial"); } } else { if (ultimoRango.HrRangoFinal == null) { return("El Rango Anterior al que se quiere agregar no tiene un valor de 'Rango Final'"); } if (ultimoRango.HrRangoFinal >= nuevoRango.HrRangoInicial) { return("El Rango Inicial debe ser Mayor al Ultimo Rango Final"); } if ((nuevoRango.HrRangoInicial - ultimoRango.HrRangoFinal) > 1) { return("El Rango inicial debe ser el Ultimo Rango Final mas uno"); } if (nuevoRango.HrRangoFinal == null && this.ddlRangoTiempo.SelectedIndex == 0) { return("Debe Existir un Rango Final"); } if (nuevoRango.HrRangoFinal != null && nuevoRango.HrRangoInicial >= nuevoRango.HrRangoFinal) { return("El Rango final debe ser Mayor al Rango Inicial"); } } } return(""); }