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();
        }
Ejemplo n.º 2
0
        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);
        }