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); }
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()); }