private void TraerDatos() { IgvPuntos ip = new IgvPuntos(); VentaSQL vsql = new VentaSQL(); ip = vsql.sacarDatos(); TxtIgv = ip.Igv.ToString(); TxtPuntos = ip.Puntos.ToString(); }
public void GuardarVenta(string cmbTipoVenta) { int numFilas = LstVenta.Count(); if (numFilas > 0) { Venta v = new Venta(); v.LstDetalle = new List<DetalleVenta>(); v.LstPagos = new List<VentaPago>(); v.LstDetalleServicio = new List<DetalleVentaServicio>(); //guardar datos de la venta //completar if (tipoVenta[cmbTipoVenta] == 0) v.TipoDocPago = "Boleta"; else { v.TipoDocPago = "Factura"; //validar que los datos de ruc y razon social if (!string.IsNullOrEmpty(TxtRuc) && !string.IsNullOrEmpty(TxtRazonSocial)) { v.Ruc = TxtRuc; v.RazonSocial = TxtRazonSocial; } else { MessageBox.Show("Falta ingresar Ruc o Razón Social", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); return; } } v.NumDocPago = null; v.TipoVenta = "Tienda"; v.Estado = 1; v.FechaReg = System.DateTime.Now; v.IdUsuario = Convert.ToInt32(Thread.CurrentPrincipal.Identity.Name); //idCliente desde la tarjeta de este si es que hay if (!string.IsNullOrEmpty(TxtCliente)) { v.IdCliente = Convert.ToInt32(cliente.Id); v.CodTarjeta = Convert.ToInt32(TxtCliente); } else { v.IdCliente = -1; v.CodTarjeta = -1; } //guardar detalle de la venta foreach (DetalleVenta dv in lstVenta) { v.LstDetalle.Add(dv); } v.Monto = total; v.Descuento = desc; v.Igv = igv_total; v.PtosGanados = Convert.ToInt32(v.Monto / PUNTO); foreach (VentaPago vp in lstPagos) { if (vp.Nombre.Equals("Efectivo")) { vp.Monto -= Double.Parse(txtVuelto); } v.LstPagos.Add(vp); } //guardar detalle de servicios de la venta, si es que hay if (LstVentaServicios.Count() > 0) { foreach (DetalleVentaServicio dvs in LstVentaServicios) { v.LstDetalleServicio.Add(dvs); } } //insertar en la base de datos DBConexion db = new DBConexion(); db.conn.Open(); SqlTransaction trans = db.conn.BeginTransaction(IsolationLevel.Serializable); db.cmd.Transaction = trans; VentaSQL vsql = new VentaSQL(db); if (v.IdCliente == -1) { int k = vsql.AgregarSinCliente(v); if (k != 0) { NotaISSQL ntgw = new NotaISSQL(); NotaIS nota = new NotaIS(); AlmacenSQL asql = new AlmacenSQL(); nota.IdAlmacen = asql.BuscarAlmacen(-1, idTienda, 2).IdAlmacen; // Logica de Referencia de documento //Si existe documento de referencia colocar el ID nota.IdDoc = v.IdVenta; nota.IdMotivo = 9; nota.IdResponsable = v.IdUsuario; nota.Observaciones = "Venta en Cajero"; nota.Tipo = 2; List<ProductoCant> LstProductos = new List<ProductoCant>(); List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < v.LstDetalle.Count; i++) { Producto p = new ProductoSQL().Buscar_por_CodigoProducto(v.LstDetalle.ElementAt(i).IdProducto); ProductoCant pcan = new ProductoCant(); pcan.IdProducto = p.IdProducto; pcan.CodigoProd = p.CodigoProd; pcan.Nombre = p.Nombre; pcan.CanAtender = v.LstDetalle.ElementAt(i).Cantidad.ToString(); lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); nota.LstProducto = LstProductos; nota.IdNota = ntgw.AgregarNota(nota); trans.Commit(); ntgw.AgregarNotaxSector(nota); MessageBox.Show("Venta Realizada con Exito"); Limpiar(); } else { trans.Rollback(); MessageBox.Show("Ocurrio un Error en el proceso"); } } else { int k = vsql.Agregar(v); if (k != 0) { NotaISSQL ntgw = new NotaISSQL(); NotaIS nota = new NotaIS(); AlmacenSQL asql = new AlmacenSQL(); nota.IdAlmacen = asql.BuscarAlmacen(-1, idTienda, 2).IdAlmacen; // Logica de Referencia de documento //Si existe documento de referencia colocar el ID nota.IdDoc = v.IdVenta; nota.IdMotivo = 9; nota.IdResponsable = v.IdUsuario; nota.Observaciones = "Venta en Cajero"; nota.Tipo = 2; List<ProductoCant> LstProductos = new List<ProductoCant>(); List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < v.LstDetalle.Count; i++) { Producto p = new ProductoSQL().Buscar_por_CodigoProducto(v.LstDetalle.ElementAt(i).IdProducto); ProductoCant pcan = new ProductoCant(); pcan.IdProducto = p.IdProducto; pcan.CodigoProd = p.CodigoProd; pcan.Nombre = p.Nombre; pcan.CanAtender = v.LstDetalle.ElementAt(i).Cantidad.ToString(); lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); nota.LstProducto = LstProductos; nota.IdNota = ntgw.AgregarNota(nota); trans.Commit(); ntgw.AgregarNotaxSector(nota); MessageBox.Show("Venta Realizada con Exito"); Limpiar(); } else { trans.Rollback(); MessageBox.Show("Ocurrio un Error en el proceso"); } } if (v.TipoDocPago.Equals("Boleta")) { GenerarPDFBoletaProductos(v); if (v.LstDetalleServicio.Count() > 0) GenerarPDFBoletaServicios(v); } else { GenerarPDFFacturaProductos(v); if (v.LstDetalleServicio.Count() > 0) GenerarPDFFacturaServicios(v); } } else { MessageBox.Show("Debe ingreasar datos de la venta"); return; } }
public void Guardar() { VentaSQL vsql = new VentaSQL(); vsql.ActualizarIgvPuntos(TxtIgv,TxtPuntos); }
public Venta getVentafromID(int id) { Venta c = new VentaSQL().buscarVentaPorId(id); return c; }
public void BuscarVentas() { if (Validar()) { LstVentas = new VentaSQL().Buscar(TxtDocPago, MontoMin, MontoMax,client,fechaInicio,fechaFin,getEstado(SelectedEstado) ) as List<Venta>; } }
public void AnularVenta() { int resultado; if (VentaSeleccionada != null) { if (ventaSeleccionada.TipoVenta.Equals("Tienda")) { DBConexion db = new DBConexion(); db.conn.Open(); SqlTransaction trans = db.conn.BeginTransaction(IsolationLevel.Serializable); db.cmd.Transaction = trans; VentaSQL vsql = new VentaSQL(db); resultado = vsql.AnularVentaTienda(ventaSeleccionada); if (resultado == 0) { trans.Rollback(); MessageBox.Show("No se pudo anular la venta", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); } else { trans.Commit(); MessageBox.Show("Se ha anulado la venta satistactoriamente"); } } else { VentaSQL vsql = new VentaSQL(); resultado = vsql.AnularVentaObra(ventaSeleccionada); if (resultado == 0) { MessageBox.Show("No se pudo anular la venta", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); } if (resultado == 3) { MessageBox.Show("No se puede anular esta venta, pues ya fue atendida", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); } if(resultado == 2) { MessageBox.Show("La venta ha sido anulada satistactoriamente"); } } } else { MessageBox.Show("No ha seleccionado ninguna Venta", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void GuardarVenta(string cmbTipoVenta) { int numFilas = LstVenta.Count(); if (numFilas > 0) { if (Validar()) { Venta v = new Venta(); v.LstDetalle = new List<DetalleVenta>(); v.LstPagos = new List<VentaPago>(); v.LstDetalleServicio = new List<DetalleVentaServicio>(); //guardar datos de la venta if (tipoVenta[cmbTipoVenta] == 0) v.TipoDocPago = "Boleta"; else { v.TipoDocPago = "Factura"; if (String.IsNullOrEmpty(TxtRazonSocial) || String.IsNullOrEmpty(TxtRuc)) { MessageBox.Show("Se requiere Razón Social y ruc para la factura", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); return; } } v.NumDocPago = null; v.IdUsuario = Convert.ToInt32(Thread.CurrentPrincipal.Identity.Name); v.Direccion = TxtDireccion; v.Telefono = TxtTelefono; v.IdCliente = cli.Cliente.Id; v.CodTarjeta = Convert.ToInt32(cli.CodTarjeta); v.FechaReg = System.DateTime.Now; v.FechaDespacho = fechaDespacho; v.TipoVenta = "Obra"; v.Estado = 1; //guardar detalle de productos de la venta foreach (DetalleVenta dv in lstVenta) { v.LstDetalle.Add(dv); } //guardar detalle de servicios de la venta, si es que hay if (LstVentaServicios.Count() > 0) { foreach (DetalleVentaServicio dvs in LstVentaServicios) { v.LstDetalleServicio.Add(dvs); } } v.Monto = total; v.Descuento = desc; v.Igv = igv_total; v.PtosGanados = Convert.ToInt32(v.Monto / PUNTO); //guardar el pago de la venta foreach (VentaPago vp in lstPagos) { if (vp.Nombre.Equals("Efectivo")) { vp.Monto -= Double.Parse(txtVuelto); } v.LstPagos.Add(vp); } //insertar la venta en la base de datos DBConexion db = new DBConexion(); db.conn.Open(); SqlTransaction trans = db.conn.BeginTransaction(IsolationLevel.Serializable); db.cmd.Transaction = trans; VentaSQL vsql = new VentaSQL(db); int k = vsql.AgregarVentaObra(v); if (k != 0) { trans.Commit(); MessageBox.Show("Venta Realizada con Exito"); Limpiar(); if (v.TipoDocPago.Equals("Boleta")) { GenerarPDFBoletaProductos(v); if (v.LstDetalleServicio.Count() > 0) GenerarPDFBoletaServicios(v); } else { GenerarPDFFacturaProductos(v); if (v.LstDetalleServicio.Count() > 0) GenerarPDFFacturaServicios(v); } } else { trans.Rollback(); MessageBox.Show("Ocurrio un Error en el proceso"); } } } else { MessageBox.Show("Falta ingresar produtos", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); return; } }