public ActionResult Index(string option, string search, int page = 1, int pageSize = 4)
 {
     if (option == "Materia")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.materia == search && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Abogado")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.numeroCaso == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Tipo de litigante")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.tipoLitigante == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Número de caso")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.numeroCaso == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Estado")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.idEstado == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     //else if (option == "Fecha")
     //{
     //    List<Documento> listaDocumentos = documentoBll.Find(x => x.fecha == DateTime.TryParseExact(search, "yyyy-MM-dd HH:mm:ss,fff") && x.idDocumento == 5 || search == null).ToList();
     //    PagedList<Documento> model = new PagedList<Documento>(listaDocumentos, page, pageSize);
     //    return View(model);
     //}
     else
     {
         ViewBag.tipoLitigante = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipoLitigio"), "idTablaGeneral", "descripcion");
         ViewBag.idUsuario     = new SelectList(usuarioBLL.Consulta(), "idUsuario", "nombre");
         ViewBag.idTipo        = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
         List <Caso>      listacaso = casoBLL.Find(x => search == null && x.idTipo == 20).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         List <Caso>      documento = casoBLL.GetAll();
         return(View(model));
     }
 }
        public JsonResult Search(string name)
        {
            var resultado = casoBLL.Find(x => x.numeroCaso.Equals(name)).Select(x => x.numeroCaso).Take(11).ToList();

            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Index(string option, string search, string currentFilter, string sortOrder, int?page)
        {
            try
            {
                tablaGeneralBLL = new TablaGeneralBLLImpl();
                personaBLL      = new PersonasBLLImpl();
                usuarioBLL      = new UsuarioBLLImpl();
                casoBLL         = new CasoBLLImpl();
            }
            catch (Exception ex)
            {
                ex = new Exception();
                return(View());
            }
            ViewBag.CurrentSort = sortOrder;
            if (search != null)
            {
                page = 1;
            }
            else
            {
                search = currentFilter;
            }
            ViewBag.CurrentFilter = search;

            int pageSize   = 4;
            int pageNumber = (page ?? 1);

            if (option == "Número de Caso")
            {
                ViewBag.idTipo = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
                List <Caso>      listaCaso = casoBLL.Find(x => x.numeroCaso == 1 && x.idTipo == 20 || search == null).ToList();
                PagedList <Caso> model     = new PagedList <Caso>(listaCaso, pageNumber, pageSize);
                return(View(model.ToPagedList(pageNumber, pageSize)));
            }
            else if (option == "Materia")
            {
                ViewBag.idTipo = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
                List <Caso>      listaCaso = casoBLL.Find(x => x.materia == search && x.idTipo == 20 || search == null).ToList();
                PagedList <Caso> model     = new PagedList <Caso>(listaCaso, pageNumber, pageSize);
                return(View(model));
            }
            else if (option == "Descripción")
            {
                ViewBag.idTipo = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
                List <Caso>      listaCaso = casoBLL.Find(x => x.descripcion == search && x.idTipo == 20 || search == null).ToList();
                PagedList <Caso> model     = new PagedList <Caso>(listaCaso, pageNumber, pageSize);
                return(View(model));
            }
            else if (option == "Observación")
            {
                ViewBag.idTipo = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
                List <Caso>      listaCaso = casoBLL.Find(x => x.observacion == search && x.idTipo == 20 || search == null).ToList();
                PagedList <Caso> model     = new PagedList <Caso>(listaCaso, pageNumber, pageSize);
                return(View(model));
            }
            else
            {
                ViewBag.idTipo     = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
                ViewBag.NumeroCaso = String.IsNullOrEmpty(sortOrder) ? "CasoDes" : "";
                var casos = from s in casoBLL.Find(x => search == null && x.idTipo == 20) select s;

                switch (sortOrder)
                {
                case "CasoDes":
                    casos = casos.OrderByDescending(s => s.numeroCaso);
                    break;

                default:
                    casos = casos.OrderBy(s => s.numeroCaso);
                    break;
                }
                List <Caso> listacasos = casos.ToList();
                foreach (Caso caso in listacasos)
                {
                    tablaGeneralBLL    = new TablaGeneralBLLImpl();
                    personaBLL         = new PersonasBLLImpl();
                    usuarioBLL         = new UsuarioBLLImpl();
                    caso.Persona       = personaBLL.Get(caso.idPersona);
                    caso.Usuario       = usuarioBLL.Get(caso.idUsuario);
                    caso.TablaGeneral  = tablaGeneralBLL.Get(caso.idEstado);
                    caso.TablaGeneral1 = tablaGeneralBLL.Get(caso.idTipo);
                    caso.TablaGeneral2 = tablaGeneralBLL.Get(caso.tipoLitigante);
                }
                PagedList <Caso> model = new PagedList <Caso>(listacasos, pageNumber, pageSize);
                return(View(model));
            }
        }
 public ActionResult Index(string option, string search, int page = 1, int pageSize = 4)
 {
     try
     {
         tablaGeneralBLL = new TablaGeneralBLLImpl();
         casoBLL         = new CasoBLLImpl();
         personaBLL      = new PersonasBLLImpl();
         usuarioBLL      = new UsuarioBLLImpl();
     }
     catch (Exception ex)
     {
     }
     if (option == "Materia")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.materia == search && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Abogado")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.numeroCaso == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Tipo de litigante")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.tipoLitigante == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Número de caso")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.numeroCaso == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else if (option == "Estado")
     {
         List <Caso>      listacaso = casoBLL.Find(x => x.idEstado == Int32.Parse(search) && x.idCaso == 3 || search == null).ToList();
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         return(View(model));
     }
     else
     {
         ViewBag.tipoLitigante = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipoLitigio"), "idTablaGeneral", "descripcion");
         ViewBag.idUsuario     = new SelectList(usuarioBLL.Consulta(), "idUsuario", "nombre");
         ViewBag.idTipo        = new SelectList(tablaGeneralBLL.Consulta("Casos", "tipo"), "idTablaGeneral", "descripcion");
         List <Caso> listacaso = casoBLL.Find(x => search == null && x.idTipo == 19).ToList();
         foreach (Caso caso in listacaso)
         {
             caso.Persona       = personaBLL.Get(caso.idPersona);
             caso.Usuario       = usuarioBLL.Get(caso.idUsuario);
             caso.TablaGeneral  = tablaGeneralBLL.Get(caso.idEstado);
             caso.TablaGeneral1 = tablaGeneralBLL.Get(caso.idTipo);
             caso.TablaGeneral2 = tablaGeneralBLL.Get(caso.tipoLitigante);
         }
         PagedList <Caso> model     = new PagedList <Caso>(listacaso, page, pageSize);
         List <Caso>      documento = casoBLL.GetAll();
         return(View(model));
     }
 }