public void JuntarMesas(long primeraMesa, long segundaMesa) { var mesa1 = _comprobanteSalon.ObtenerComprobantePorMesa(primeraMesa); var mesa2 = _comprobanteSalon.ObtenerComprobantePorMesa(segundaMesa); foreach (var detalle in mesa1.ComprobanteSalonDetalleDtos) { var dto = _productoServicio.ObtenerPorId(detalle.ProductoId); var id = _listaPrecioProducto.ObtenerListaPorProductoId(dto.Id); var producto = _listaPrecioProducto.ObtnerProducto(dto.Codigo.ToString(), id.ListaPrecioId); _comprobanteSalon.AgregarItem(mesa2.Id, detalle.Cantidad, producto, id.ListaPrecioId); // _comprobanteSalon.SeleccionarMozo(mesa1.Id, empleadoMozo); } foreach (var detalle in mesa1.ComprobanteSalonDetalleDtos) { var dto = _productoServicio.ObtenerPorId(detalle.ProductoId); var id = _listaPrecioProducto.ObtenerListaPorProductoId(dto.Id); var producto = _listaPrecioProducto.ObtnerProducto(dto.Codigo.ToString(), id.ListaPrecioId); _comprobanteSalon.DisminuirCantidadItem(mesa1.Id, producto, detalle.Cantidad); } _comprobanteSalon.QuitarComprobante(primeraMesa); _mesaServicio.CambiarEstado(_mesa2Id, EstadoMesa.Combinada); _mesaServicio.CambiarEstado(_mesa1Id, EstadoMesa.Libre); MessageBox.Show(@"Se combino la mesa con exito", @"Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); this.Close(); }
private void btnPagar_Click(object sender, EventArgs e) { var MontoDispinobleCtaCte = _cliente.MontoMaximoCtaCte; if (MontoDispinobleCtaCte >= totalAPagar) { var ctacteId = _CtaCteServicio.ObtenerCuentaCorrientePorClienteId(_cliente.Id).Id; _clienteServicio.ModificarMontoCtaCte(totalAPagar, _cliente.Id); _facturaServicio.EmitirFactura(_cliente.Id, totalAPagar, _comprobante.MozoId, ctacteId, _comprobante.Id, 0m); _comprobanteSalon.Cerrar(_comprobante.Id); _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Facturada); _clienteServicio.ClienteDesocupado(_comprobante.ClienteId); _clienteServicio.AgregarGastoActual(_cliente.Id, totalAPagar); _realizoAlgunaOperacion = true; var form = new _104_EmisionFactura_CtaCte(_cliente.Id, _comprobante).ShowDialog(); Close(); } else { Mensaje.Mostrar("No se puede emitir la factura por fondos insuficientes de la Cuenta Corriente", Mensaje.Tipo.Stop); Close(); } }
private void VerificarReserva() { if (_comprobante != null) { Mensaje.Mostrar("Se reservo la mesa", Mensaje.Tipo.Informacion); _mesaServicio.CambiarEstado(_id, EstadoMesa.Reservada); EstadoMesa = EstadoMesa.Reservada; } }
private void btnPagar_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtEfectivo.Text)) { Mensaje.Mostrar("Ingrese un valor en el campo efectivo.", Mensaje.Tipo.Informacion); txtEfectivo.Focus(); } else { if (decimal.Parse(txtEfectivo.Text) >= totalAPagar) { var vuelto = decimal.Parse(txtEfectivo.Text) - totalAPagar; _facturaServicio.EmitirFactura(_comprobante.ClienteId, totalAPagar, _comprobante.MozoId, null, _comprobante.Id, totalAPagar); var facturaId = _facturaServicio.ObtenerUltimaFacturaEmitida().Id; _movimientoServicio.EmitirMovimiento(_comprobante.ClienteId, totalAPagar, TipoMovimiento.Ingreso, facturaId, null); _comprobanteSalon.Cerrar(_comprobante.Id); _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Facturada); _clienteServicio.ClienteDesocupado(_comprobante.ClienteId); _realizoAlgunaOperacion = true; var form = new _105_EmisionFactura_Efectivo(decimal.Parse(txtEfectivo.Text), vuelto, _comprobante).ShowDialog(); Close(); } else { Mensaje.Mostrar("No se puede abonar la factura por fondos insuficientes.", Mensaje.Tipo.Stop); txtEfectivo.Clear(); txtEfectivo.Focus(); } } }
private void BtnCobrar_Click_1(object sender, EventArgs e) { var _cliente = _clienteServicio.ObtenerPorDni("99999999"); //---------------------------------------------------------// //---------------------------------------------------------// var ObtenerComprobante = _comprobanteSalonServicio.ObtenerComprobantePorId(_comprobanteId); var FacturacionMesa = new ComprobanteCierreDto { Id = ObtenerComprobante.ComprobanteId, MesaId = ObtenerComprobante.MesaId, UsuarioId = UsuarioLogueadoId, ClienteId = _cliente.Id, Descuento = nudDescuento.Value, Fecha = dtpFechaFactura.Value, Numero = (int)nudNumero.Value, TipoDeComprobante = ((TipoComprobante)cmbTipoComprobante.SelectedItem), EstadoComprobante = EstadoComprobanteSalon.Enviado, Total = nudTotal.Value, SubTotal = nudTotal.Value, MozoId = ObtenerComprobante.MozoId, Comensales = ObtenerComprobante.Comensales, }; var Cliente = _clienteServicio.ObtenerPorDni(txtDni.Text); if (Cliente == null) { MessageBox.Show("Por favor seleccione un medio de pago o un cliente valido", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } txtApyNom.Text = Cliente.ApyNom; nudMontoActual.Value = Cliente.MontoMaximoCtaCte; if (nudTotal.Value > 0) { if (RadioCuentaCorriente.Checked) { Cliente.MontoDeudaCtaCte += nudTotal.Value; nudMontoRestar.Value = nudTotal.Value; if (Cliente.MontoDeudaCtaCte <= Cliente.MontoMaximoCtaCte) { RestanteCuentaCorriente.Value = Cliente.MontoMaximoCtaCte - nudTotal.Value; var ClienteModificar = new ClienteDto() { Id = Cliente.Id, MontoDeudaCtaCte = Cliente.MontoDeudaCtaCte, MontoMaximoCtaCte = Cliente.MontoMaximoCtaCte }; _clienteServicio.ModificarCuentaCorriente(ClienteModificar); _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa); var nuevoMovimiento = new MovimientoDto() { CajaId = CajaAbiertaId, ComprobanteId = FacturacionMesa.Id, TipoMovimiento = TipoMovimiento.Ingreso, UsuarioId = FacturacionMesa.UsuarioId, Monto = FacturacionMesa.Total, Fecha = FacturacionMesa.Fecha, Descripcion = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" + FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON" }; _movimientoServicio.Insertar(nuevoMovimiento); _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId); var nuevoDetalle = new DetalleCajaDto() { CajaId = CajaAbiertaId, Monto = FacturacionMesa.Total, FormaPago = TipoPago.CtaCte }; _detalleCajaServicio.InsertarDetalle(nuevoDetalle); MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.Close(); } else { MessageBox.Show(@"Monto Cuenta Corriente Insuficiente , seleccione otra forma de pago", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa); var nuevoMovimiento = new MovimientoDto() { CajaId = CajaAbiertaId, ComprobanteId = FacturacionMesa.Id, TipoMovimiento = TipoMovimiento.Ingreso, UsuarioId = FacturacionMesa.UsuarioId, Monto = FacturacionMesa.Total, Fecha = FacturacionMesa.Fecha, Descripcion = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" + FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON" }; _movimientoServicio.Insertar(nuevoMovimiento); _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId); var nuevoDetalle = new DetalleCajaDto() { CajaId = CajaAbiertaId, Monto = FacturacionMesa.Total, FormaPago = TipoPago.Efectivo }; _detalleCajaServicio.InsertarDetalle(nuevoDetalle); MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Cerrada); this.Close(); } } else { MessageBox.Show("Por favor ingrese un articulo.", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error); _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Abierta); } }
private void lblNumeroMesa_DoubleClick(object sender, System.EventArgs e) { switch (_estado) { case EstadoMesa.Ocupada: var comprobante = _comprobanteSalon.ObtenerComprobantePorMesaSinFacturar(_id); var cliente = _clienteServicio.obtenerPorId(comprobante.ClienteId); Total = comprobante.Total; var formulario = new _10002_Venta(_id, cliente, comprobante.MozoId); formulario.ShowDialog(); if (formulario.RealizoAlgunaOperacion) { _mesaServicio.CambiarEstado(_id, EstadoMesa.Facturada); EstadoMesa = EstadoMesa.Facturada; Total = _mesaServicio.ObtenerPorId(_id).Total; } else { var comprobante1 = _comprobanteSalon.ObtenerComprobantePorMesaSinFacturar(_id); var cliente2 = _clienteServicio.obtenerPorId(comprobante.ClienteId); Total = comprobante1.Total; } break; case EstadoMesa.Libre: Mensaje.Mostrar("La mesa no esta abierta.", Mensaje.Tipo.Informacion); break; case EstadoMesa.Reservada: Mensaje.Mostrar("La mesa se encuentra reservada pero no abierta.", Mensaje.Tipo.Informacion); break; case EstadoMesa.Reparacion: Mensaje.Mostrar("La mesa se encuentra en reparacion, no se puede abrir.", Mensaje.Tipo.Informacion); break; case EstadoMesa.Facturada: Mensaje.Mostrar("La mesa ya ha sido facturada, cerrarla para poder abrirla.", Mensaje.Tipo.Informacion); break; } }