private static bool IsInCurrentModulo(Modulo currentModulo, int idParent) { ModuloRepository moduloRepository = new ModuloRepository(); var listParent = moduloRepository.GetParentsList(currentModulo, AppSession.Modulos);//currentModulo.GetParentsList; foreach (var item in listParent) { if (item.Id == idParent) { return(true); } } return(false); }
public override void OnAuthorization(HttpActionContext actionContext) { var principal = actionContext.RequestContext.Principal as ClaimsPrincipal; if (!principal.Identity.IsAuthenticated) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized); return; } var userStore = new UserStore <ApplicationUser>(new ApplicationDbContext()); var userManager = new UserManager <ApplicationUser>(userStore); //var user = userManager.FindByNameAsync(principal.Identity.Name); var user = (new ApplicationDbContext()).Users.Include(x => x.Roles).FirstOrDefault(x => x.UserName == principal.Identity.Name); if (user == null) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized); } bool hasPermission = false; foreach (var role in user.Roles) { var module = new ModuloRepository().GetByName(Modulo); var action = new AccionesRepository().GetByName(ActionName, module.ModuloId); if (action != null && new AccionesRoleRepository().exist(module.ModuloId, action.AccionesId, role.RoleId)) { hasPermission = true; break; } } if (!hasPermission) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden); //return Task.FromResult<object>(null); } //User is Authorized, complete execution //return Task.FromResult<object>(null); }
private static Modulo GetCurrenModulo(this HtmlHelper html) { try { RouteData routeData = html.ViewContext.RouteData; var _ControllerName = routeData.GetRequiredString("controller"); if (_ControllerName == null) { return(null); } ModuloRepository moduloRepository = new ModuloRepository(); var result = moduloRepository.GetFiltered(o => o.URL != null && o.URL.ToUpper().StartsWith(_ControllerName.ToUpper()), p => p.Parent); var listResult = result.ToList(); if (listResult.Count > 1) { foreach (var item in result.ToList()) { if (item.URL.Split('/')[0].Equals(_ControllerName)) { return(item); } } } if (result == null) { throw new Exception("Error al buscar el Modulo actual en el controlador: No se encontró en la consulta"); } return(result.First()); } catch (Exception ex) { throw new Exception("Error al buscar el Modulo actual en el controlador:" + ex.Message); } }
public void PopulateTreeModulosEmpty() { ModuloRepository moduloRepository = new ModuloRepository(); StringBuilder sb = new StringBuilder(); var listModulosSistema = moduloRepository.GetAll(p => p.Parent).OrderBy(o => o.Descripcion); var menuVM = MenuViewModel.CreateVM(null, listModulosSistema.ToList()); foreach (var menuItem in menuVM) { sb.Append("<li>"); sb.Append("<p >"); sb.Append(" <span class='icon'><i class='" + menuItem.Class + "'></i></span>"); sb.Append(" <label class='control-label'>" + menuItem.Descripcion + "</label>"); sb.Append("</p>"); if (menuItem.URL != string.Empty && menuItem.URL != null) { var checked_edit = ""; var checked_view = ""; if (menuItem.MenuId == 28 || menuItem.MenuId == 50) { checked_edit = "checked"; checked_view = "checked"; } sb.Append("<div style='float:right; margin-right:150px'><input " + checked_edit + " name='chk_EDIT_" + menuItem.MenuId + "' type='checkbox' ></input></div>"); sb.Append("<div style='float:right; margin-right:180px'><input " + checked_view + " name='chk_VIEW_" + menuItem.MenuId + "' type='checkbox' ></input></div>"); } if (menuItem.Children.Count() > 0) { sb.Append("<ul class='sub'>"); } #region Sub Menu 1° Nivel foreach (var child in menuItem.Children) { sb.Append("<li>"); if (child.URL != string.Empty && child.URL != null) { sb.Append("<p>"); } else { sb.Append("<p >"); } sb.Append("<span class='icon'><i class='" + (child.Class != null && child.Class != string.Empty ? child.Class : "") + "'></i></span>"); sb.Append(" <label class='control-label'>" + child.Descripcion + "</label>"); if (child.URL != string.Empty && child.URL != null) { sb.Append("<div style='float:right; margin-right:150px'><input name='chk_EDIT_" + child.MenuId + "' type='checkbox' ></input></div>"); sb.Append("<div style='float:right; margin-right:180px'><input name='chk_VIEW_" + child.MenuId + "' type='checkbox' ></input></div>"); } sb.Append("</p>"); if (child.Children.Count() > 0) { sb.Append("<ul class='sub'>"); } #region Sub Menu 2° Nivel foreach (var subchild in child.Children) { sb.Append("<li>"); if (subchild.URL != string.Empty && subchild.URL != null) { sb.Append("<span >"); } else { sb.Append("<span >"); } sb.Append("<span class='icon'><i class='" + (subchild.Class != null && subchild.Class != string.Empty ? subchild.Class : "") + "'></i></span>"); sb.Append(" <label class='control-label'>" + subchild.Descripcion + "</label>"); if (subchild.URL != string.Empty && subchild.URL != null) { sb.Append("<div style='float:right; margin-right:150px'><input name='chk_EDIT_" + subchild.MenuId + "' type='checkbox' ></input></div>"); sb.Append("<div style='float:right; margin-right:180px'><input name='chk_VIEW_" + subchild.MenuId + "' type='checkbox' ></input></div>"); } sb.Append("</span>"); if (subchild.Children.Count() > 0) { sb.Append("<ul class='sub'>"); } #region Sub Menu 3° Nivel foreach (var subsubchild in subchild.Children) { sb.Append("<li>"); if (subsubchild.URL != string.Empty && subsubchild.URL != null) { sb.Append("<span >"); } else { sb.Append("<span >"); } sb.Append("<span class='icon'><i class='" + (subsubchild.Class != null && subsubchild.Class != string.Empty ? subsubchild.Class : "") + "'></i></span>"); sb.Append(" <label class='control-label'>" + subsubchild.Descripcion + "</label>"); if (subsubchild.URL != string.Empty && subsubchild.URL != null) { sb.Append("<div style='float:right; margin-right:150px'><input name='chk_EDIT_" + subsubchild.MenuId + "' type='checkbox' ></input></div>"); sb.Append("<div style='float:right; margin-right:180px'><input name='chk_VIEW_" + subsubchild.MenuId + "' type='checkbox' ></input></div>"); } sb.Append("</span>"); sb.Append("</li>"); } #endregion if (subchild.Children.Count() > 0) { sb.Append("</ul>"); } sb.Append("</li>"); } #endregion if (child.Children.Count() > 0) { sb.Append("</ul>"); } sb.Append("</li>"); } #endregion if (menuItem.Children.Count() > 0) { sb.Append("</ul>"); } sb.Append("</li>"); } ViewBag.Modulos = sb.ToString(); }
public ModuloController(IConfiguration config, IWebHostEnvironment env) { repository = new ModuloRepository(config, env); cursosRepository = new CursosRepository(config, env); }
/// <summary> /// Constructor que recibe el contexto de base /// de datos e inicializa los repositorios /// </summary> /// <param name="context">Contexto de base de datos</param> public UnitOfWork(ProyectoContext context) { _context = context; Modulos = new ModuloRepository(_context); Tareas = new TareaRepository(_context); }
public ModulosController(ModuloRepository repository) { this._repository = repository ?? throw new ArgumentException(nameof(repository)); }
public ModuloBll() { context = new Context(); repository = new ModuloRepository(context); }