none
DropDownList – Opción “Todos" RRS feed

  • Pregunta

  • Estoy llenando un DropDownList con un ViewVag que trae los registros de una base de datos. Este muestra solo los registros que el usuario actual tiene asignados y la opción Todas. En este caso devuelve las sucursales que el usuario actual tiene.

    Usuario objCurrentUser = (Usuario)Session[Constantes.SESSION_USUARIO];
    var sucList = objCurrentUser.Sucursales;
    
    var listSucursales = sucList.Select(x => new SelectListItem
    {
        Text = x.descripcion,
        Value = x.descripcion,
        Selected = x.descripcion.Equals("Todas")
    });
    ViewBag.sucursal = listSucursales;
    
    //View 
    @Html.DropDownList("sucursal", null, new { @class = "form-control", @title = "Seleccione..." })


    Lo que intento hacer es que cuando seleccione la opción TODAS, el listado muestre todos los registros de todas las sucursales que el usuario tiene asignadas. Actualmente mi listado solo filtra por una sucursal específica. Uso este método:

    var result = from i in myService.ventasClientesf
                 where i.Sucursal.Equals(sucursal)
                 select i;
    
    ViewBag.resultado = result;

    He intentado hacer lo siguiente, siguiendo algunas indicaciones:

    Usuario objCurrentUser2 = (Usuario)Session[Constantes.SESSION_USUARIO];
    
    var sucList2 = objCurrentUser.Sucursales;
    var result = from i in myService.ventasClientesf
                 where i.Sucursal.Equals(sucursal == "Todas" ? sucList2 : sucursal)
                             select i;

    Pero sale el siguiente error:

    type of conditional expression cannot be determined because there is no implicit conversion between 'System.Collections.Generic.ICollection' and String

    Agradecería sus consejos


    martes, 24 de octubre de 2017 21:32