public QueryResult Execute(ListarTreeViewParameter parameters) { using (var conn = new ConnectionFactory(_config).GetOpenConnection()) { var parametros = new DynamicParameters(); parametros.Add("IdRol", dbType: DbType.Int32, direction: ParameterDirection.Input, value: parameters.idRol); var result = new TreeviewItemResult(); result.Hits = conn.Query <TreeviewItem>("seguridad.pa_listarTreeView" , parametros , commandType: CommandType.StoredProcedure); return(result); } }
public IActionResult ObtenerMenu(int idRol) { ListarTreeViewParameter Param = new ListarTreeViewParameter { idRol = idRol }; TreeviewItemResult pantallas = (TreeviewItemResult)_handler.Execute(Param); List <TreeviewItem> final = new List <TreeviewItem>(); foreach (var item in pantallas.Hits) { if (item.Nivel == "1") { item.children = new List <TreeviewItem>(); item.children.AddRange(pantallas.Hits.Where(x => x.CodigoPadre == item.Codigo && x.Nivel == "2").ToList()); final.Add(item); } } return(Ok(final)); }