public ActionResult EmpleadosLookup()
 {
     var usuarioNegocio = new GCPUsuarioTrabajadorNegocio();
     var trabajadores=usuarioNegocio.Select(3);
     return Json(trabajadores, JsonRequestBehavior.AllowGet);
 }
        //
        // GET: /SolicitudAsignacionBien/
        public ActionResult Index(string submit2, SolicitudAsignacionBienMuebleVob SolicitudAsignacion, AsignacionBienMuebleVob AsignacionBienMueble, int id = 0)
        {
            try
            {
                var areaNegocio = new GCPAreaNegocio();
                var trabajadorNegocio = new GCPUsuarioTrabajadorNegocio();
                var bienNegocio = new GCPBienMuebleNegocio();
                var solicitudNegocio = new GCPSolicitudAsignacionBienMuebleNegocio();

                var solicitudAsignacionVM = new SolicitudAsignacionBienViewModel();

                SolicitudAsignacion.AsignacionBienMueble = new List<AsignacionBienMuebleVob>();

                //if (ModelState.IsValid)
                //{

                //if (SolicitudAsignacion.NroSolicitudAsignacion == 0 && id == 0)
                //    solicitudAsignacionVM.ListaSolicitudes = solicitudNegocio.SelectAll();
                //else
                //{
                //    SolicitudAsignacionBienMuebleVob solicitud = solicitudNegocio.Select(id > 0 && string.IsNullOrEmpty(submit2) ? id : SolicitudAsignacion.NroSolicitudAsignacion);

                //    if (solicitud != null)
                //    {
                //        List<SolicitudAsignacionBienMuebleVob> listaSolicitudes = new List<SolicitudAsignacionBienMuebleVob>();
                //        SolicitudAsignacion = solicitud;
                //        listaSolicitudes.Add(SolicitudAsignacion);
                //        solicitudAsignacionVM.ListaSolicitudes = listaSolicitudes;
                //    }
                //    else
                //        solicitudAsignacionVM.ListaSolicitudes = solicitudNegocio.SelectAll();
                //}

                solicitudAsignacionVM.ListaSolicitudes = solicitudNegocio.SelectAll();
                solicitudAsignacionVM.ListaBienes = bienNegocio.SelectAll();
                solicitudAsignacionVM.ListaAreas = areaNegocio.SelectAll();

                if (submit2 == "Buscar" || id > 0)
                {
                    SolicitudAsignacionBienMuebleVob solicitud = solicitudNegocio.Select(id > 0 && string.IsNullOrEmpty(submit2) ? id : SolicitudAsignacion.NroSolicitudAsignacion);
                    if (solicitud != null)
                        SolicitudAsignacion = solicitud;
                }

                if (submit2 == "Agregar")
                {
                    ICollection<AsignacionBienMuebleVob> asig = GetCache<ICollection<AsignacionBienMuebleVob>>(SolicitudAsignacion.AsignacionBienMueble);
                    if (asig.Count == 0)
                        SolicitudAsignacion.AsignacionBienMueble = new List<AsignacionBienMuebleVob>();
                    else
                        SolicitudAsignacion.AsignacionBienMueble = asig;

                    AsignacionBienMueble.BienMueble = new BienMuebleVob();
                    AsignacionBienMueble.BienMueble.Nombre = solicitudAsignacionVM.ListaBienes.Where(w => w.IdBienMueble == AsignacionBienMueble.IdBienMueble).Select(x => x.Nombre).FirstOrDefault();

                    SolicitudAsignacion.AsignacionBienMueble.Add(AsignacionBienMueble);
                }

                SetCache<ICollection<AsignacionBienMuebleVob>>(SolicitudAsignacion.AsignacionBienMueble);

                solicitudAsignacionVM.ListaTrabajadores = trabajadorNegocio.Select(SolicitudAsignacion.IdArea); //new List<UsuarioTrabajadorVob>();
                solicitudAsignacionVM.SolicitudAsignacion = SolicitudAsignacion;
                solicitudAsignacionVM.AsignacionBienMueble = AsignacionBienMueble;

                return View(solicitudAsignacionVM);
                //}
                //else
                //{
                //    return View(solicitudAsignacionVM);
                //}
            }
            catch (Exception ex)
            {
                return RedirectToAction("ErrorSistema", "Error", new { mensaje = ex.Message });
            }
        }
        public PartialViewResult Buscar(GestionReciboViewModel view = null, String init=null)
        {
            var reciboNegocio = new TFReciboProvisionalNegocio();
            var multitablaNegocio = new MultitablaNegocio();
            var usuarioNegocio = new GCPUsuarioTrabajadorNegocio();
            if (view == null) {
                view = new GestionReciboViewModel();
            }

            if (view.ListaEstados == null || view.ListaEstados.Count<=0)
            {
                List<ElementoVob> listadoEstados = multitablaNegocio.BuscarElementos(GrupoTabla.EstadoReciboProvisional);
                List<ElementoVob> listadoEstadosNew = new List<ElementoVob>();
                ElementoVob inicial = new ElementoVob();
                inicial.Valor = "-1";
                inicial.Texto = "Seleccionar";
                listadoEstadosNew.Add(inicial);
                
                foreach (ElementoVob obj in listadoEstados)
                {
                    listadoEstadosNew.Add(obj);
                }


                view.ListaEstados = listadoEstadosNew.LlenarTT();
            }

            if (view.ListaTrabajadores == null || view.ListaTrabajadores.Count <= 0) {
                view.ListaTrabajadores=usuarioNegocio.Select(4);
            }
            

            SolicitudBusquedaRecibosProvVob request= new SolicitudBusquedaRecibosProvVob();
            
            request.ReciboProvisionalFilter = view.FiltroBusqueda;
            if(init!=null && init.Equals("true")){
                request.ReciboProvisionalFilter.CodEstado = "0006003";
            }
            RespuestaBusquedaRecibosProvVob respuesta = reciboNegocio.BuscarRecibosProvisionales(request);
            view.ListaSolicitudes = respuesta.listRecibosProvisional;

            return PartialView("_Index", view);
        }