public List <Senor> read()
        {
            List <Senor> listSenores = new List <Senor>();

            //string command = "select* from fondos_propios;";
            string command = "select* from " + tableName + ";";

            var reader = dBConnection.executeQueryCommand(command);

            Senor senor;

            if (reader == null)
            {
                return(listSenores);
            }

            while (reader.Read())
            {
                int    id       = reader.GetInt32(0);
                string name     = reader.GetString(1);
                string lastName = reader.GetString(2);


                senor = new Senor(id, name, lastName);

                listSenores.Add(senor);
            }

            dBConnection.closeConnection();

            return(listSenores);
        }
        private void AddPayment()
        {
            int rowIndex = dataGridView_senores.CurrentCell.RowIndex;

            DataGridViewRow row = dataGridView_senores.Rows[rowIndex];

            int idSenor = int.Parse(row.Cells[0].Value.ToString());

            int month = comboBox_months.SelectedIndex + 1;

            Senor senor = getSenorByID(idSenor);

            if (row.Cells[3].Value.ToString() == "Realizado")
            {
                MessageBox.Show("El cliente ya tiene el mes de " + getMonth(month) + " cancelado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            if (!(MessageBox.Show("¿Agregar pago a " + senor.Name + " " + senor.LastName + " del mes de " + getMonth(comboBox_months.SelectedIndex + 1) + "?", "Por favor, confirme:",
                                  MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                  MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes))
            {
                return;
            }

            if (dBHelperPayment.insert(DateTime.Now.ToString("yyyy-MM-dd"), getMonth(month), idSenor))
            {
                dataGridView_senores.Rows[rowIndex].Cells[3].Value           = "";
                dataGridView_senores.Rows[rowIndex].Cells[3].Value           = "Realizado";
                dataGridView_senores.Rows[rowIndex].Cells[3].Style.ForeColor = generateColor("#04e21f");
                listPaymentsThisMonth   = dBHelperPayment.read(getMonth(DateTime.Now.Month), DateTime.Now.Year);
                totalMonthlyPayments   += monthlyPaymentPrice;
                button_add_payment.Text = "Remover Pago";
            }
            else
            {
                MessageBox.Show("Hubo un problema al realizar el pago", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        private void generateAllBills()
        {
            BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, BaseFont.EMBEDDED);

            iTextSharp.text.Font text = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);
            int columns = 2;

            PdfPTable pdfTable = null;

            int monthX = comboBox_months.SelectedIndex + 1;

            var savefiledialoge = new SaveFileDialog();

            savefiledialoge.FileName = "Facturas del mes de " + getMonth(monthX);

            savefiledialoge.DefaultExt = ".pdf";

            listPaymentsThisMonth = dBHelperPayment.read(getMonth(monthX), DateTime.Now.Year);

            if (savefiledialoge.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    using (FileStream stream = new FileStream(savefiledialoge.FileName, FileMode.Create))
                    {
                        Document pdfdoc = new Document(PageSize.A4, 50f, 50f, 50f, 50f);
                        PdfWriter.GetInstance(pdfdoc, stream);
                        pdfdoc.Open();

                        Image logo = Image.GetInstance("..\\images\\logoCentroDiurno.jpg");

                        int i = 0;

                        foreach (Payment payment in listPaymentsThisMonth)
                        {
                            i++;

                            //PDFTable fondos externos
                            pdfTable = new PdfPTable(columns);
                            pdfTable.DefaultCell.Padding     = 7;
                            pdfTable.WidthPercentage         = 100;
                            pdfTable.DefaultCell.BorderWidth = 1;

                            DateTime dateTime = DateTime.Parse(payment.PayDate);

                            int day = dateTime.Day;

                            int month = dateTime.Month;

                            int year = dateTime.Year;

                            int idSenor = payment.IdSenor;

                            Senor senor = getSenorByID(idSenor);

                            string name = senor.Name;

                            string lastName = senor.LastName;


                            pdfTable.AddCell(new Phrase("Recibimos de: ", text));
                            pdfTable.AddCell(new Phrase(name + " " + lastName, text));
                            pdfTable.AddCell(new Phrase("La suma de: ", text));
                            pdfTable.AddCell(new Phrase(monthlyPaymentPrice + "", text));
                            pdfTable.AddCell(new Phrase("Cancela el mes de: ", text));
                            pdfTable.AddCell(new Phrase(getMonth(comboBox_months.SelectedIndex + 1), text));
                            pdfTable.AddCell(new Phrase("Fecha de pago: ", text));
                            pdfTable.AddCell(new Phrase(day + " de " + getMonth(month) + " del " + year, text));



                            logo.ScaleAbsolute(100, 60);
                            logo.Alignment = Element.ALIGN_CENTER;

                            iTextSharp.text.Font titleFont   = FontFactory.GetFont("Arial", 16);
                            iTextSharp.text.Font regularFont = FontFactory.GetFont("Arial", 14);
                            Paragraph            title;
                            Paragraph            textParagrahp;
                            title           = new Paragraph("Asociación Centro De Atención Al Adulto Mayor De Cachí\n", titleFont);
                            title.Alignment = Element.ALIGN_CENTER;

                            pdfdoc.Add(logo);

                            pdfdoc.Add(title);

                            pdfdoc.Add(new Paragraph("\n", titleFont));

                            pdfdoc.Add(pdfTable);

                            pdfdoc.Add(new Paragraph("\n", titleFont));

                            if (i % 3 == 0)
                            {
                                pdfdoc.NewPage();
                            }
                        }//foreach

                        pdfdoc.Close();
                        stream.Close();
                    }
                }
                catch (Exception ex)
                {
                    Console.Write(ex);
                    MessageBox.Show("No se puede guardar el archivo, ya que está siendo usado en este momento por otra aplicación.", "Cierre el archivo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }