Exemple #1
0
        /// <summary>
        /// Agrega el Control Contacto pasado como parámetro al layout del fondo.
        /// Lo introduce en una nueva fila.
        /// </summary>
        /// <param name="control"></param>
        void AgregarContactoControl(ContactoControl control)
        {
            // La sentencia if es para que no se cree una nueva fila si exiten filas vacías
            // disponibles donde se puede poner el nuevo cliente.
            if (vacio)
            {
                vacio = false;
            }
            else
            {
                tableLayoutClientes.RowCount++;
            }

            tableLayoutClientes.Controls.Add(control, 0, tableLayoutClientes.RowCount - 1);
            controlesContactos.Add(control);
        }
        // ------------------------------------------------------------------
        // Métodos
        // ------------------------------------------------------------------

        /// <summary>
        /// Añade un nuevo contacto en el tablelayout de contactos.
        /// Un contacto por fila.
        /// </summary>
        /// <param name="contacto"></param>
        public void AgregarControlContacto(Contact contacto)
        {
            TableLayoutPanel tablaFondo = tableLayoutContactos;

            // La sentencia if es para que no se cree una nueva fila si exiten filas vacías
            // disponibles donde se puede poner el nuevo contacto.
            if (!hayContactos)
            {
                hayContactos = true;
            }
            else
            {
                tablaFondo.RowCount++;
            }

            var control = new ContactoControl(contacto);

            tablaFondo.Controls.Add(control, 0, tablaFondo.RowCount - 1);
            Form1.controlesContactos.Add(control);
        }
Exemple #3
0
        /// <summary>
        /// Obtiene todos los contactos asociados con el usuario. Utiliza un query GET.
        /// </summary>
        private async void CargarContactos(string ruta)
        {
            LimpiarListas();
            cargando = true;
            toolStripLabelMensaje.Text = CARGANDO;

            using (var httpClient = new HttpClient())
            {
                httpClient.BaseAddress = new Uri(DIRECCION_SERVIDOR);
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(APP_JSON));
                if (Sesion != null)
                {
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Sesion.access_token);
                }

                HttpResponseMessage response = await httpClient.GetAsync(ruta);

                if (response.IsSuccessStatusCode)
                {
                    Contact[] contactos = await response.Content.ReadAsAsync <Contact[]>();

                    foreach (var contacto in contactos)
                    {
                        var control = new ContactoControl(contacto);
                        AgregarContactoControl(control);
                    }
                }
                else
                {
                    toolStripLabelMensaje.Text = "Respuesta negativa del servidor";
                }

                cargando = false;
                MinimizarControles();
                toolStripLabelMensaje.Text = "Conectado como: " + Sesion.userName;
            }
        }