예제 #1
0
        public object listarDetallesComprobante(ClsEdetallecomprobante detalleComprobante)
        {
            ArrayList detalleComprobantes = new ArrayList();

            foreach (var item in datos.listarDetalleComprobantes(detalleComprobante.Serie, detalleComprobante.Numero))
            {
                ClsEdetallecomprobante _DetalleComprobante = ClsEdetallecomprobante.crear(item.Serie, item.Numero, item.CodigoLote, item.Descripcion, item.Cantidad, item.Precio, item.Importe);
                detalleComprobantes.Add(_DetalleComprobante);
            }
            return(detalleComprobantes);
        }
예제 #2
0
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("¿Seguro que desea concluir la venta?", "JeaNET - Pregunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                //para la venta
                string          cliente = (lblCliente.Text.Length == 8) ? lblCliente.Text : txtCliente.Text;
                ClsEcomprobante E       = ClsEcomprobante.crear(lblSerie.Text, lblNumero.Text, lblDNI.Text, Convert.ToDateTime(DateTime.Now.ToShortDateString()), cliente, Convert.ToDecimal(lblSubtotal.Text), Convert.ToDecimal(lblIGV.Text), Convert.ToDecimal(lblTotal.Text), "1");
                ClsNcomprobante N       = new ClsNcomprobante();
                N.agregarComprobante(E);

                //para el detalle
                foreach (DataGridViewRow item in dgvVenta.Rows)
                {
                    //para guardar detalle
                    ClsEdetallecomprobante Ed = ClsEdetallecomprobante.crear(lblSerie.Text, lblNumero.Text, item.Cells[0].Value.ToString(), item.Cells[1].Value.ToString(), Convert.ToInt32(item.Cells[2].Value), Convert.ToDecimal(item.Cells[3].Value), Convert.ToDecimal(item.Cells[4].Value));
                    N.agregarDetalleComprobante(Ed);
                    //listar dispositivos disponibles
                    ClsNdispositivo Ne           = new ClsNdispositivo();
                    ArrayList       disponibles  = Ne.listarDispositivosDisponibles(Ed.CodigoLote);
                    DataTable       Ddisponibles = new DataTable();
                    Ddisponibles.Columns.Add("SerieDispositivo");
                    Ddisponibles.Columns.Add("CodLote");
                    Ddisponibles.Columns.Add("Estado");
                    foreach (ClsEdispositivo dispositivo in disponibles)
                    {
                        Ddisponibles.Rows.Add(dispositivo.SerieDispositivo, dispositivo.CodLote, dispositivo.Estado);
                    }
                    //para agregar en cliente_dispositivo
                    ClsNclientedispositivo Neg = new ClsNclientedispositivo();
                    Neg.agregarClienteDispositivo(E.DniCliente, Ed, Ddisponibles);
                    //para guardar kardex
                    ClsNkardex Nk         = new ClsNkardex();
                    ClsEkardex objEKardex = ClsEkardex.crear(item.Cells[0].Value.ToString(), lblDNI.Text, "SALIDA", Convert.ToInt32(item.Cells[2].Value), Convert.ToDecimal(item.Cells[3].Value), "1", DateTime.Now.ToShortTimeString(), Convert.ToDateTime(DateTime.Now.ToShortDateString()));
                    Nk.agregarKardex(objEKardex);
                    //para cambiar el estado de cada dispositivo
                    Ne.desactivarDispositivos(Ed, Ddisponibles);
                }

                //para el decremento
                int cantidad = 0;
                foreach (DataGridViewRow fila in dgvVenta.Rows)
                {
                    ClsNlote Neg = new ClsNlote();
                    foreach (ClsElote item in Neg.listarLotes())
                    {
                        if (item.CodLote.Equals(fila.Cells[0].Value.ToString()))
                        {
                            cantidad = Convert.ToInt32(item.Cantidad);
                            break;
                        }
                    }
                    ClsElote En = ClsElote.decrementar(fila.Cells[0].Value.ToString(), cantidad - Convert.ToInt32(fila.Cells[2].Value.ToString()));
                    Neg.decrementarCantidad(En);
                }
                MtdReiniciar();
                MessageBox.Show("Venta registrada con exito", "JeaNET - Informa", MessageBoxButtons.OK, MessageBoxIcon.Information);
                frmLoginAdmin.MtdAuditoria(frmAdministrador.data.Rows[0][0].ToString(), "Realizo una venta");
            }
            else
            {
                frmLoginAdmin.MtdAuditoria(frmAdministrador.data.Rows[0][0].ToString(), "No pudo realizar una venta");
            }
        }