public static List<AccesoDisponible> GetPerfilesDisponibles(int idUsuario) { var repo = new AccesoRepository(); var accesos = repo.GetAccesosPorUsuario(idUsuario); var accesosVM = new List<AccesoDisponible>(); int orden = 1; foreach (var acceso in accesos) { var accesoVM = new AccesoDisponible(); accesoVM.Id = acceso.Id; if (acceso.TipoComponente == TipoComponente.Administrador) { accesoVM.Logo = "https://facilfactura.blob.core.windows.net/logos/logo.png"; accesoVM.Id = 0; accesoVM.Nombre = "Administrador del sistema"; accesoVM.Orden = 0; accesoVM.Tipo = "Administración"; accesoVM.Url = "/admin/access"; accesoVM.SubTitulo = "FacilFactura"; } if (acceso.TipoComponente == TipoComponente.Franquicia) { accesoVM.Logo = LogoService.GetLogoFranquicia(acceso.Componente); accesoVM.Id = acceso.Componente; accesoVM.Nombre = FranquiciaService.GetFranquicia(acceso.Componente).Nombre; accesoVM.Orden = orden; accesoVM.Tipo = "Franquicia"; accesoVM.Url = "/AdmFranquicia/Access"; accesoVM.SubTitulo = FranquiciaService.GetFranquicia(acceso.Componente).Url; } if (acceso.TipoComponente == TipoComponente.Empresa) { accesoVM.Logo = LogoService.GetLogoEmpresa(acceso.Id); accesoVM.Id = acceso.Componente; accesoVM.Nombre = "NOMEMPRESA"; accesoVM.Orden = orden; accesoVM.Tipo = "Empresa"; accesoVM.Url = "/Intranet/access"; accesoVM.SubTitulo = "FacilFactura"; } accesosVM.Add(accesoVM); orden++; } return accesosVM; }
/// <summary> /// Comprueba si puede acceder a un tipo de componente (Administrador, Franquicia, Empresa, Facturador) /// Por Id Usuario. /// </summary> /// <param name="idUsuario">Id del usuario</param> /// <param name="tipoComponente">Tipo componente (Administrador, Franquicia, Empresa, Facturador)</param> /// <param name="idComponente">Id del componente</param> /// <returns>Boleano, true en caso de que si pueda acceder.</returns> public static bool PuedeAcceder(int idUsuario, TipoComponente tipoComponente, int idComponente) { var repo = new AccesoRepository(); var acceso = repo.GetAccesosPorUsuario(idUsuario) .FirstOrDefault(a => a.TipoComponente == tipoComponente && a.Componente == idComponente); if (acceso != null && acceso.Estado == EstadoAcceso.Habilitado) return true; return false; }