예제 #1
0
        public ActionResult FiltroOrdenes(FilterModels.FilterOrdenTrabajo filtro)
        {
            if (ModelState.IsValid)
            {
                Session["Filtro"] = filtro;
                if (!String.IsNullOrEmpty(filtro.Sucursal))
                {
                    Session["Sucursal"] = db.Sucursal.First(x => x.SucursalId == filtro.Sucursal).Descripcion;
                }
                if (filtro.Fase != 255)
                {
                    switch (filtro.Fase)
                    {
                    case 0:
                        Session["Fase"] = "Cancelada";
                        break;

                    case 1:
                        Session["Fase"] = "Captura";
                        break;

                    case 2:
                        Session["Fase"] = "Cerrada";
                        break;
                    }
                }

                return(RedirectToAction("Ordenes"));
            }

            ViewBag.Sucursales = db.Sucursal.ToList();
            return(View(filtro));
        }
예제 #2
0
        public ActionResult Ordenes()
        {
            FilterModels.FilterOrdenTrabajo filtro = (FilterModels.FilterOrdenTrabajo)Session["Filtro"];
            var ordentrabajo = db.OrdenTrabajo.Include("Cliente").Include("Usuario").Include("Taller").Include("Vin");

            List <OrdenTrabajo> ordenesFiltradas = ordentrabajo.ToList();

            if (!String.IsNullOrEmpty(filtro.Sucursal))
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.Taller.Almacen.SucursalId == filtro.Sucursal);
            }
            if (filtro.FechaIni != null)
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.FechaIni.Date >= filtro.FechaIni.Value.Date);
            }
            if (filtro.FechaFin != null)
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.FechaIni.Date <= filtro.FechaFin.Value.Date);
            }
            if (filtro.Fase != 255)
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.Fase == filtro.Fase);
            }
            if (filtro.Folio != null)
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.Folio.Contains(filtro.Folio));
            }
            if (filtro.Vin != null)
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.Vin.Clave.Contains(filtro.Vin));
            }
            if (filtro.Cliente != null)
            {
                ordenesFiltradas = ordenesFiltradas.FindAll(x => x.Cliente.Clave.Contains(filtro.Cliente) || x.Cliente.RazonSocial.Contains(filtro.Cliente));
            }


            return(View(ordenesFiltradas.OrderBy(x => x.Taller.Almacen.Clave).ThenBy(x => x.Taller.Clave).ThenBy(x => x.Usuario.Clave).ThenBy(x => x.Cliente.Clave).ThenBy(x => x.Folio)));
        }