예제 #1
0
        public AgenteView GetAgenteView(int idUsuario)
        {
            AgenteView agenteView = dbSet.Where(p => p.IdUsuario == idUsuario && p.Estado == Models.Constantes.Estado.Activo).Select(p => new AgenteView()
            {
                IdAgente        = p.IdAgente,
                IdSupervisor    = p.IdSupervisor,
                Descripcion     = p.Descripcion,
                IdRuta          = p.IdRuta,
                EsSupervisor    = p.Cargo.EsSupervisor,
                EsAdministrador = p.Cargo.EsAdministrador,
                Cargo           = p.Cargo.Descripcion,
                IdCargo         = p.IdCargo,
                IdGrupo         = p.IdGrupo,
                Foto            = (p.IdUsuario != null ? p.Usuario.Contact.Photo : null),
                GCMId           = p.GCMId
            }).FirstOrDefault();

            if (agenteView != null)
            {
                agenteView.EsAgente = true;
            }
            else
            {
                agenteView = new AgenteView()
                {
                    EsAgente = false
                };
            }

            return(agenteView);
        }
예제 #2
0
        public List <Agente> GetListIndex()
        {
            var list = DataBase.Agentes.GetQueryable(p => p.Estado != Models.Constantes.Estado.Eliminado, includeProperties: "EstadoGeneralValue,Cargo,Grupo,Supervisor,Usuario.Contact");

            AgenteView agente = (AgenteView)Rp3.Web.Mvc.Session.GetValue("AgenteView");

            if (agente != null && agente.EsAgente)
            {
                switch (agente.CargoRol)
                {
                case AgenteCargoRol.Agente:
                    list = list.Where(p => p.IdRuta == agente.IdRuta);
                    break;

                case AgenteCargoRol.Supervisor:
                    var idAgentes = DataBase.Agentes.GetAgentesPermitidos(agente.IdAgente).Select(p => p.IdAgente).ToList <int>();
                    list = list.Where(p => idAgentes.Contains(p.IdAgente));
                    break;
                }
            }

            return(list.ToList());
        }