void Pagos_Click(object sender, EventArgs e) { this.mesasAbiertasPlatoBindingSource.EndEdit(); try { Validar(); CargarFactura(); FrmPagar pago = new FrmPagar(); pago.factura = factura; pago.descuento = mesa.Descuento.GetValueOrDefault(); pago.ShowDialog(); if (pago.DialogResult != System.Windows.Forms.DialogResult.OK) { return; } factura.calcularSaldo(); if (decimal.Round((decimal)factura.Saldo.GetValueOrDefault(0), 0) == 0) { if (factura.ConsumoInterno.GetValueOrDefault(0) == 0) { factura.Tipo = "FACTURA"; factura.Mesonero = mesaAbierta.Mesa; ImprimirFactura(); if (!FactoryLibroVentas.Existe(factura)) { FactoryLibroVentas.EscribirItemFactura(factura); factura.LibroVentas = true; } } else { factura.Tipo = "CONSUMO"; } factura.Hora = DateTime.Now; if (factura.Fecha == null) { factura.Fecha = DateTime.Today; factura.Numero = FactoryContadores.GetMax(factura.Tipo); } GuardarFactura(); EliminarMesaAbierta(mesaAbierta); } else { return; } } catch (Exception x) { MessageBox.Show(x.Message); return; } this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); }
private void GuadarFactura() { mesasAbiertaBindingSource.EndEdit(); ValidarFactura(); factura.Cajero = FactoryUsuarios.UsuarioActivo.Nombre; factura.IdCajero = FactoryUsuarios.UsuarioActivo.IdUsuario; if (esNuevo && factura.IdFactura == null) { factura.IdFactura = FactoryContadores.GetMax("IdFactura"); } factura.Anulado = false; factura.Saldo = (double)decimal.Round((decimal)factura.Saldo.GetValueOrDefault(0), 0); foreach (HK.FacturasPlato p in factura.FacturasPlatos) { if (p.IdFacturaPlato == null) { p.IdFacturaPlato = FactoryContadores.GetMax("IdFacturaPlato"); } } cliente = FactoryClientes.Item(db, factura.CedulaRif); if (cliente == null) { cliente = new Cliente(); cliente.CedulaRif = factura.CedulaRif; cliente.RazonSocial = factura.RazonSocial; cliente.Direccion = factura.Direccion; cliente.IdCliente = FactoryContadores.GetMax("IdCliente"); db.Clientes.AddObject(cliente); } else { cliente.CedulaRif = factura.CedulaRif; cliente.RazonSocial = factura.RazonSocial; cliente.Direccion = factura.Direccion; } if (esNuevo) { db.Facturas.AddObject(factura); } factura.Fecha = DateTime.Today; factura.Hora = DateTime.Now; factura.Totalizar(mesa.CobraServicio.GetValueOrDefault(false), mesa.Descuento.GetValueOrDefault(0)); if (!Basicas.ImpresoraActiva) { factura.Tipo = "POR IMPRIMIR"; } if (!FactoryLibroVentas.Existe(factura)) { FactoryLibroVentas.EscribirItemFactura(factura); factura.LibroVentas = true; } db.SaveChanges(); factura = new Factura(); }