protected void rptConfiguracion_OnItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            try
            {
                if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
                {
                    return;
                }

                TarifaFSLBO tarifa = e.Item.DataItem != null ? e.Item.DataItem as TarifaFSLBO : null;

                if (tarifa == null)
                {
                    return;
                }

                TextBox  txtAnio       = e.Item.FindControl("txtAnioConsulta") as TextBox;
                TextBox  txtFrecuencia = e.Item.FindControl("txtFrecuenciaConsulta") as TextBox;
                TextBox  txtKmLibres   = e.Item.FindControl("txtKmLibresConsulta") as TextBox;
                TextBox  txtKmMinimos  = e.Item.FindControl("txtKmMinimosConsulta") as TextBox;
                GridView grvRangos     = e.Item.FindControl("grvConsultaConfiguracion") as GridView;
                if (txtAnio != null)
                {
                    txtAnio.Text = tarifa.Año != null?tarifa.Año.ToString(): "N/A";
                }
                if (txtFrecuencia != null)
                {
                    txtFrecuencia.Text = tarifa.Frecuencia != null?tarifa.Frecuencia.ToString() : "N/A";
                }
                if (txtKmLibres != null)
                {
                    txtKmLibres.Text = tarifa.CobraKm != null?tarifa.CobraKm.Value?tarifa.KmLibres.ToString() : tarifa.HrLibres.ToString() : "N/A";
                }
                if (txtKmMinimos != null)
                {
                    txtKmMinimos.Text = tarifa.CantidadMinima != null?tarifa.CantidadMinima.ToString() : "N/A";
                }
                if (grvRangos != null)
                {
                    grvRangos.DataSource = tarifa.Rangos ?? new List <RangoTarifaFSLBO>();
                    grvRangos.DataBind();
                }
            }
            catch (Exception ex)
            {
                MostrarMensaje("Inconsistencias al Presentar el Modo de Consulta", ETipoMensajeIU.ERROR, ex.Message);
            }
        }
        private TarifaFSLBO ObtenerTarifaInterfaz(TarifaFSLBO tarifaFslBo)
        {
            TarifaFSLBO tarifa = tarifaFslBo != null ? new TarifaFSLBO(tarifaFslBo) : new TarifaFSLBO();

            tarifa.Frecuencia = this.ddlFrecuencia.SelectedIndex != 0 ? (EFrecuencia?)Int32.Parse(ddlFrecuencia.SelectedValue) : null;
            tarifa.CobraKm    = CargoKm;
            if (CargoKm.Value)
            {
                tarifa.KmLibres = !String.IsNullOrEmpty(txtKmHrsLibres.Text) ? (Int32?)Int32.Parse(txtKmHrsLibres.Text) : null;
            }
            else
            {
                tarifa.HrLibres = !String.IsNullOrEmpty(txtKmHrsLibres.Text) ? (Int32?)Int32.Parse(txtKmHrsLibres.Text) : null;
            }
            tarifa.CantidadMinima = !String.IsNullOrEmpty(txtKmHrMinimo.Text) ? (Int32?)Int32.Parse(txtKmHrMinimo.Text) : null;

            return(tarifa);
        }
        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("");
        }
예제 #4
0
        public void Inicializar(int?plazo, ETipoCotizacion?tipoCotizacion, ETipoEquipo?tipoEquipo, List <TarifaFSLBO> tarifas, int?identificador, bool?permitirModificar)
        {
            vista.MostarTipoCargo(tipoEquipo == ETipoEquipo.EquipoAliado);
            vista.Identificador  = identificador;
            vista.TipoCotizacion = tipoCotizacion;
            if (tarifas == null)
            {
                tarifas = new List <TarifaFSLBO>();
            }
            if (!vista.SinTarifas.Value)
            {
                if (tipoCotizacion != null)
                {
                    if (tipoCotizacion == ETipoCotizacion.Average)
                    {
                        if (!tarifas.Any())
                        {
                            tarifas.Add(new TarifaFSLBO()
                            {
                                Rangos = new List <RangoTarifaFSLBO>()
                            });
                        }
                    }
                    if (tipoCotizacion == ETipoCotizacion.Step)
                    {
                        if (!tarifas.Any())
                        {
                            for (var i = 0; i < plazo; i++)
                            {
                                var tarifa = new TarifaFSLBO {
                                    Año = i + 1, Rangos = new List <RangoTarifaFSLBO>()
                                };
                                tarifas.Add(tarifa);
                            }
                        }
                    }
                }
                else
                {
                    tarifas = null;
                }
            }


            vista.Tarifas = tarifas;
            vista.PresentarTarifas(tarifas);
            vista.PresentarInformacionRangos(null);

            var frecuencias = this.ObtenerFrecuencias();

            vista.EstablecerFrecuencias(frecuencias);

            if (tipoCotizacion == null)
            {
                vista.EstablecerAnio(null);
            }
            else
            {
                if (tipoCotizacion == ETipoCotizacion.Average)
                {
                    vista.EstablecerAnio(new Dictionary <String, String> {
                        { "1", "1" }
                    });
                }
                else
                {
                    var anios = new Dictionary <String, String>();
                    for (int i = 0; i < plazo; i++)
                    {
                        anios.Add((i + 1).ToString(), (i + 1).ToString());
                    }
                    vista.EstablecerAnio(anios);
                }
            }

            this.PermitirModificar(permitirModificar.Value);
            vista.MostrarModoConsulta(vista.EsModoConsulta != null && vista.EsModoConsulta == true);
        }