private async Task Listar()
        {
            try
            {
                var clientesFacturas = await clienteFacturaAcces.Listar(ClienteId);

                gridFacturas.DataSource = clientesFacturas.Select(x => new
                {
                    x.ClienteId,
                    x.FacturaId,
                    x.Factura.NumeroFactura,
                    FechaEmision = x.Factura.FechaEmision.ToString("d"),
                    x.Factura.Estado,
                    x.Factura.ArchivoFactura
                });
                lblTotal.Text       = "Total registros: " + gridFacturas.RowCount.ToString();
                lblNomClientne.Text = "Facturas pertenecientes a: " + NombreCliente;

                if (gridFacturas.ColumnCount > 3)
                {
                    EstilosGirdView();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.StackTrace);
            }
        }
Example #2
0
        private async void btnEliminar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult option;
                option = MessageBox.Show("Realmente deseas eliminar el(los) registro(s)", "Información", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                if (option == DialogResult.OK)
                {
                    int    clienteId;
                    string respuesta;

                    foreach (var fila in gridClientes.Rows)
                    {
                        if (Convert.ToBoolean(fila.Cells[0].Value))
                        {
                            clienteId = Convert.ToInt32(fila.Cells[1].Value);

                            var facturaCliente = await clienteFacturaAcces.Listar(clienteId);

                            foreach (var item in facturaCliente)
                            {
                                var facturaAEliminar = await facturaAccesRepo.ObtenerFacturaPorId(item.FacturaId);

                                File.Delete(Path.Combine(directorio, facturaAEliminar.ArchivoFactura));
                                await facturaAccesRepo.Eliminar(item.FacturaId);
                            }

                            respuesta = await clienteAcces.Eliminar(clienteId);

                            if (respuesta.Equals("OK"))
                            {
                                MensajeOk("Se elimino el cliente con documento de indentificación: " + fila.Cells[8].Value?.ToString());
                            }
                            else
                            {
                                MensajeError(respuesta);
                            }
                        }
                    }
                    await Listar();
                }
            }
            catch (Exception ex)
            {
                MensajeError(ex.Message + ex.StackTrace);
            }
        }