예제 #1
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            var    pagos = _pagos.Where(p => p.Válido).ToList();
            string s     = String.Format("Hay {0} pagos válidos de un total de {1}.\n¿Está seguro " +
                                         "que desea grabar esta rendición?", pagos.Count(), _pagos.Count());

            if (MessageBox.Show(s, "Grabar rendición", MessageBoxButtons.YesNo,
                                MessageBoxIcon.Question) == DialogResult.Yes)
            {
                try
                {
                    RendicionBSERepository.GrabarRendición(Archivo, pagos);
                    MessageBox.Show("Los datos se grabaron correctamente.", "Grabar rendición",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    _pagos                     = _pagos.Where(p => !p.Válido);
                    txtArchivo.Text            = "";
                    dgvDatos.DataSource        = null;
                    toolStripStatusLabel1.Text = "";
                    btnGrabar.Enabled          = false;
                }
                catch (Exception ex)
                {
                    ShowError("Error al intentar grabar los pagos: \n", ex);
                }
            }
        }
예제 #2
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            if (!File.Exists(Archivo))
            {
                MessageBox.Show("El archivo no existe.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (CabecerasArchivosRepository.ExisteArchivo(TipoArchivo.RendiciónBSE, Archivo))
            {
                if (MessageBox.Show("El archivo ya ha sido cargado.\n¿Desea cargarlo nuevamente?",
                                    "Precaución", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }

            var rendición = RendicionBSERepository.CargarRendición(Archivo);

            _pagos = from p in PagosBSERepository.ObtenerPagosRelacionados(rendición) orderby p.Id select p;
            foreach (var p in _pagos)
            {
                p.Válido = p.ImportePagado == p.ImporteAPagar && p.DetallePago != null;
            }

            //cómo es el código de barras de un pago de varias cuotas?
            var query = from p in _pagos
                        select new
            {
                p.Válido,
                p.Id,
                p.Comprobante,
                p.Documento,
                p.Alumno,
                p.Carrera,
                p.Curso,
                p.FechaVto,
                p.FechaPago,
                p.ImporteAPagar,
                p.ImportePagado,
                p.CodigoBarra
            };

            dgvDatos.SetDataSource(query);
            toolStripStatusLabel1.Text = String.Format("Se han leído {0} filas", query.Count());
            btnGrabar.Enabled          = query.Any(t => t.Válido);
        }