public static frmCHEQUE ObtenerInstancia(decimal TotalVta1, string formulario, EntidadMultiple entidad, string Modo1) { if (_instancia == null) _instancia = new frmCHEQUE(TotalVta1, formulario, entidad, Modo1); if (_instancia.IsDisposed) _instancia = new frmCHEQUE(TotalVta1, formulario, entidad, Modo1); return _instancia; }
private void btnALTAS_Click(object sender, EventArgs e) { try { var SelecFormaPago = (FORMA_PAGO)cmbFORMAPAGO.SelectedItem; switch (SelecFormaPago.FOR_DESCRIPCION) { case Constantes.Cheque: //ALTA CHEQUE if (frmVENTAS.ListaMultiplesPagos == null) { frmVENTAS.ListaMultiplesPagos = new List<EntidadMultiple>(); } EntidadMultiple entidad1 = new EntidadMultiple(); var frm = new frmCHEQUE(totalVta, "frmMULTIPLE", entidad1, "A"); var dr = frm.ShowDialog(); if (dr == DialogResult.OK) { LlenaGrilla(); } break; case Constantes.Tarjeta: //ALTA TARJETA if (frmVENTAS.ListaMultiplesPagos == null) { frmVENTAS.ListaMultiplesPagos = new List<EntidadMultiple>(); } EntidadMultiple entidad2 = new EntidadMultiple(); var frm2 = new frmTARJETA(0, "frmMULTIPLE", entidad2, "A"); var drResultado2 = frm2.ShowDialog(); if (drResultado2 == DialogResult.OK) { LlenaGrilla(); } break; case Constantes.Efectivo: //ALTA EFECTIVO string bandera = "no"; //VALIDO QUE NO HAYA EFECTIVO EN LA FORMA DE PAGO. SI HAY QUE LEVANTE MODIFICACION if (frmVENTAS.ListaMultiplesPagos != null) { foreach (var item in frmVENTAS.ListaMultiplesPagos) { if (item.FORM_PAGO == Constantes.Efectivo) { //modifica porque tiene que ser unico el ft en formas de pagos multiples var frm3 = new frmPAGACON(totalVta, "frmMULTIPLE", item, "M"); var drResultado3 = frm3.ShowDialog(); if (drResultado3 == DialogResult.OK) { LlenaGrilla(); } bandera = "si"; } } } if (bandera == "no") { if (frmVENTAS.ListaMultiplesPagos == null) { frmVENTAS.ListaMultiplesPagos = new List<EntidadMultiple>(); } EntidadMultiple entidad4 = new EntidadMultiple(); var frm4 = new frmPAGACON(totalVta, "frmMULTIPLE", entidad4, "A"); var drResultado4 = frm4.ShowDialog(); if (drResultado4 == DialogResult.OK) { LlenaGrilla(); } } break; default: break; } } catch (Exception ex) { this.DialogResult = DialogResult.Cancel; ProcesarExcepcion(ex); } }
private bool Cobrar_Venta() { decimal totalPago = 0; decimal totalDifTarjeta = 0; if (dgvGrilla.DataSource == null) { MostrarMensajeAdvertencia("Debe ingresar al menos un producto para la venta"); txtCodigoBarra.Text = string.Empty; txtCodigoBarra.Focus(); return false; } //PREGUNTA SI ES EN EFECTIVO O CTA CTE O TARJETA O CHEQUE //SI ES EN EFECTIVO ABRE FRM PAGACON if (FormaPago.FOR_DESCRIPCION.Contains(Constantes.Efectivo)) { frmPAGACON frm = new frmPAGACON(Convert.ToDecimal(txtTotal.Text), "frmVENTAS", null); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK || MontoPagaCon == null) { MostrarMensajeAdvertencia("Debe Ingresar el Monto a Pagar."); return false; } lblPagaCon.Text = Convert.ToDecimal(MontoPagaCon).ToString("0.000"); } //SI ES CON CTA CTE ABRE FRM SELCCIONAR CTA CTE if (FormaPago.FOR_DESCRIPCION.Contains("CTA CTE")) { //selecciono el cliente y muestro cartel que diga "La Vta de total "", se asignara a la cta cte del cliente "cliente", //el saldo total de la deuda de la cta cte es "saldo cta cte". OK para confirmar CANCELAR para cambiar la foma de pago //si viene por ok doy de alta el movimiento en la cta cte del cliente y dejo habilitado solamente los botones de imprimir ticket //si es cancelar vuelve al frm vtas y habilita el boton frm forma de pago //ABRO FRM BUSCAR CLIENTE if (!ClienteConsumidorFinal) { if (Cliente == null) { frmBUSCACLIENTECONCTACTE frm = new frmBUSCACLIENTECONCTACTE(Constantes.venta); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK) { if (Cliente == null) { MostrarMensajeAdvertencia("La forma de pago es por medio de CTA CTE, para ello debe seleccionar un cliente"); return false; } } } var CTA_CLIENTE = cCLIENTE.ObtenerCtaCteCliente(Cliente); if (CTA_CLIENTE == null) { MostrarMensajeAdvertencia("El Cliente seleccionado no tiene creada una Cta Cte.\n Para crear una debe comunicarse con un usuario administrador."); btnCliente.Enabled = true; return false; } if (!ValidaTopeCtaCte()) { return false; } var SALDO_CTA = CTA_CLIENTE.CCC_SALDO + Convert.ToDecimal(txtTotal.Text); var rta = MostrarMensajePreguntaSI_NO("El total de la venta $" + txtTotal.Text + " , será asignada a la cta cte del cliente: " + Cliente.CLI_NOMBREYAPELLIDO + " .\n El saldo de la cuenta es: $" + SALDO_CTA + " .\n OK para confirmar o CANCEL para volver a la venta."); if (!rta) { return false; } else { lblPagaCon.Text = Convert.ToDecimal(txtTotal.Text).ToString("0.000"); } } } //SI ES CON CHEQUE CREA Y DA DE ALTA EL CHEQUE if (FormaPago.FOR_DESCRIPCION.Contains(Constantes.Cheque)) { //ALTA CHEQUE frmCHEQUE frm = new frmCHEQUE(Cheque, Convert.ToDecimal(txtTotal.Text), "frmVENTAS", null); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK || Cheque == null) { MostrarMensajeAdvertencia("Debe Ingresar el Cheque."); return false; } lblPagaCon.Text = Convert.ToDecimal(Cheque.CHE_VALOR).ToString("0.000"); } //SI ES CON TARJETA CREA Y DA DE ALTA DE TARJETA if (FormaPago.FOR_DESCRIPCION.Contains(Constantes.Tarjeta)) { frmTARJETA frm = new frmTARJETA(Tarjeta, Convert.ToDecimal(txtTotal.Text), "frmVENTAS", null); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK || Tarjeta == null) { MostrarMensajeAdvertencia("Debe Ingresar la Tarjeta."); return false; } lblDiferenciaTarjeta.Visible = txtDiferenciaTarjeta.Visible = true; lblPagaCon.Text = Convert.ToDecimal(Tarjeta.TARJ_TOTALAPAGAR).ToString("0.000"); txtDiferenciaTarjeta.Text = Convert.ToDecimal(Tarjeta.TARJ_DIFTARJETA).ToString("0.000"); txtTotal.Text = Convert.ToDecimal(Tarjeta.TARJ_TOTALAPAGAR).ToString("0.00"); } //SI ES CON NOTA DE CREDITO if (FormaPago.FOR_DESCRIPCION.Contains(Constantes.NotaCredito)) { //BUSCO LA NOTA DE CREDITO frmNOTACREDITO frm = new frmNOTACREDITO(Nota_Credito, Convert.ToDecimal(txtTotal.Text), "frmVENTAS", null); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK || Nota_Credito == null) { MostrarMensajeAdvertencia("Debe Ingresar una Nota de Crédito."); return false; } lblPagaCon.Text = Convert.ToDecimal(Nota_Credito.NOT_TOTAL).ToString("0.000"); } if (FormaPago.FOR_DESCRIPCION.Contains(Constantes.Multiple)) { frmMULTIPLEPAGO frm = new frmMULTIPLEPAGO(eMULTIPLE, Convert.ToDecimal(txtTotal.Text)); DialogResult drRESULTADO = frm.ShowDialog(); if (frmVENTAS.ListaMultiplesPagos == null) { MostrarMensajeAdvertencia("Debe Ingresar pagos Multiples."); return false; } foreach (var item in frmVENTAS.ListaMultiplesPagos) { switch (item.FORM_PAGO) { case Constantes.Cheque: totalPago += (decimal)item.CHE_VALOR; break; case Constantes.NotaCredito: totalPago += (decimal)item.NOTA_CREDITO.NOT_TOTAL; break; case Constantes.Tarjeta: totalPago += (decimal)item.TARJ_TOTALAPAGAR; totalDifTarjeta += (decimal)item.TARJ_DIFTARJETA; break; case Constantes.Efectivo: totalPago += item.EFEC_MONTO; break; default: break; } } //valida si MontoPagaCon == null porque cancelo if (totalPago == null || totalPago == 0) { MostrarMensajeAdvertencia("Debe Ingresar el Monto a Pagar."); return false; } lblDiferenciaTarjeta.Visible = txtDiferenciaTarjeta.Visible = true; lblPagaCon.Text = Convert.ToDecimal(totalPago).ToString("0.000"); txtDiferenciaTarjeta.Text = Convert.ToDecimal(totalDifTarjeta).ToString("0.000"); txtTotal.Text = Convert.ToDecimal(totalPago).ToString("0.00"); } if (FormaPago.FOR_DESCRIPCION.Contains(Constantes.Ficha)) { if (!ClienteConsumidorFinal) { if (Cliente == null) { frmBUSCACLIENTECONCTACTE frm = new frmBUSCACLIENTECONCTACTE(Constantes.venta); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK) { if (Cliente == null) { MostrarMensajeAdvertencia("La forma de pago es por medio de FICHA, para ello debe seleccionar un cliente"); return false; } } } var CTA_CLIENTE = cCLIENTE.ObtenerCtaCteCliente(Cliente); if (CTA_CLIENTE == null) { MostrarMensajeAdvertencia("El Cliente seleccionado no tiene creada una Cta Cte. \n Para crear una debe comunicarse con un usuario administrador."); btnCliente.Enabled = true; return false; } var FICHA_CLIENTE = cFICHA.ObtenerFichaAbiertaCliente(Cliente); if (FICHA_CLIENTE == null) { var rta = MostrarMensajePreguntaSI_NO("El Cliente seleccionado no tiene ninguna ficha abierta. Desea abrirle una?"); if (!rta) { return false; } else { //creo una ficha nueva Ficha = new FICHA(); Ficha.CLI_ID = Cliente.CLI_ID; Ficha.FIC_ESTADOAPERTURA = true; Ficha.FIC_FECHAAPERTURA = DateTime.Now; Ficha.FIC_TOTAL = 0; Ficha = cFICHA.AltaConRetorno(Ficha); } } else { //tomo la ficha abierta del cliente Ficha = FICHA_CLIENTE; } //VALIDACION DE TOPE CTA CTE EN LA VENTA DE FICHA var SALDO_CTA = CTA_CLIENTE.CCC_SALDO; var TotalEstimadoFIcha = cFICHA.CalcularTotalFichaAlDiaDeHoy(Ficha); var totalDeuda = SALDO_CTA + Convert.ToDecimal(txtTotal.Text) + TotalEstimadoFIcha; if (CTA_CLIENTE.CLIENTE.CLI_MAXTOPE_CTACTE != 0 && CTA_CLIENTE.CLIENTE.CLI_MAXTOPE_CTACTE < totalDeuda) { MostrarMensajeAdvertencia("No se puede realizar la vta mediante ficha porque la suma de la ficha actual ($" + txtTotal.Text + ") y el saldo de la cta cte ($" + SALDO_CTA + ") supera el tope maximo permitido al cliente: " + Cliente.CLI_NOMBREYAPELLIDO + "."); btnCliente.Enabled = true; return false; } var rta2 = MostrarMensajePreguntaSI_NO("Será asignada a la FICHA del cliente: " + Cliente.CLI_NOMBREYAPELLIDO + " . \n El saldo de la cuenta corriente es: $" + SALDO_CTA + " . \n Aceptar para confirmar o Cancelar para volver a la venta."); if (!rta2) { return false; } lblPagaCon.Text = Convert.ToDecimal(txtTotal.Text).ToString("0.000"); } } lblVuelto.Text = (Convert.ToDecimal(lblPagaCon.Text) - Convert.ToDecimal(txtTotal.Text)).ToString(); PagaConVenta = lblPagaCon.Text; VueltoVenta = lblVuelto.Text; TotalVenta = txtTotal.Text; //visibilidad y habilitado de botones txtCodigoBarra.Enabled = false; cmbProducto.Enabled = false; btnDESCUENTO.Enabled = false; btnELIMINARPRODUCTO.Enabled = false; btnCANTIDAD.Enabled = false; btnPRODUCTOSINCODIGO.Enabled = false; btnVentaAnterior.Enabled = ImpresoraOK; btnTICKETFISCAL.Enabled = ImpresoraOK; btnNoTicket.Enabled = true; btnCancela.Enabled = true; btnTICKETFISCAL.Focus(); return true; }
private void btnMODIFICACIONES_Click(object sender, EventArgs e) { try { if (dgvGrilla.CurrentRow == null) { MostrarMensajeAdvertencia(Mensajes.SeleccionarItem); return; } var FilaSeleccionada = SeleccionarFila(); if (FilaSeleccionada == null) return; switch (FilaSeleccionada.FORM_PAGO) { case Constantes.Cheque: //MODIFICACION CHEQUE frmCHEQUE frm = new frmCHEQUE(totalVta, "frmMULTIPLE", FilaSeleccionada, "M"); var drResultado = frm.ShowDialog(); if (drResultado == DialogResult.OK) { LlenaGrilla(); } break; case Constantes.Tarjeta: //MODIFICACION TARJETA frmTARJETA frm1 = new frmTARJETA(0, "frmMULTIPLE", FilaSeleccionada, "M"); var drResultado1 = frm1.ShowDialog(); if (drResultado1 == DialogResult.OK) { LlenaGrilla(); } break; case Constantes.Efectivo: //MODIFICACION EFECTIVO frmPAGACON frm4 = new frmPAGACON(totalVta, "frmMULTIPLE", FilaSeleccionada, "M"); var drResultado4 = frm4.ShowDialog(); if (drResultado4 == DialogResult.OK) { LlenaGrilla(); } break; default: break; } } catch (Exception ex) { ProcesarExcepcion(ex); } }