private async void LoadData(string Filtro = "", string OrdenarPor = "apellido", string Orden = "asc", int Pagina = 1, int Limite = 50, string Miembros = "all") { grdLoader.Visibility = Visibility.Visible; UsersResponse response = await Users.getList(Filtro, OrdenarPor, Orden, Pagina, Limite); users = response.Items; TotalPages = response.TotalPaginas; grdLoader.Visibility = Visibility.Collapsed; if (Page == 1) { btnFirst.IsEnabled = false; btnPrevious.IsEnabled = false; } if (Page > 1) { btnFirst.IsEnabled = true; btnPrevious.IsEnabled = true; } if (Page < TotalPages) { btnNext.IsEnabled = true; btnLast.IsEnabled = true; } if (Page == TotalPages) { btnNext.IsEnabled = false; btnLast.IsEnabled = false; } lstItems.ItemsSource = null; lstItems.ItemsSource = response.Items; //CloureManager.ShowDialog(response.Items.Count.ToString()); txtRegister.Text = "Mostrando página " + Page.ToString() + " de " + TotalPages.ToString(); }
public static async Task <UsersResponse> getList(string filtro = "", string ordenar_por = "", string orden = "", int pagina = 1, int Limite = 50, string grupoId = "", string Miembros = "all") { UsersResponse response = new UsersResponse(); try { List <CloureParam> cparams = new List <CloureParam>(); cparams.Add(new CloureParam("module", "users")); cparams.Add(new CloureParam("topic", "get_list")); cparams.Add(new CloureParam("filtro", filtro)); cparams.Add(new CloureParam("ordenar_por", ordenar_por)); cparams.Add(new CloureParam("orden", orden)); cparams.Add(new CloureParam("pagina", pagina)); cparams.Add(new CloureParam("limite", Limite)); cparams.Add(new CloureParam("grupo_id", grupoId)); cparams.Add(new CloureParam("miembros", Miembros)); string res = await CloureManager.ExecuteAsync(cparams); JsonObject api_result = JsonObject.Parse(res); string error = api_result.GetNamedString("Error"); if (error == "") { JsonObject api_response = api_result.GetNamedObject("Response"); JsonArray registers = api_response.GetNamedArray("Registros"); foreach (JsonValue jsonValue in registers) { JsonObject register = jsonValue.GetObject(); User item = new User(); item.id = (int)register.GetNamedNumber("id"); item.empresa = register.GetNamedString("empresa"); item.nombre = register.GetNamedString("nombre"); item.apellido = register.GetNamedString("apellido"); item.razonsocial = item.apellido + ", " + item.nombre; item.saldo_str = register.GetNamedString("saldo_str"); item.saldo = CloureManager.ParseNumber(register.GetNamedValue("saldo")); item.grupo = register.GetNamedString("grupo"); item.email = register.GetNamedString("mail"); string img_path = register.GetNamedString("imagen"); item.ImageURL = new Uri(img_path); JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands"); item.availableCommands = new List <AvailableCommand>(); foreach (JsonValue available_cmd_obj in available_commands_arr) { JsonObject available_cmd_item = available_cmd_obj.GetObject(); int available_cmd_id = (int)available_cmd_item.GetNamedNumber("Id"); string available_cmd_name = available_cmd_item.GetNamedString("Name"); string available_cmd_title = available_cmd_item.GetNamedString("Title"); AvailableCommand availableCommand = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title); item.availableCommands.Add(availableCommand); } response.Items.Add(item); } response.PageString = api_response.GetNamedString("PageString"); response.TotalRegistros = (int)api_response.GetNamedNumber("TotalRegistros"); response.TotalPaginas = (int)api_response.GetNamedNumber("TotalPaginas"); } else { throw new Exception(error); } } catch (Exception ex) { var dialog = new MessageDialog(ex.Message); await dialog.ShowAsync(); } return(response); }