Esempio n. 1
0
        protected override void AddParameter(TipoDocumentoParametro par, string id, string style)
        {
            if (dia > 31)
            {
                dia = 1;
            }
            switch (par.Nombre)
            {
            case CamposCombustible.Dia:
                AddLiteral((dia++).ToString());
                break;

            case CamposCombustible.Cliente:
                AddLabel(id, style);
                break;

            case CamposCombustible.Actividad:
                var cb = AddDropDownList(id, style);
                cb.Items.Clear();
                cb.Items.Add(new ListItem(" ", ""));
                cb.Items.Add(new ListItem("PERFORA - REPASA - REPERFORA - CIRCULA - REG VERTICALIDAD", "PC"));
                cb.Items.Add(new ListItem("REG VERTICALIDAD TOCTO - ENSAYA - SACA SONDEO - BAJA SONDEO - CALIBRA POZO - ARMA PM - COLOCA VASTAGO", "MA"));
                cb.Items.Add(new ListItem("MONTAJE BOP - TEST BOP - VINCULA CSG - TEST MNIFOLD", "BP"));
                cb.Items.Add(new ListItem("PERFILA", "LG"));
                cb.Items.Add(new ListItem("ENTUBA", "EN"));
                cb.Items.Add(new ListItem("ESPERA", "ES"));
                cb.Items.Add(new ListItem("REPARACION MECANICA", "RM"));
                cb.Items.Add(new ListItem("REPARACION OPERATIVA", "RO"));
                cb.Items.Add(new ListItem("MANIOBRA HERRAMIENTA APRISIONADA", "AP"));
                cb.Items.Add(new ListItem("PREPARACION INYECCION - ACUMULA AGUA - PERFILA VAINAS", "AC"));
                cb.Items.Add(new ListItem("DTM", "DM"));
                cb.Items.Add(new ListItem("REPARACION ELECTRICA", "RE"));
                cb.Items.Add(new ListItem("OPERATIVA", "OP"));
                cb.Items.Add(new ListItem("ESPERA POR FUERZA MAYOR-HUELGA-PARO-CORTE DE RUTA", "FM"));
                break;

            case CamposCombustible.StockDiario:
            case CamposCombustible.TotalCantidad:
            case CamposCombustible.TotalMotores:
            case CamposCombustible.TotalGenerador:
            case CamposCombustible.TotalEgresosPropios:
            case CamposCombustible.TotalEgresosTerceros:
            case CamposCombustible.TotalStockDiario:
                AddLabel(id, style);
                break;

            default:
                base.AddParameter(par, id, style);

                if (par.Nombre == CamposCombustible.Mes)
                {
                    (GetControlFromView(TipoDocumentoHelper.GetControlName(par)) as TextBox).Text = DateTime.Now.Month.ToString();
                }
                if (par.Nombre == CamposCombustible.Anio)
                {
                    (GetControlFromView(TipoDocumentoHelper.GetControlName(par)) as TextBox).Text = DateTime.Now.Year.ToString();
                }
                break;
            }
        }
Esempio n. 2
0
        protected override DocumentoValor GetDocValue(TipoDocumentoParametro par, short repeticion)
        {
            if (par.Nombre == ParteCampos.EstadoControl)
            {
                return(null);
            }

            if (par.Nombre == ParteCampos.TipoServicio)
            {
                var id = par.Nombre.Replace(' ', '_');
                if (par.Repeticion != 1)
                {
                    id += repeticion;
                }

                var ctl = view.DocumentContainer.FindControl(id) as DropDownList;
                if (ctl == null)
                {
                    return(null);
                }

                return(new DocumentoValor
                {
                    Parametro = par,
                    Repeticion = repeticion,
                    Valor = ctl.SelectedValue
                });
            }

            var val = base.GetDocValue(par, repeticion);

            switch (par.Nombre)
            {
            case ParteCampos.SalidaAlPozo:
            case ParteCampos.LlegadaAlPozo:
            case ParteCampos.SalidaDelPozo:
            case ParteCampos.LlegadaDelPozo:
                var ts = GetHours(par, repeticion);
                var dt = Fecha.Date.Add(ts);
                val.Valor = dt.ToDataBaseDateTime().ToString(CultureInfo.InvariantCulture);
                _times.Add(new OrderDocumentoValor(repeticion.ToString() + val.Parametro.Orden, val));
                break;

            case ParteCampos.KilometrajeTotal:
                break;

            case ParteCampos.Kilometraje:
                break;

            case ParteCampos.KilometrajeGps:
                break;

            default:
                break;
            }

            return(val);
        }
Esempio n. 3
0
 protected override void AddParameter(TipoDocumentoParametro par, string id, string style)
 {
     if (par.Nombre == ParteCampos.EstadoControl)
     {
         AddEstado(id, style);
     }
     else if (par.Nombre == ParteCampos.SalidaAlPozo ||
              par.Nombre == ParteCampos.LlegadaAlPozo ||
              par.Nombre == ParteCampos.SalidaDelPozo ||
              par.Nombre == ParteCampos.LlegadaDelPozo)
     {
         AddTime(id, style);
     }
     else if (par.Nombre == ParteCampos.KilometrajeTotal)
     {
         AddKmTotal(id, style);
     }
     else if (par.Nombre == ParteCampos.Kilometraje)
     {
         var txt = new TextBox {
             ID = id
         };
         txt.Style.Value = style;
         txt.Attributes.Add("onchange", "CalculaKmTotal();");
         view.DocumentContainer.Controls.Add(txt);
         view.RegisterScript("km_" + id, "km.push('" + txt.ClientID + "');");
     }
     else if (par.Nombre == ParteCampos.OdometroInicial)
     {
         var txt = new TextBox {
             ID = id
         };
         txt.Style.Value = style;
         txt.Attributes.Add("onchange", "CalculaOdometro();");
         view.DocumentContainer.Controls.Add(txt);
         view.RegisterScript("odom_" + id, "odo.push({ini: '" + txt.ClientID + "'});");
     }
     else if (par.Nombre == ParteCampos.OdometroFinal)
     {
         var txt = new TextBox {
             ID = id
         };
         txt.Style.Value = style;
         txt.Attributes.Add("onchange", "CalculaOdometro();");
         view.DocumentContainer.Controls.Add(txt);
         view.RegisterScript("odom_" + id, "odo[odo.length-1].fin = '" + txt.ClientID + "';");
     }
     else if (par.Nombre == ParteCampos.TipoServicio)
     {
         AddTipoServicio(id, style);
     }
     else
     {
         base.AddParameter(par, id, style);
     }
 }
Esempio n. 4
0
        protected virtual void AddParameter(TipoDocumentoParametro par, string id, string style)
        {
            switch (par.TipoDato.ToLower())
            {
            case TipoParametroDocumento.Integer:
            case TipoParametroDocumento.Float:
            case TipoParametroDocumento.String:
            case TipoParametroDocumento.Barcode:
                AddTextBox(id, style);
                break;

            case TipoParametroDocumento.DateTime:
                AddDate(id, style);
                break;

            case TipoParametroDocumento.Boolean:
                AddCheckBox(id, style);
                break;

            case TipoParametroDocumento.Coche:
                AddCoche(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.Chofer:
                AddEmpleado(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.Aseguradora:
                AddAseguradora(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.Equipo:
                AddEquipo(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.Image:
                AddImagen(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.Tanque:
                AddTanque(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.Cliente:
                AddCliente(id, style, par.Obligatorio);
                break;

            case TipoParametroDocumento.CentroCostos:
                AddCentroDeCostos(id, style, par.Obligatorio);
                break;
            }
            SetParameterValue(par.TipoDato, id, par.Default);
        }
Esempio n. 5
0
        protected void btNewParam_Click(object sender, EventArgs e)
        {
            var parameter = new TipoDocumentoParametro {
                Largo = 10
            };
            var par = NewParams;

            par.Add(parameter);
            NewParams = par;
            var list = GetParametersFromView();

            list.Add(parameter);
            ReBindParametros(list);
        }
Esempio n. 6
0
        protected virtual void AddParameter(TipoDocumentoParametro par, string id, string style)
        {
            switch (par.TipoDato.ToLower())
            {
            case TipoParametroDocumento.Integer:
                AddParameterInt(par, id, style);
                break;

            case TipoParametroDocumento.Float:
                AddParameterFloat(par, id, style);
                break;

            case TipoParametroDocumento.String:
                AddParameterString(par, id, style);
                break;

            case TipoParametroDocumento.Barcode:
                AddParameterString(par, id, style);
                break;

            case TipoParametroDocumento.DateTime:
                AddParameterDateTime(par, id, style);
                break;

            case TipoParametroDocumento.Boolean:
                AddParameterBoolean(par, id, style);
                break;

            case TipoParametroDocumento.Coche:
                AddParameterCoche(par, id, style);
                break;

            case TipoParametroDocumento.Chofer:
                AddParameterChofer(par, id, style);
                break;

            case TipoParametroDocumento.Aseguradora:
                AddParameterAseguradora(par, id, style);
                break;

            case TipoParametroDocumento.Equipo:
                AddParameterEquipo(par, id, style);
                break;

            case TipoParametroDocumento.CentroCostos:
                AddParameterCentroCostos(par, id, style);
                break;
            }
        }
Esempio n. 7
0
        private TimeSpan GetHours(TipoDocumentoParametro par, short repeticion)
        {
            var id = par.Nombre.Replace(' ', '_');

            if (par.Repeticion != 1)
            {
                id += repeticion;
            }

            var ctl  = view.DocumentContainer.FindControl(id);
            var dval = ((TextBox)ctl).Text;

            if (!par.Obligatorio && string.IsNullOrEmpty(dval))
            {
                return(DefaultTs);
            }

            var parts = dval.Split(':');

            if (parts.Length != 2)
            {
                throw new ApplicationException("El campo " + par.Nombre + " no tiene el formato correcto");
            }

            int hh, mm;

            if (!int.TryParse(parts[0], out hh) || !int.TryParse(parts[1], out mm))
            {
                throw new ApplicationException("El campo " + par.Nombre + " no tiene el formato correcto");
            }

            if (hh < 0 || hh > 23 || mm < 0 || mm > 59)
            {
                throw new ApplicationException("El campo " + par.Nombre + " no tiene el formato correcto");
            }

            var ts = new TimeSpan(0, hh, mm, 0);

            return(ts);
        }
Esempio n. 8
0
 private string GetClientID(TipoDocumentoParametro parametro)
 {
     return(GetControlFromView(TipoDocumentoHelper.GetControlName(parametro)).ClientID);
 }
Esempio n. 9
0
 protected virtual void AddParameterCentroCostos(TipoDocumentoParametro par, string id, string style)
 {
     AddCentroCostos(id, style);
 }
Esempio n. 10
0
 protected virtual void AddParameterEquipo(TipoDocumentoParametro par, string id, string style)
 {
     AddEquipo(id, style);
 }
Esempio n. 11
0
 protected virtual void AddParameterAseguradora(TipoDocumentoParametro par, string id, string style)
 {
     AddAseguradora(id, style);
 }
Esempio n. 12
0
 protected virtual void AddParameterChofer(TipoDocumentoParametro par, string id, string style)
 {
     AddTextBox(id, style);
 }
Esempio n. 13
0
 protected virtual void AddParameterCoche(TipoDocumentoParametro par, string id, string style)
 {
     AddCoche(id, style);
 }
Esempio n. 14
0
 protected virtual void AddParameterBoolean(TipoDocumentoParametro par, string id, string style)
 {
     AddCheckBox(id, style);
 }
Esempio n. 15
0
 public string GetControlName(TipoDocumentoParametro parametro)
 {
     return(parametro.Nombre.Replace(' ', '_'));
 }
Esempio n. 16
0
 private string GetClientID(TipoDocumentoParametro parametro, short repeticion)
 {
     return(GetControlFromView(TipoDocumentoHelper.GetControlName(parametro, repeticion)).ClientID);
 }
Esempio n. 17
0
 public DocumentoParametroEventArgs(string fieldName, string style, TipoDocumentoParametro parametro)
 {
     Parametro = parametro;
     FieldName = fieldName;
     Style     = style;
 }
Esempio n. 18
0
        protected override string GetParameterValue(TipoDocumentoParametro parameter, short repeticion)
        {
            if (dia > 31)
            {
                dia = 1;
            }
            switch (parameter.Nombre)
            {
            case CamposCombustible.Dia:
                return((dia++).ToString());

            case CamposCombustible.Actividad:
                var combo = GetControlFromView(TipoDocumentoHelper.GetControlName(parameter, repeticion)) as DropDownList;
                return(combo.SelectedValue);

            case CamposCombustible.StockDiario:
            case CamposCombustible.TotalCantidad:
            case CamposCombustible.TotalMotores:
            case CamposCombustible.TotalGenerador:
            case CamposCombustible.TotalEgresosPropios:
            case CamposCombustible.TotalEgresosTerceros:
            case CamposCombustible.TotalStockDiario:
                return("0");

            case CamposCombustible.Cliente:
                var cbEquipo = GetControlFromView(TipoDocumentoHelper.CONTROL_NAME_PARENTI19) as DropDownList;
                var equipo   = DAOFactory.EquipoDAO.FindById(Convert.ToInt32(cbEquipo.SelectedValue));
                return(equipo.Cliente.Id.ToString());

            default:
                var    val = base.GetParameterValue(parameter, repeticion);
                double d   = GetFloat(val);
                if (d == -999)
                {
                    d = 0;
                }
                if (parameter.Nombre == CamposCombustible.Cantidad)
                {
                    cantidad += d;
                    if (!diario.ContainsKey(repeticion))
                    {
                        diario.Add(repeticion, 0);
                    }
                    diario[repeticion] += d;
                    return(d.ToString());
                }
                if (parameter.Nombre == CamposCombustible.Motores)
                {
                    motores += d;
                    if (!diario.ContainsKey(repeticion))
                    {
                        diario.Add(repeticion, 0);
                    }
                    diario[repeticion] += d;
                    return(d.ToString());
                }
                if (parameter.Nombre == CamposCombustible.Generador)
                {
                    generador += d;
                    if (!diario.ContainsKey(repeticion))
                    {
                        diario.Add(repeticion, 0);
                    }
                    diario[repeticion] += d;
                    return(d.ToString());
                }
                if (parameter.Nombre == CamposCombustible.EgresosPropios)
                {
                    propios += d;
                    if (!diario.ContainsKey(repeticion))
                    {
                        diario.Add(repeticion, 0);
                    }
                    diario[repeticion] += d;
                    return(d.ToString());
                }
                if (parameter.Nombre == CamposCombustible.EgresosTerceros)
                {
                    terceros += d;
                    if (!diario.ContainsKey(repeticion))
                    {
                        diario.Add(repeticion, 0);
                    }
                    diario[repeticion] += d;
                    return(d.ToString());
                }

                return(val);
            }
        }
Esempio n. 19
0
        protected List <TipoDocumentoParametro> GetParametersFromView()
        {
            var todelete  = ToDelete;
            var newparams = NewParams;
            var list      = new List <TipoDocumentoParametro>();

            var newparcount = 0;
            var i           = 0;

            foreach (C1GridViewRow row in gridParametros.Rows)
            {
                var id = (int)gridParametros.DataKeys[row.RowIndex].Value;
                if (todelete.Contains(id))
                {
                    continue;
                }

                TipoDocumentoParametro parametro = null;

                if (id == 0)
                {
                    parametro = newparams[newparcount];
                    parametro.TipoDocumento = EditObject;
                    newparcount++;
                }
                else
                {
                    parametro = (from TipoDocumentoParametro p in EditObject.Parametros where p.Id == id select p).First();
                }
                var txtNombreParam = row.FindControl("txtNombreParam") as TextBox;
                var cbTipoParam    = row.FindControl("cbTipoParam") as DropDownList;
                var txtLargo       = row.FindControl("txtLargo") as TextBox;
                var txtPrecision   = row.FindControl("txtPrecision") as TextBox;
                var chkObligatorio = row.FindControl("chkObligatorio") as CheckBox;
                var txtDefault     = row.FindControl("txtDefault") as TextBox;
                var txtOrden       = row.FindControl("txtOrden") as TextBox;
                var txtRepeticion  = row.FindControl("txtRepeticion") as TextBox;

                parametro.Nombre   = txtNombreParam.Text;
                parametro.TipoDato = cbTipoParam.SelectedValue;
                short largo, pres, repeticion;
                if (!short.TryParse(txtLargo.Text, out largo))
                {
                    txtLargo.Text = "0";
                }
                if (!short.TryParse(txtPrecision.Text, out pres))
                {
                    txtPrecision.Text = "0";
                }
                if (!short.TryParse(txtRepeticion.Text, out repeticion))
                {
                    txtRepeticion.Text = "1";
                    repeticion         = 1;
                }
                parametro.Largo       = largo;
                parametro.Precision   = pres;
                parametro.Obligatorio = chkObligatorio.Checked;
                parametro.Default     = txtDefault.Text;
                parametro.Repeticion  = repeticion;
                double orden;
                if (!double.TryParse(txtOrden.Text.Replace(',', '.'), NumberStyles.Any, CultureInfo.InvariantCulture, out orden))
                {
                    txtOrden.Text = i.ToString(CultureInfo.InvariantCulture);
                    orden         = i;
                }
                parametro.Orden = orden;

                list.Add(parametro);
                i++;
            }

            return(list);
        }
Esempio n. 20
0
 public string GetControlName(TipoDocumentoParametro parametro, short repeticion)
 {
     return(parametro.Nombre.Replace(' ', '_') + repeticion);
 }
Esempio n. 21
0
        protected virtual string GetParameterValue(TipoDocumentoParametro parameter, short repeticion)
        {
            var id = (parameter.Repeticion != 1)
                            ? TipoDocumentoHelper.GetControlName(parameter, repeticion)
                            : TipoDocumentoHelper.GetControlName(parameter);

            var control = GetControlFromView(id);

            if (control == null)
            {
                return(null);
            }

            string textValue;

            switch (parameter.TipoDato.ToLower())
            {
            case TipoParametroDocumento.Integer:
                textValue = GetTextBoxValue(id);
                if (parameter.Obligatorio)
                {
                    return(GetRequiredInt(parameter.Nombre, textValue).ToString());
                }

                var integer = GetInt(textValue);
                if (integer == -999)
                {
                    return(null);
                }
                return(integer.ToString());

            case TipoParametroDocumento.Float:
                textValue = GetTextBoxValue(id).Replace(',', '.');
                if (parameter.Obligatorio)
                {
                    return(GetRequiredFloat(parameter.Nombre, textValue).ToString());
                }
                var floatnum = GetFloat(textValue);
                if (floatnum == -999)
                {
                    return(null);
                }
                return(floatnum.ToString());

            case TipoParametroDocumento.String:
            case TipoParametroDocumento.Barcode:
                textValue = GetTextBoxValue(id);
                return(parameter.Obligatorio
                               ? GetRequiredNotEmpty(parameter.Nombre, textValue)
                               : textValue);

            case TipoParametroDocumento.DateTime:
                textValue = GetTextBoxValue(id);
                if (parameter.Obligatorio)
                {
                    return(GetRequiredValidDate(parameter.Nombre, textValue).ToString(CultureInfo.InvariantCulture));
                }

                var date = GetValidDate(textValue);
                if (date == DateTime.MinValue)
                {
                    return(null);
                }
                return(date.ToString(CultureInfo.InvariantCulture));

            case TipoParametroDocumento.Boolean:
                return(GetCheckBoxValue(id) ? "true" : "false");

            case TipoParametroDocumento.Coche:
            case TipoParametroDocumento.Chofer:
            case TipoParametroDocumento.Aseguradora:
            case TipoParametroDocumento.Equipo:
            case TipoParametroDocumento.Cliente:
            case TipoParametroDocumento.Tanque:
            case TipoParametroDocumento.CentroCostos:
                textValue = GetDropDownListValue(id);
                if (parameter.Obligatorio)
                {
                    return(GetRequiredInt(parameter.Nombre, textValue).ToString());
                }

                var number = GetInt(textValue);
                if (number == 0)
                {
                    return(null);
                }
                return(number.ToString());

            case TipoParametroDocumento.Image:
                if (parameter.Obligatorio && !editMode)
                {
                    return(GetRequiredFile(parameter.Nombre, control as FileUpload));
                }
                return(GetFile(parameter.Nombre, control as FileUpload));
            }

            return(null);
        }
Esempio n. 22
0
 protected virtual void AddParameterDateTime(TipoDocumentoParametro par, string id, string style)
 {
     AddDate(id, style);
 }
Esempio n. 23
0
        protected virtual DocumentoValor GetDocValue(TipoDocumentoParametro par, short repeticion)
        {
            var val = new DocumentoValor();

            val.Parametro  = par;
            val.Repeticion = repeticion;

            var id = par.Nombre.Replace(' ', '_');

            if (par.Repeticion != 1)
            {
                id += repeticion;
            }

            var ctl = view.DocumentContainer.FindControl(id);

            if (ctl == null)
            {
                return(null);
            }

            switch (par.TipoDato.ToLower())
            {
            case TipoParametroDocumento.Integer:
                var ival = (ctl as TextBox).Text;
                if (!par.Obligatorio && string.IsNullOrEmpty(ival))
                {
                    return(null);
                }

                int i;
                if (!int.TryParse(ival, out i))
                {
                    throw new ApplicationException("El campo " + par.Nombre + " debe ser un numerico entero");
                }
                val.Valor = i.ToString();
                break;

            case TipoParametroDocumento.Float:
                var fval = (ctl as TextBox).Text;
                if (!par.Obligatorio && string.IsNullOrEmpty(fval))
                {
                    break;
                }
                fval = fval.Replace(',', '.');
                double f;
                if (!double.TryParse(fval, NumberStyles.Any, CultureInfo.InvariantCulture, out f))
                {
                    throw new ApplicationException("El campo " + par.Nombre + " debe ser un numerico decimal");
                }
                val.Valor = f.ToString(CultureInfo.InvariantCulture);
                break;

            case TipoParametroDocumento.String:
                var sval = (ctl as TextBox).Text;

                if (string.IsNullOrEmpty(sval))
                {
                    if (par.Obligatorio)
                    {
                        throw new ApplicationException("El campo " + par.Nombre + " no puede estar vacio");
                    }
                    else
                    {
                        break;
                    }
                }
                val.Valor = sval;
                break;

            case TipoParametroDocumento.Barcode:
                var svalcode = (ctl as TextBox).Text;

                if (string.IsNullOrEmpty(svalcode))
                {
                    if (par.Obligatorio)
                    {
                        throw new ApplicationException("El campo " + par.Nombre + " no puede estar vacio");
                    }
                    else
                    {
                        break;
                    }
                }
                val.Valor = svalcode;
                break;

            case TipoParametroDocumento.DateTime:
                var dval = (ctl as TextBox).Text;
                if (!par.Obligatorio && string.IsNullOrEmpty(dval))
                {
                    break;
                }
                DateTime d;
                if (!DateTime.TryParse(dval, new CultureInfo("es-AR"), DateTimeStyles.None, out d))
                {
                    throw new ApplicationException("El campo " + par.Nombre + " debe ser una fecha valida");
                }
                val.Valor = d.ToDataBaseDateTime().ToString(CultureInfo.InvariantCulture);
                break;

            case TipoParametroDocumento.Boolean:
                val.Valor = (ctl as CheckBox).Checked ? "true" : "false";
                break;

            case TipoParametroDocumento.Coche:
                var md = (ctl as MovilDropDownList);
                if (md.SelectedIndex < 0)
                {
                    if (par.Obligatorio)
                    {
                        throw new ApplicationException("Debe seleccionar un valor para el campo " + par.Nombre);
                    }
                    else
                    {
                        break;
                    }
                }
                val.Valor = md.SelectedValue;
                break;

            case TipoParametroDocumento.Chofer:
                /*MovilDropDownList md = (ctl as MovilDropDownList);
                 * if (md.SelectedIndex < 0)
                 *  if (par.Obligatorio)
                 *      throw new ApplicationException("Debe seleccionar un valor para el campo " + par.Nombre);
                 *  else
                 *      break;
                 * val.Valor = md.SelectedValue;*/
                break;

            case TipoParametroDocumento.Aseguradora:
                var ase = (ctl as TransportistaDropDownList);
                if (ase.SelectedIndex < 0)
                {
                    if (par.Obligatorio)
                    {
                        throw new ApplicationException("Debe seleccionar un valor para el campo " + par.Nombre);
                    }
                    else
                    {
                        break;
                    }
                }
                val.Valor = ase.SelectedValue;
                break;

            case TipoParametroDocumento.Equipo:
                var eq = (ctl as EquipoDropDownList);
                if (eq.SelectedIndex < 0)
                {
                    if (par.Obligatorio)
                    {
                        throw new ApplicationException("Debe seleccionar un valor para el campo " + par.Nombre);
                    }
                    else
                    {
                        break;
                    }
                }
                val.Valor = eq.SelectedValue;
                break;

            case TipoParametroDocumento.CentroCostos:
                var cc = (ctl as CentroDeCostosDropDownList);
                if (cc.SelectedIndex < 0)
                {
                    if (par.Obligatorio)
                    {
                        throw new ApplicationException("Debe seleccionar un valor para el campo " + par.Nombre);
                    }
                    else
                    {
                        break;
                    }
                }
                val.Valor = cc.SelectedValue;
                break;
            }

            return(val);
        }