private void AgregarLineasDesdeVenta(VENTA Venta) { var LineasEnGrillaTemporal = new List<DETALLE_DEVOLUCION>(); foreach (LINEA_VENTA linea in Venta.LINEAS_VENTA) { DETALLE_DEVOLUCION detalle = new DETALLE_DEVOLUCION(); detalle.DDEV_DESCRIPCION = linea.LIN_DESCRIPCION; detalle.DDEV_DESCRESUMIDA = linea.LIN_DESCRESUMIDA; detalle.DDEV_TIVA_PORCENTAJE = linea.LIN_TIVA_PORCENTAJE; detalle.DDEV_PRECIOCOSTO = linea.LIN_PRECIOCOSTO; detalle.DDEV_PRECIOUNIDAD = linea.LIN_PRECIOUNIDAD; detalle.DDEV_PRECIONETO = linea.LIN_PRECIONETO; detalle.DDEV_CANTIDADADEVOLVER = Convert.ToDecimal(0.ToString("0.000")); detalle.DDEV_CANTIDAD = linea.LIN_CANTIDAD; detalle.DDEV_CANTIDADDEVUELTA = Convert.ToDecimal(0.ToString("0.000")); detalle.DDEV_TOTAL = linea.LIN_TOTAL; detalle.DDEV_ESTADOPROMO = linea.LIN_ESTADOPROMO; detalle.PRO_ID = linea.PRO_ID; detalle.PRODUCTO = linea.PRODUCTO; detalle.CAT_ID = linea.CAT_ID; detalle.CATEGORIA_PRODUCTO = linea.CATEGORIA_PRODUCTO; detalle.ENV_ID = linea.ENV_ID; detalle.ENVASE = linea.ENVASE; detalle.DDEV_GUID = Guid.NewGuid().ToString(); //AgregarLineasEnGrilla(linea); LineasEnGrillaTemporal.Add(detalle); } LineasEnGrilla = LineasEnGrillaTemporal; }
public void Alta(VENTA objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.VENTA.AddObject(objeto); ctx.SaveChanges(); } }
public void Modificacion(VENTA objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.VENTA.Attach(objeto); ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified); ctx.SaveChanges(); } }
public VENTA AltaConRetorno(VENTA objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.VENTA.AddObject(objeto); ctx.SaveChanges(); return ObtenerPorID(objeto.VTA_ID); } }
public VENTA AltaConRetorno(VENTA entidad) { return mVENTAS.AltaConRetorno(entidad); }
public void Alta(VENTA entidad) { mVENTAS.Alta(entidad); }
private void CargaDataSetVta(VENTA venta) { dsDatos.Tables["DetalleVta"].Rows.Clear(); foreach (var LineaVta in venta.LINEAS_VENTA) { DataRow NuevaFila = dsDatos.Tables["DetalleVta"].NewRow(); var eDATOS_EMPRESA = cDATOS_EMPRESA.ObtenerTodos().FirstOrDefault(); NuevaFila["FechaVta"] = venta.VTA_FECHA; if (venta.CLIENTE != null) { NuevaFila["Cliente"] = venta.CLIENTE.CLI_NOMBREYAPELLIDO; NuevaFila["Provincia"] = venta.CLIENTE.LOCALIDAD.PROVINCIA.PCIA_DESCRIPCION; NuevaFila["Localidad"] = venta.CLIENTE.LOCALIDAD.LOC_DESCRIPCION; NuevaFila["DomicilioC"] = venta.CLIENTE.CLI_DIRECCION; NuevaFila["TelFijo"] = venta.CLIENTE.CLI_TELFIJO; NuevaFila["TelCelular"] = venta.CLIENTE.CLI_TELCEL; } else { NuevaFila["Cliente"] = Constantes.ConsumidorFinal; NuevaFila["Provincia"] = "-"; NuevaFila["Localidad"] = "-"; NuevaFila["DomicilioC"] = "-"; NuevaFila["TelFijo"] = "-"; NuevaFila["TelCelular"] = "-"; } NuevaFila["Empresa"] = eDATOS_EMPRESA.DEMP_RAZONSOCIAL; NuevaFila["Cuit"] = eDATOS_EMPRESA.DEMP_CUIT; NuevaFila["Telefono"] = eDATOS_EMPRESA.DEMP_TELEFONO; NuevaFila["Domicilio"] = eDATOS_EMPRESA.DEMP_DOMICILIO; //producto, cantidad, precio unicad, subtotal, NuevaFila["Producto"] = LineaVta.LIN_DESCRIPCION; NuevaFila["Cantidad"] = LineaVta.LIN_CANTIDAD; NuevaFila["$Unidad"] = LineaVta.LIN_PRECIOUNIDAD; NuevaFila["$subtotalLinea"] = LineaVta.LIN_TOTAL; //datos de la venta //subtotal, descuento, dif tarjeta, total de la venta NuevaFila["$SubtotalVta"] = LineaVta.VENTA.VTA_SUBTOTAL; NuevaFila["$Descuento"] = LineaVta.VENTA.VTA_PORCENTAJEDESCUENTO; NuevaFila["$DiferenciaTarjeta"] = LineaVta.VENTA.VTA_DIFTARJETA; NuevaFila["$TotalVenta"] = LineaVta.VENTA.VTA_TOTAL; dsDatos.Tables["DetalleVta"].Rows.Add(NuevaFila); } }
private void LlenaGrilla(VENTA venta) { LineasEnGrilla = venta.LINEAS_VENTA.ToList(); }
private int? ImprimirFiscal(List<LINEA_VENTA> ImprimirLineasEnGrilla, VENTA venta) { if (!ImpresoraOK) { MostrarMensajeInformativo("Falla de impresora"); return null; } else { var retornoImpresion = 0; #region IMPRIME TICKET if (TipoComprobante.TIC_DESCRIPCION == "TICKET") { var ticketFiscal = new TicketFiscal(); ticketFiscal.items = new List<TicketFiscalItem>(); foreach (LINEA_VENTA LineaEnGrilla in ImprimirLineasEnGrilla) { var item = new TicketFiscalItem(); item.DescripcionExtra1 = (LineaEnGrilla.LIN_ESTADOPROMO == true) ? "Articulo en PROMOCION" : ""; item.DescripcionExtra2 = ""; item.DescripcionExtra3 = ""; item.DescripcionExtra4 = ""; item.DescripcionItem = (LineaEnGrilla.LIN_DESCRESUMIDA.Length > 27) ? LineaEnGrilla.LIN_DESCRESUMIDA.Substring(0, 27) : LineaEnGrilla.LIN_DESCRESUMIDA.ToString(); item.Cantidad = (LineaEnGrilla.LIN_CANTIDAD * 10000).ToString("#"); item.PrecioUnitario = (LineaEnGrilla.LIN_PRECIOUNIDAD * 10000).ToString("#"); item.TasaIva = "0"; item.ImpuestosInternosFijos = "0"; item.CoeficienteImpuestosInternosPuntuales = "0"; ticketFiscal.items.Add(item); } //DESCUENTO ticketFiscal.DescuentoDescripcion = "DESCUENTO"; ticketFiscal.DescuentoMonto = ((decimal)venta.VTA_PORCENTAJEDESCUENTO * 10000).ToString("#"); //PAGO ticketFiscal.PagoDescripcionExtra = ""; ticketFiscal.PagoDescripcion = venta.FORMA_PAGO.FOR_DESCRIPCION; //CIERRE ticketFiscal.DescripcionReemplazo1 = ""; ticketFiscal.DescripcionReemplazo2 = ""; ticketFiscal.DescripcionReemplazo3 = ""; retornoImpresion = frmImpresoraFiscal.TicketFiscal(ticketFiscal); if (retornoImpresion < 0) return null; //MostrarMensajeInformativo("Se imprimió correctamente el ticket fiscal Nº: " + retornoImpresion); } #endregion #region IMPRIME FACTURA A if (TipoComprobante.TIC_DESCRIPCION == "FACTURA A") { //control de tipo cliente y comprobante a emitir if (Cliente.TIPO_IVA.TIVA_DESCRIPCION != "RESP. INSCRIPTO") { MostrarMensajeAdvertencia("El Cliente posee Responsabilidad: " + Cliente.TIPO_IVA.TIVA_DESCRIPCION + ".\n No puede imprimir FACTURA A."); return null; } var ticketFactura = new TicketFactura(); //CABECERA ticketFactura.NombreComprador1 = Cliente.CLI_NOMBREYAPELLIDO; ticketFactura.NombreComprador2 = ""; ticketFactura.DomicilioComprador1 = Cliente.CLI_DIRECCION; ticketFactura.DomicilioComprador2 = Cliente.LOCALIDAD.LOC_DESCRIPCION; ticketFactura.DomicilioComprador3 = ""; ticketFactura.TipoDocumentoComprador = "T"; //("T") ticketFactura.NumeroDocumentoComprador = Cliente.CLI_CUIT_CUIL; var responsabilidadIvaComprador = ""; switch (Cliente.TIPO_IVA.TIVA_DESCRIPCION) { case "RESP. INSCRIPTO": responsabilidadIvaComprador = "I"; break; case "RESP. NO INSCRIPTO": responsabilidadIvaComprador = "R"; break; case "EXENTO": responsabilidadIvaComprador = "E"; break; case "NO RESPONSABLE": responsabilidadIvaComprador = "N"; break; case Constantes.ConsumidorFinal: responsabilidadIvaComprador = "F"; break; case "RESP. MONOTRIBUTO": responsabilidadIvaComprador = "M"; break; case "NO CATEGORIZADO": responsabilidadIvaComprador = "S"; break; default: break; } ticketFactura.ResponsabilidadIvaComprador = "I"; //("I") ticketFactura.LineaRemito1 = ""; ticketFactura.LineaRemito2 = ""; ticketFactura.Responsable = ""; ticketFactura.items = new List<TicketFacturaItem>(); foreach (LINEA_VENTA LineaEnGrilla in ImprimirLineasEnGrilla) { var item = new TicketFacturaItem(); item.DescripcionExtra1 = (LineaEnGrilla.LIN_ESTADOPROMO == true) ? "Articulo en PROMOCION" : ""; item.DescripcionExtra2 = ""; item.DescripcionExtra3 = ""; item.DescripcionExtra4 = ""; item.DescripcionItem = (LineaEnGrilla.LIN_DESCRESUMIDA.Length > 27) ? LineaEnGrilla.LIN_DESCRESUMIDA.Substring(0, 27) : LineaEnGrilla.LIN_DESCRESUMIDA.ToString(); item.Cantidad = (LineaEnGrilla.LIN_CANTIDAD * 10000).ToString(); item.PrecioUnitario = (LineaEnGrilla.LIN_PRECIOUNIDAD * 10000).ToString("#"); item.TasaIva = (LineaEnGrilla.LIN_TIVA_PORCENTAJE * 100).ToString("#"); item.ImpuestosInternosFijos = "0"; item.CoeficienteImpuestosInternosPuntuales = "0"; ticketFactura.items.Add(item); } //DESCUENTO ticketFactura.DescuentoDescripcion = "DESCUENTO"; ticketFactura.DescuentoMonto = ((decimal)venta.VTA_PORCENTAJEDESCUENTO * 10000).ToString("#"); //PAGO ticketFactura.PagoDescripcionExtra = ""; ticketFactura.PagoDescripcion = venta.FORMA_PAGO.FOR_DESCRIPCION; //CIERRE ticketFactura.DescripcionReemplazo1 = ""; ticketFactura.DescripcionReemplazo2 = ""; ticketFactura.DescripcionReemplazo3 = ""; retornoImpresion = frmImpresoraFiscal.TicketFactura(ticketFactura); if (retornoImpresion < 0) return null; MostrarMensajeInformativo("Se imprimió correctamente el ticket fiscal Nº: " + retornoImpresion); } #endregion #region IMPRIME FACTURA B if (TipoComprobante.TIC_DESCRIPCION == "FACTURA B") { //control de tipo cliente y comprobante a emitir if (Cliente.TIPO_IVA.TIVA_DESCRIPCION == "RESP. INSCRIPTO") { MostrarMensajeAdvertencia("El Cliente posee Responsabilidad: " + Cliente.TIPO_IVA.TIVA_DESCRIPCION + ".\n No puede imprimir FACTURA B."); return null; } var ticketFactura = new TicketFactura(); //CABECERA ticketFactura.NombreComprador1 = Cliente.CLI_NOMBREYAPELLIDO; ticketFactura.NombreComprador2 = ""; ticketFactura.DomicilioComprador1 = Cliente.CLI_DIRECCION; ticketFactura.DomicilioComprador2 = Cliente.LOCALIDAD.LOC_DESCRIPCION; ticketFactura.DomicilioComprador3 = ""; ticketFactura.TipoDocumentoComprador = "D"; //("D") ticketFactura.NumeroDocumentoComprador = Cliente.CLI_CUIT_CUIL; var responsabilidadIvaComprador = ""; switch (Cliente.TIPO_IVA.TIVA_DESCRIPCION) { case "RESP. INSCRIPTO": responsabilidadIvaComprador = "I"; break; case "RESP. NO INSCRIPTO": responsabilidadIvaComprador = "R"; break; case "EXENTO": responsabilidadIvaComprador = "E"; break; case "NO RESPONSABLE": responsabilidadIvaComprador = "N"; break; case Constantes.ConsumidorFinal: responsabilidadIvaComprador = "F"; break; case "RESP. MONOTRIBUTO": responsabilidadIvaComprador = "M"; break; case "NO CATEGORIZADO": responsabilidadIvaComprador = "S"; break; default: break; } ticketFactura.ResponsabilidadIvaComprador = "F"; //("F") ticketFactura.LineaRemito1 = ""; ticketFactura.LineaRemito2 = ""; ticketFactura.Responsable = ""; ticketFactura.items = new List<TicketFacturaItem>(); foreach (LINEA_VENTA LineaEnGrilla in ImprimirLineasEnGrilla) { var item = new TicketFacturaItem(); item.DescripcionExtra1 = (LineaEnGrilla.LIN_ESTADOPROMO == true) ? "Articulo en PROMOCION" : ""; item.DescripcionExtra2 = ""; item.DescripcionExtra3 = ""; item.DescripcionExtra4 = ""; item.DescripcionItem = (LineaEnGrilla.LIN_DESCRESUMIDA.Length > 27) ? LineaEnGrilla.LIN_DESCRESUMIDA.Substring(0, 27) : LineaEnGrilla.LIN_DESCRESUMIDA.ToString(); item.Cantidad = (LineaEnGrilla.LIN_CANTIDAD * 10000).ToString("#"); item.PrecioUnitario = (LineaEnGrilla.LIN_PRECIOUNIDAD * 10000).ToString("#"); item.TasaIva = (LineaEnGrilla.LIN_TIVA_PORCENTAJE * 100).ToString("#"); item.ImpuestosInternosFijos = "0"; item.CoeficienteImpuestosInternosPuntuales = "0"; ticketFactura.items.Add(item); } //DESCUENTO ticketFactura.DescuentoDescripcion = "DESCUENTO"; ticketFactura.DescuentoMonto = ((decimal)venta.VTA_PORCENTAJEDESCUENTO * 10000).ToString("#"); //PAGO ticketFactura.PagoDescripcionExtra = ""; ticketFactura.PagoDescripcion = venta.FORMA_PAGO.FOR_DESCRIPCION; //CIERRE ticketFactura.DescripcionReemplazo1 = ""; ticketFactura.DescripcionReemplazo2 = ""; ticketFactura.DescripcionReemplazo3 = ""; retornoImpresion = frmImpresoraFiscal.TicketFactura(ticketFactura); if (retornoImpresion < 0) return null; //MostrarMensajeInformativo("Se imprimió correctamente el ticket fiscal Nº: " + retornoImpresion); } #endregion return retornoImpresion; } }
private void CreaMovimientoCaja(VENTA venta, decimal valor, string descripcion, string tipoMovimiento) { var eMOVIMIENTO_CAJA = new MOVIMIENTO_CAJA(); eMOVIMIENTO_CAJA.MOVC_FECHA = DateTime.Now; eMOVIMIENTO_CAJA.MOVC_VALOR = valor; eMOVIMIENTO_CAJA.TIC_ID = TipoComprobante.TIC_ID; eMOVIMIENTO_CAJA.TMOV_ID = (cTIPO_MOVIMIENTO_CAJA.ObtenerPorDescripcion(tipoMovimiento)).TMOV_ID; eMOVIMIENTO_CAJA.TIPM_NUMERO = TipoComprobante.TIC_ULTIMONUMERO; eMOVIMIENTO_CAJA.TIPO_MOVIMIENTO = null; eMOVIMIENTO_CAJA.MOVC_DESCRIPCION = descripcion; eMOVIMIENTO_CAJA.VTA_ID = venta.VTA_ID; eMOVIMIENTO_CAJA.CAJ_ID = CajaPerteneciente.CAJ_ID; cMOVIMIENTO_CAJA.Alta(eMOVIMIENTO_CAJA); }
/// <summary> /// Crear un nuevo objeto VENTA. /// </summary> /// <param name="vTA_ID">Valor inicial de la propiedad VTA_ID.</param> /// <param name="fOR_ID">Valor inicial de la propiedad FOR_ID.</param> /// <param name="cAJ_ID">Valor inicial de la propiedad CAJ_ID.</param> public static VENTA CreateVENTA(global::System.Int32 vTA_ID, global::System.Int32 fOR_ID, global::System.Int32 cAJ_ID) { VENTA vENTA = new VENTA(); vENTA.VTA_ID = vTA_ID; vENTA.FOR_ID = fOR_ID; vENTA.CAJ_ID = cAJ_ID; return vENTA; }
/// <summary> /// Método desusado para agregar un nuevo objeto al EntitySet VENTA. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet<T> asociada. /// </summary> public void AddToVENTA(VENTA vENTA) { base.AddObject("VENTA", vENTA); }
private bool CancelaVenta() { if (dgvGrilla.RowCount != 0) { var rta = MostrarMensajePreguntaSI_NO(string.Format("Desea Cancelar la Venta?", "")); if (!rta) { return false; } if (eParametro.PAR_AUTORIZA_VTA == true) { frmAUTORIZA frm = new frmAUTORIZA(); DialogResult dr = frm.ShowDialog(); if (dr != DialogResult.OK) { MostrarMensajeAdvertencia(Mensajes.AutorizacionFallo); return false; } } using (TransactionScope TRANSACCION = new TransactionScope()) { //guarda la venta cancelada VENTA NuevaVta = new VENTA(); NuevaVta.VTA_FECHA = DateTime.Now; NuevaVta.VTA_COLOR = null; 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 = true; NuevaVta.FOR_ID = FormaPago.FOR_ID; NuevaVta.CAJ_ID = CajaPerteneciente.CAJ_ID; //NuevaVta.COM_ID = null;//TODO: ver si esta bien 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) { //quito las entidades LineaEnGrilla.PRODUCTO = null; LineaEnGrilla.CATEGORIA_PRODUCTO = null; LineaEnGrilla.ENVASE = null; LineaEnGrilla.VTA_ID = NuevaVta.VTA_ID; cLINEA_VENTA.Alta(LineaEnGrilla); } //guarda la cancelacion de la venta VENTA_CANCELADA VtaCancelada = new VENTA_CANCELADA(); VtaCancelada.VTAC_FECHA = DateTime.Now; VtaCancelada.VTAC_TIPOCANCELADA = "VENTA"; VtaCancelada.CAJ_ID = CajaPerteneciente.CAJ_ID; VtaCancelada.PROD_ID = null; VtaCancelada.CAT_ID = null; VtaCancelada.ENV_ID = null; VtaCancelada.VTA_ID = NuevaVta.VTA_ID; if (EmpleadoAutoriza_Id != 0) VtaCancelada.EMP_AUTORIZA = EmpleadoAutoriza_Id; cVENTAS.AltaVentaCancelada(VtaCancelada); TRANSACCION.Complete(); } } Nueva_Vta(); return true; }
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; }
//public void BajaLogica(VENTA entidad) //{ // entidad.CLI_ESTADO = false; // mVENTAS.Modificacion(); //} public void BajaFisica(VENTA entidad) { mVENTAS.Baja(entidad); }
private void LlenarLineaEnGrilla() { if (LineasEnGrilla == null) LineasEnGrilla = new List<DETALLE_DEVOLUCION>(); VENTA vtaTicket = null; if (cmbTipoComprobante.Text == Constantes.Ticket) vtaTicket = cVENTAS.ObtenerPorTicket(Convert.ToInt32(txtNumero.Text)); if (cmbTipoComprobante.Text == Constantes.TicketFactura) vtaTicket = cVENTAS.ObtenerPorTicketFactura(Convert.ToInt32(txtNumero.Text)); if (cmbTipoComprobante.Text == Constantes.ValeEnvase) vtaTicket = cVENTAS.ObtenerPorValeEnvase(Convert.ToInt32(txtNumero.Text)); if (vtaTicket == null) { MostrarMensajeAdvertencia("No se encontro ninguna venta con ese numero ingresado."); Nuevo_Devolucion(); return; } else { eVta = vtaTicket; if (vtaTicket.CLIENTE == null) lblCliente.Text = Constantes.ConsumidorFinal; else lblCliente.Text = vtaTicket.CLIENTE.CLI_NOMBREYAPELLIDO; //verifico que la venta no tenga alguna otra devolucion var devVenta = cDEVOLUCION.ObtenerPorVta(vtaTicket.VTA_ID); //si no tiene, cargo la grilla con la venta, poniendo en 0 las cantidades a devolver. if (devVenta == null) { modo = "A"; AgregarLineasDesdeVenta(vtaTicket); } else { modo = "M"; eDEVOLUCION = devVenta; //si ya tiene devolucion cargo la devolucion MostrarMensajeAdvertencia("La venta buscada ya tiene ingresada una devolución, se cargará la misma."); var LineasEnGrillaTemporal = new List<DETALLE_DEVOLUCION>(); foreach (DETALLE_DEVOLUCION detalle in eDEVOLUCION.DETALLES_DEVOLUCION) { LineasEnGrillaTemporal.Add(detalle); } LineasEnGrilla = LineasEnGrillaTemporal; } } if (dgvGrilla.Rows.Count > 0) { dgvGrilla.CurrentCell = dgvGrilla.Rows[dgvGrilla.Rows.Count - 1].Cells[0]; } LlenaLabelTotales(); }
public void Modificacion(VENTA entidad) { mVENTAS.Modificacion(entidad); }
private void btnCERRARFICHA_Click(object sender, EventArgs e) { //GENERAR LA VENTA SIN ACTUALIZAR STOCK PORQUE EL STOCK YA SE RESTO CUANDO SE VENDIO try { if (dgvGRILLA_FICHAS.CurrentRow == null) { MostrarMensajeAdvertencia(Mensajes.SeleccionarItem); return; } if (!validar_CerrarFicha()) return; var fichaSeleccionada = cFICHA.ObtenerPorID(Convert.ToInt32(dgvGRILLA_FICHAS.CurrentRow.Cells[0].Value)); var fichaAldiaDeHoy = new FICHA(); fichaAldiaDeHoy = cFICHA.CalcularFichaAlDiaDeHoy(fichaSeleccionada); var TotalFicha = fichaAldiaDeHoy.FIC_TOTAL; var rta = MostrarMensajePreguntaSI_NO("Al cerrar la ficha se genera una venta con cuenta corriente.\n Se guardará un movimiento en la cta cte del cliente " + ((CLIENTE)cmbCLIENTE.SelectedItem).CLI_NOMBREYAPELLIDO + ", con un total del movimiento de " + TotalFicha + ". Desea Continuar?\r\n."); if (!rta) return; if (!Valida_Caja()) { return; }; if (!Cobrar_Venta(fichaAldiaDeHoy)) { return; }; using (TransactionScope TRANSACCION = new TransactionScope()) { //Comprobante = new COMPROBANTE(); //TipoComprobante = cTIPO_COMPROBANTES.ObtenerPorDescripcion(Constantes.Ticket); //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 = "B"; NuevaVta.VTA_PORCENTAJEDESCUENTO = 0; NuevaVta.VTA_DIFTARJETA = 0; NuevaVta.VTA_SUBTOTAL = fichaAldiaDeHoy.FIC_TOTAL; NuevaVta.VTA_TOTAL = fichaAldiaDeHoy.FIC_TOTAL; NuevaVta.VTA_CACELADA = false; NuevaVta.FOR_ID = cFORMA_PAGO.ObtenerPorDescripcion(Constantes.CtaCte).FOR_ID; NuevaVta.CAJ_ID = CajaPerteneciente.CAJ_ID; //NuevaVta.COM_ID = Comprobante.COM_ID; NuevaVta.VTA_MONTOPAGO = 0; // SI ES FACTURA A ASEGURARSE QUE SE TIENEN LOS DATOS DEL CLIENTE SI ES. NuevaVta.VTA_CONSUMIDORFINAL = false; NuevaVta.CLI_ID_CONSUMIDOR = Cliente.CLI_ID; NuevaVta = cVENTAS.AltaConRetorno(NuevaVta); foreach (var linea in fichaAldiaDeHoy.DETALLES_FICHA) { LINEA_VENTA NuevaLinea = new LINEA_VENTA(); if (linea.PRO_ID != null) //es producto { NuevaLinea.LIN_DESCRIPCION = linea.DETF_DESCRIPCION; NuevaLinea.LIN_DESCRESUMIDA = linea.DETF_DESCRESUMIDA; NuevaLinea.LIN_PRECIOUNIDAD = (linea.PRODUCTO.PRO_ESTADOPROMO == true) ? (decimal)linea.PRODUCTO.PRO_PRECIOPROMO : linea.PRODUCTO.PRO_PRECIOVTA; NuevaLinea.LIN_CANTIDAD = linea.DETF_CANTIDAD; NuevaLinea.LIN_TOTAL = linea.PRODUCTO.PRO_PRECIOVTA * linea.DETF_CANTIDAD; NuevaLinea.LIN_ESTADOPROMO = linea.DETF_ESTADOPROMO; NuevaLinea.PRO_ID = linea.PRO_ID; NuevaLinea.VTA_ID = NuevaVta.VTA_ID; cLINEA_VENTA.Alta(NuevaLinea); if (linea.DETF_TOTAL != NuevaLinea.LIN_TOTAL) { linea.DETF_TOTAL = NuevaLinea.LIN_TOTAL; cDETALLE_FICHA.Modificacion(linea); } } if (linea.CAT_ID != null) //es categoria { NuevaLinea.LIN_DESCRIPCION = linea.DETF_DESCRIPCION; NuevaLinea.LIN_DESCRESUMIDA = linea.DETF_DESCRESUMIDA; NuevaLinea.LIN_PRECIOUNIDAD = linea.DETF_PRECIOUNIDAD; NuevaLinea.LIN_CANTIDAD = linea.DETF_CANTIDAD; NuevaLinea.LIN_TOTAL = linea.DETF_TOTAL; NuevaLinea.LIN_ESTADOPROMO = linea.DETF_ESTADOPROMO; NuevaLinea.CAT_ID = linea.CAT_ID; NuevaLinea.VTA_ID = NuevaVta.VTA_ID; cLINEA_VENTA.Alta(NuevaLinea); } if (linea.ENV_ID != null) //es envase { NuevaLinea.LIN_DESCRIPCION = linea.DETF_DESCRIPCION; NuevaLinea.LIN_DESCRESUMIDA = linea.DETF_DESCRESUMIDA; NuevaLinea.LIN_PRECIOUNIDAD = linea.ENVASE.ENV_PRECIO; NuevaLinea.LIN_CANTIDAD = linea.DETF_CANTIDAD; NuevaLinea.LIN_TOTAL = linea.ENVASE.ENV_PRECIO * linea.DETF_CANTIDAD; NuevaLinea.LIN_ESTADOPROMO = linea.DETF_ESTADOPROMO; NuevaLinea.ENV_ID = linea.ENV_ID; NuevaLinea.VTA_ID = NuevaVta.VTA_ID; cLINEA_VENTA.Alta(NuevaLinea); if (linea.DETF_TOTAL != NuevaLinea.LIN_TOTAL) { linea.DETF_TOTAL = NuevaLinea.LIN_TOTAL; cDETALLE_FICHA.Modificacion(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); //GENERO LA CUENTA CORRIENTE 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(TipoComprobante.TIC_DESCRIPCION); } MOVIMIENTO_CTACTE_CLIENTE eMOV_CTA_CTE_CLI = new MOVIMIENTO_CTACTE_CLIENTE(); var cta_cliente = cCLIENTESES.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); //actualizo la ficha eFicha = fichaAldiaDeHoy; eFicha.VTA_ID = NuevaVta.VTA_ID; eFicha.FIC_FECHACIERRE = DateTime.Now; eFicha.FIC_TOTAL = fichaAldiaDeHoy.FIC_TOTAL; eFicha.FIC_ESTADOAPERTURA = false; cFICHA.Modificacion(eFicha); //actualizo los detalle de la ficha foreach (var item in eFicha.DETALLES_FICHA) { if (item.PRODUCTO != null) // si no es una categoria { item.DETF_PRECIOCOSTO = item.PRODUCTO.PRO_COSTO; item.DETF_PRECIOUNIDAD = (item.PRODUCTO.PRO_ESTADOPROMO == true) ? (decimal)item.PRODUCTO.PRO_PRECIOPROMO : item.PRODUCTO.PRO_PRECIOVTA; item.DETF_ESTADOPROMO = item.PRODUCTO.PRO_ESTADOPROMO; item.DETF_PRECIOUNIDAD = item.PRODUCTO.PRO_PRECIOVTA; item.DETF_TOTAL = item.DETF_PRECIOUNIDAD * item.DETF_CANTIDAD; cDETALLE_FICHA.Modificacion(item); } } cVENTAS.Modificacion(NuevaVta); //TODO: sacar mensaje MostrarMensajeInformativo("La Ficha se realizó con éxito, a continuación se imprimira el Comprobante."); ImprimirReporteFicha(eFicha.FIC_ESTADOAPERTURA); TRANSACCION.Complete(); } ARMA_GRILLA_FICHA(); dgvGRILLA_DETALLE_FICHA.DataSource = null; } catch (Exception ex) { ProcesarExcepcion(ex); } }