public frmTARJETA(TARJETA oTAR, decimal TotalVta1, string formulario, EntidadMultiple entidad) { InitializeComponent(); frmViene = formulario; totalVta = TotalVta1; oTARJETA = oTAR; EntidadMulti = entidad; }
public void Alta(TARJETA objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TARJETA.AddObject(objeto); ctx.SaveChanges(); } }
public void Modificacion(TARJETA objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TARJETA.Attach(objeto); ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified); ctx.SaveChanges(); } }
public TARJETA AltaConRetorno(TARJETA objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TARJETA.AddObject(objeto); ctx.SaveChanges(); return ObtenerPorID(objeto.TARJ_ID); } }
public void Modificacion(TARJETA entidad) { mTARJETA.Modificacion(entidad); }
//public void BajaLogica(TARJETA entidad) //{ // entidad.CLI_ESTADO = false; // mTARJETA.Modificacion(); //} public void BajaFisica(TARJETA entidad) { mTARJETA.Baja(entidad); }
public TARJETA AltaConRetorno(TARJETA entidad) { return mTARJETA.AltaConRetorno(entidad); }
public void Alta(TARJETA entidad) { mTARJETA.Alta(entidad); }
/// <summary> /// Crear un nuevo objeto TARJETA. /// </summary> /// <param name="tARJ_ID">Valor inicial de la propiedad TARJ_ID.</param> public static TARJETA CreateTARJETA(global::System.Int32 tARJ_ID) { TARJETA tARJETA = new TARJETA(); tARJETA.TARJ_ID = tARJ_ID; return tARJETA; }
/// <summary> /// Método desusado para agregar un nuevo objeto al EntitySet TARJETA. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet<T> asociada. /// </summary> public void AddToTARJETA(TARJETA tARJETA) { base.AddObject("TARJETA", tARJETA); }
private VENTA Ticket(string color) { //Comprobante = new COMPROBANTE(); //int nroComprobante = (int)TipoComprobante.TIC_ULTIMONUMERO; //Comprobante.TIC_ID = TipoComprobante.TIC_ID; //Comprobante.COM_NROCOMPROBANTE = nroComprobante.ToString(); //TipoComprobante.TIC_ULTIMONUMERO = nroComprobante + 1; //cTIPO_COMPROBANTES.Modificacion(TipoComprobante); //Comprobante = cCOMPROBANTE.AltaConRetorno(Comprobante); VENTA NuevaVta = new VENTA(); NuevaVta.VTA_FECHA = DateTime.Now; NuevaVta.VTA_COLOR = color; NuevaVta.VTA_PORCENTAJEDESCUENTO = Convert.ToDecimal(txtDescuento.Text); NuevaVta.VTA_DIFTARJETA = Convert.ToDecimal(txtDiferenciaTarjeta.Text); NuevaVta.VTA_SUBTOTAL = Convert.ToDecimal(txtSubtotal.Text); NuevaVta.VTA_TOTAL = Convert.ToDecimal(txtTotal.Text); NuevaVta.VTA_CACELADA = false; NuevaVta.FOR_ID = FormaPago.FOR_ID; NuevaVta.CAJ_ID = CajaPerteneciente.CAJ_ID; //NuevaVta.COM_ID = Comprobante.COM_ID; NuevaVta.VTA_MONTOPAGO = Convert.ToDecimal(lblPagaCon.Text); // SI ES FACTURA A ASEGURARSE QUE SE TIENEN LOS DATOS DEL CLIENTE SI ES. if (ClienteConsumidorFinal) { NuevaVta.VTA_CONSUMIDORFINAL = true; } else { NuevaVta.VTA_CONSUMIDORFINAL = false; NuevaVta.CLI_ID_CONSUMIDOR = Cliente.CLI_ID; } NuevaVta = cVENTAS.AltaConRetorno(NuevaVta); foreach (LINEA_VENTA LineaEnGrilla in LineasEnGrilla) { var linea = new LINEA_VENTA { LIN_DESCRIPCION = LineaEnGrilla.LIN_DESCRIPCION, LIN_DESCRESUMIDA = LineaEnGrilla.LIN_DESCRESUMIDA, LIN_TIVA_PORCENTAJE = LineaEnGrilla.LIN_TIVA_PORCENTAJE, LIN_PRECIOCOSTO = LineaEnGrilla.LIN_PRECIOCOSTO, LIN_PRECIOUNIDAD = LineaEnGrilla.LIN_PRECIOUNIDAD, LIN_PRECIONETO = LineaEnGrilla.LIN_PRECIONETO, LIN_CANTIDAD = LineaEnGrilla.LIN_CANTIDAD, LIN_TOTAL = LineaEnGrilla.LIN_TOTAL, LIN_ESTADOPROMO = LineaEnGrilla.LIN_ESTADOPROMO, PRO_ID = LineaEnGrilla.PRO_ID, CAT_ID = LineaEnGrilla.CAT_ID, ENV_ID = LineaEnGrilla.ENV_ID, LIN_GUID = LineaEnGrilla.LIN_GUID, VTA_ID = NuevaVta.VTA_ID }; cLINEA_VENTA.AltaConRetorno(linea); } //SI ES UNA CTA CTE LA FORMA DE PAGO DOY DE ALTA EL MOVIMIENTO DE LA CTA CTE Y ACTUALIZO LA CTA DEL CLIENTE TIPO_MOVIMIENTO eTIPO_MOVIMIENTO = cTIPO_MOVIMIENTOS.ObtenerPorDescripcion(TipoComprobante.TIC_DESCRIPCION); if (FormaPago.FOR_DESCRIPCION == Constantes.Efectivo) { CreaMovimientoCaja(NuevaVta, (decimal)NuevaVta.VTA_TOTAL, "Venta en Efectivo", "VENTA"); } if (FormaPago.FOR_DESCRIPCION == "CTA CTE") { CONTROLADORA.cCTACTE_CLIENTE cCTACTE_CLIENTES = CONTROLADORA.cCTACTE_CLIENTE.ObtenerInstancia(); CONTROLADORA.cMOVIMIENTO_CTACTE_CLIENTE cMOVIMIENTO_CTACTE_CLIENTES = CONTROLADORA.cMOVIMIENTO_CTACTE_CLIENTE.ObtenerInstancia(); if (eTIPO_MOVIMIENTO == null) { eTIPO_MOVIMIENTO = cTIPO_MOVIMIENTOS.ObtenerPorDescripcion(lblTipoComprobante.Text.ToUpper()); } MOVIMIENTO_CTACTE_CLIENTE eMOV_CTA_CTE_CLI = new MOVIMIENTO_CTACTE_CLIENTE(); var cta_cliente = cCLIENTE.ObtenerCtaCteCliente(Cliente); eMOV_CTA_CTE_CLI.TIPM_ID = eTIPO_MOVIMIENTO.TIPM_ID; eMOV_CTA_CTE_CLI.MCCC_VALORMOVIMIENTO = NuevaVta.VTA_TOTAL; eMOV_CTA_CTE_CLI.MCCC_CONCEPTO = Constantes.Debe; eMOV_CTA_CTE_CLI.MCCC_FECHAMOVIMIENTO = NuevaVta.VTA_FECHA; eMOV_CTA_CTE_CLI.MCCC_SALDOMOVIMIENTO = NuevaVta.VTA_TOTAL; eMOV_CTA_CTE_CLI.CCC_ID = cta_cliente.CCC_ID; eMOV_CTA_CTE_CLI.VTA_ID = NuevaVta.VTA_ID; cta_cliente.CCC_SALDO += NuevaVta.VTA_TOTAL; cCTACTE_CLIENTES.Modificacion(cta_cliente); cMOVIMIENTO_CTACTE_CLIENTES.Alta(eMOV_CTA_CTE_CLI); } //PONER QUE PASA CUANDO LA FORMA DE PAGO ES POR CHEQUEY TARJETA Y/O MULTIPLE if (FormaPago.FOR_DESCRIPCION == Constantes.Tarjeta) { Tarjeta = cTARJETA.AltaConRetorno(Tarjeta); NuevaVta.TARJ_ID = Tarjeta.TARJ_ID; } if (FormaPago.FOR_DESCRIPCION == Constantes.Cheque) { Cheque = cCHEQUE.AltaConRetorno(Cheque); NuevaVta.CHE_ID = Cheque.CHE_ID; //VALIDAR QUE SI EL CHEQUE ES MAYOR A LA VENTA GENERA UN MOVIMIENTO DE CAJA TIPO EXTRACCION Y EN LA DESCRIPCION //PONER VUELTO DE CHEQUE EN LA VENTA X. //sino generar la extraccion en caja y mostrar cartel que se generara una extraccion de caja. var totalVta = Convert.ToDecimal(txtTotal.Text); if (Cheque.CHE_VALOR > totalVta) { string vuelto = (Cheque.CHE_VALOR - totalVta).ToString(); MostrarMensajeAdvertencia("Se generara una extraccion de caja, con la diferencia entre el valor del cheque y el total de la venta. Total de la extracion de caja " + vuelto + "."); CreaMovimientoCaja(NuevaVta, Convert.ToDecimal(vuelto), "Vuelto de Cheque Nro: " + Cheque.CHE_NUMERO + ".", "EXTRACCION"); } } if (FormaPago.FOR_DESCRIPCION == Constantes.NotaCredito) { if (NuevaVta == null) { MostrarMensajeAdvertencia("Debe seleccionar una nota de crédito."); NuevaVta = null; return NuevaVta; } NuevaVta.NOT_ID = Nota_Credito.NOT_ID; var totalVta = Convert.ToDecimal(txtTotal.Text); if (Nota_Credito.NOT_TOTAL != totalVta) { MostrarMensajeAdvertencia("El total de la venta tiene que ser igual al total de la nota de crédito."); NuevaVta = null; return NuevaVta; } } if (FormaPago.FOR_DESCRIPCION == Constantes.Multiple) { //SI ES SOLO CHEQUE GENERA MOVIMIENTO DE CAJA PORQUE DA UN VUELTO if (SoloCheques == "Solo Cheques") { decimal totalPagos = 0; foreach (var item in frmVENTAS.ListaMultiplesPagos) { totalPagos += item.CHE_VALOR; } string vuelto = (totalPagos - Convert.ToDecimal(txtTotal.Text)).ToString(); MostrarMensajeAdvertencia("Se generara una extraccion de caja, con la diferencia entre el valor de los cheque y el total de la venta. Total de la extracion de caja $" + vuelto + "."); CreaMovimientoCaja(NuevaVta, Convert.ToDecimal(vuelto), "Vuelto de Cheque Nro: " + frmVENTAS.Cheque.CHE_NUMERO + ".", "EXTRACCION"); } //GENERAR LA MULTIPLE CON LA LISTA DE PAGOS DE MULTIPLE var MultipleNew = new MULTIPLE(); List<CHEQUE> chequesMultiples = new List<CHEQUE>(); List<TARJETA> tarjetasMultiples = new List<TARJETA>(); List<NOTA_CREDITO> notasCreditosMultiples = new List<NOTA_CREDITO>(); decimal totalMultiple = 0; decimal totalMultipleEfectivo = 0; foreach (var item in ListaMultiplesPagos) { switch (item.FORM_PAGO) { case Constantes.Cheque: Cheque = new CHEQUE(); Cheque.BAN_ID = item.BAN_ID; Cheque.CHE_FECHAEMISION = item.CHE_FECHAEMISION; Cheque.CHE_FECHAVENCIMIENTO = item.CHE_FECHAVENCIMIENTO; Cheque.CHE_NUMERO = item.CHE_NUMERO; Cheque.CHE_VALOR = item.CHE_VALOR; chequesMultiples.Add(Cheque); totalMultiple += item.CHE_VALOR; break; case Constantes.NotaCredito: notasCreditosMultiples.Add(item.NOTA_CREDITO); totalMultiple += (decimal)item.NOTA_CREDITO.NOT_TOTAL; break; case Constantes.Tarjeta: var Tarjeta = new TARJETA(); Tarjeta.TTARJ_ID = item.TARJ_TIPO_TARJETA.TTARJ_ID; Tarjeta.TARJ_CUOTAS = item.TARJ_CUOTAS; Tarjeta.TARJ_NUMERO = item.TARJ_NUMERO; Tarjeta.TARJ_DNI = item.TARJ_DNI; Tarjeta.TARJ_DIFTARJETA = item.TARJ_DIFTARJETA; Tarjeta.TARJ_TOTALAPAGAR = item.TARJ_TOTALAPAGAR; Tarjeta.TARJ_MONTOCUOTA = item.TARJ_MONTOCUOTA; Tarjeta.TARJ_TOTAL = item.TARJ_TOTAL; tarjetasMultiples.Add(Tarjeta); totalMultiple += item.TARJ_TOTALAPAGAR; break; case Constantes.Efectivo: MultipleNew.MUL_EFECTIVO = item.EFEC_MONTO; totalMultiple += item.EFEC_MONTO; totalMultipleEfectivo += item.EFEC_MONTO; break; default: break; } } MultipleNew.MUL_MONTO = totalMultiple; cMULTIPLE.Alta(MultipleNew, tarjetasMultiples, chequesMultiples, notasCreditosMultiples); NuevaVta.MUL_ID = MultipleNew.MUL_ID; if (totalMultipleEfectivo != 0) { CreaMovimientoCaja(NuevaVta, totalMultipleEfectivo, "Venta en Efectivo pago Multiple", "VENTA"); } } if (FormaPago.FOR_DESCRIPCION == Constantes.Ficha) { foreach (LINEA_VENTA LineaEnGrilla in LineasEnGrilla) { var linea = new DETALLE_FICHA(); linea.DETF_DESCRIPCION = LineaEnGrilla.LIN_DESCRIPCION; linea.DETF_DESCRESUMIDA = LineaEnGrilla.LIN_DESCRESUMIDA; linea.DETF_PRECIOUNIDAD = LineaEnGrilla.LIN_PRECIOUNIDAD; linea.DETF_CANTIDAD = LineaEnGrilla.LIN_CANTIDAD; linea.DETF_TOTAL = LineaEnGrilla.LIN_TOTAL; linea.DETF_ESTADOPROMO = LineaEnGrilla.LIN_ESTADOPROMO; linea.PRO_ID = LineaEnGrilla.PRO_ID; linea.CAT_ID = LineaEnGrilla.CAT_ID; linea.ENV_ID = LineaEnGrilla.ENV_ID; linea.DETF_FECHA = DateTime.Now; linea.FIC_ID = Ficha.FIC_ID; linea.EMP_ID = eEmpleado.EMP_ID; var Detalle = cDETALLE_FICHA.AltaConRetorno(linea); } } return NuevaVta; }
private void Nueva_Vta() { lblTotal.Visible = txtTotal.Visible = true; lblDescuento.Visible = txtDescuento.Visible = false; lblDiferenciaTarjeta.Visible = txtDiferenciaTarjeta.Visible = false; txtDiferenciaTarjeta.Text = "0,000"; txtDescuento.Text = "0,000"; txtSubtotal.Text = "0,000"; txtTotal.Text = "0,00"; lblVuelto.Text = "0,000"; lblPagaCon.Text = "0,000"; lblCantidadProdVendidos.Text = "0,000"; cmbProducto.DataSource = null; cmbProducto.Enabled = true; txtCodigoBarra.Enabled = true; btnPRODUCTOSINCODIGO.Enabled = true; btnCANTIDAD.Enabled = true; btnCliente.Enabled = true; groupBoxDatosDoc.Enabled = true; btnVentaAnterior.Enabled = ImpresoraOK; btnTICKETFISCAL.Enabled = ImpresoraOK; btnNoTicket.Enabled = false; btnPRESUPUESTO.Enabled = false; btnCancela.Enabled = false; btnELIMINARPRODUCTO.Enabled = false; btnDESCUENTO.Enabled = false; btnCANTIDAD.Enabled = false; dgvGrilla.DataSource = null; LineasEnGrilla = new List<LINEA_VENTA>(); LlenaGrilla(); LimpiaCabeceraComprobante(); LimpiaCabeceraCliente(); LimpiaCabeceraFormaPago(); ValidaDatosComprobante(); ValidaDatosFormaPago(); Cheque = null; Tarjeta = null; Multiple = null; ListaMultiplesPagos = null; cantidadProd = Convert.ToDecimal(1.ToString("0.00")); Descuento = 0; MontoPagaCon = 0; picProducto.Image = null; txtPromocion.Visible = false; txtEstadoStock.BackColor = Color.White; txtEstadoStock.Visible = txtEstadoStock.Visible = false; txtCodigoBarra.Text = string.Empty; txtCodigoBarra.Focus(); }
//el parametro total parcial es para que en una multiple le pase el total de las formas de pagos ya ingresadas //este parametro sirve para validar el monto ingresado + los montos de las otras formas de pago no supere el total //de la venta public static frmTARJETA ObtenerInstancia(TARJETA oTAR, decimal TotalVta1, string formulario, EntidadMultiple entidad) { if (_instancia == null) _instancia = new frmTARJETA(oTAR, TotalVta1, formulario, entidad); if (_instancia.IsDisposed) _instancia = new frmTARJETA(oTAR, TotalVta1, formulario, entidad); return _instancia; }