//Botones: public void CargarProductos() { string referencia = TxtDoc; if (string.IsNullOrWhiteSpace(referencia)) { _windowManager.ShowDialog(new AlertViewModel(_windowManager, "No se ha ingresado ningun Documento de Referencia")); return; } string mot = this.selectedMotivo; if (string.Compare(mot, "Orden de Despacho", true) == 0) { List<DetalleVenta> l = new DetalleVentaSQL().BuscarTodos(); List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < l.Count; i++) if (l[i].IdDetalleV == SelectedDespacho.Venta.IdVenta) { Producto p = new ProductoSQL().Buscar_por_CodigoProducto(l[i].IdProducto); ProductoCant pcan = new ProductoCant(); pcan.IdProducto = p.IdProducto; pcan.CodigoProd = p.CodigoProd; pcan.Nombre = p.Nombre; pcan.CanAtender = l.ElementAt(i).Cantidad.ToString(); lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); } else { if (string.Compare(mot, "Abastecimiento", true) == 0) { List<ProductoCant> psa = new List<ProductoCant>(); ProductoxSolicitudAbSQL pasql = new ProductoxSolicitudAbSQL(); psa = pasql.ListaProductos(SelectedSolicitud.idSolicitudAB.ToString()); List<ProductoCant> lpcan = new List<ProductoCant>(); for (int i = 0; i < psa.Count; i++) { ProductoCant pcan = new ProductoCant(); pcan.IdProducto = psa.ElementAt(i).IdProducto; pcan.Can = psa.ElementAt(i).Can; pcan.CodigoProd = psa.ElementAt(i).CodigoProd; pcan.Nombre = psa.ElementAt(i).Nombre; pcan.CanAtend = "0"; pcan.CanAtender = psa.ElementAt(i).CanAtend; pcan.Ubicaciones = new List<Ubicacion>(); lpcan.Add(pcan); } LstProductos = new List<ProductoCant>(lpcan); } } NotifyOfPropertyChange(() => LstProductos); EstadoMot = false; Estado = false; }
public void AgregarDetalle() { if (String.IsNullOrEmpty(TxtProducto)) { MessageBox.Show("No ha ingresado ningún producto", "AVISO", MessageBoxButton.OK, MessageBoxImage.Error); return; } DetalleVentaSQL dvsql = new DetalleVentaSQL(); Producto p = dvsql.Buscar(TxtProducto,idTienda); if (p == null) { return; } Evaluador ev = new Evaluador(); int nuevo = 1; int cant; List<DetalleVenta> aux = new List<DetalleVenta>(); foreach (DetalleVenta item in LstVenta) { if (item.IdProducto == p.IdProducto) { if (ev.esNumeroEntero(TxtCantidad) && ev.esPositivo(Convert.ToInt32(TxtCantidad))) item.Cantidad += Int32.Parse(TxtCantidad); else { MessageBox.Show("Tiene que poner una cantidad"); return; } item.SubTotal = item.Cantidad * p.Precio; //item.Descuento += CalculaDescuento(p.IdProducto, item.Cantidad); desc = 0;// item.Descuento; //TxtDescuentoTotal = desc.ToString(); total += Math.Round(Int32.Parse(TxtCantidad) * p.Precio, 2); TxtTotal = total.ToString(); subt = Math.Round(total / (1 + IGV), 2); TxtSubTotal = subt.ToString(); igv_total = Math.Round(subt * IGV, 2); TxtIGVTotal = igv_total.ToString(); TxtPagaCon = txtPagaCon; nuevo = 0; } aux.Add(item); } if (nuevo == 1) { DetalleVenta dv = new DetalleVenta(); dv.IdProducto = p.IdProducto; dv.CodProducto = p.CodigoProd; dv.Descripcion = p.Nombre; dv.Unidad = p.UnidadMedida; dv.Precio = p.Precio; if (ev.esNumeroEntero(TxtCantidad)) cant = Int32.Parse(TxtCantidad); else { MessageBox.Show("Tiene que poner una cantidad"); return; } dv.Descuento = CalculaDescuento(p.IdProducto,cant); dv.SubTotal = p.Precio * cant; dv.Cantidad = cant; aux.Add(dv); ActualizaCampos(dv,1); } LstVenta = aux; TxtCantidad = ""; }
public int AnularVentaTienda(Venta v) { int k = 0; db.cmd.CommandText = "UPDATE Venta SET estado=0 WHERE idVenta = @idVenta"; db.cmd.Parameters.AddWithValue("@idVenta", v.IdVenta); try { if (tipo) db.conn.Open(); k = db.cmd.ExecuteNonQuery(); db.cmd.Parameters.Clear(); if (tipo) db.conn.Close(); } catch (SqlException e) { MessageBox.Show(e.Message); } if (k != 0) { //devolver el detalle de la venta a la tienda DetalleVentaSQL dvsql = new DetalleVentaSQL(db); List<DetalleVenta> detalle = dvsql.BuscarTodos(v.IdVenta); foreach (DetalleVenta dv in detalle) { descontarDeSector(v, dv, 2); } } return k; }
public int Agregar(Venta v) { int k = 0; db.cmd.CommandText = "INSERT INTO Venta(monto,descuento,IGV,ptosGanados,estado,idCliente,tipoVenta,fechaReg,tipoDocPago,idUsuario,codTarjeta)" + "OUTPUT INSERTED.idVenta VALUES (@monto,@descuento,@IGV,@ptsGanados,@estado,@idCliente,@tipoVenta,@fechaReg,@tipoDocPago,@idUsuario,@codTarjeta)"; //db.cmd.Parameters.AddWithValue("@numDocPago", v.NumDocPago); db.cmd.Parameters.AddWithValue("@tipoDocPago", v.TipoDocPago); db.cmd.Parameters.AddWithValue("@monto", v.Monto); db.cmd.Parameters.AddWithValue("@descuento", v.Descuento); db.cmd.Parameters.AddWithValue("@IGV", v.Igv); db.cmd.Parameters.AddWithValue("@ptsGanados", v.PtosGanados); db.cmd.Parameters.AddWithValue("@fechaReg", v.FechaReg); db.cmd.Parameters.AddWithValue("@estado", v.Estado); db.cmd.Parameters.AddWithValue("@idUsuario", v.IdUsuario); db.cmd.Parameters.AddWithValue("@idCliente", v.IdCliente); db.cmd.Parameters.AddWithValue("@tipoVenta", v.TipoVenta); db.cmd.Parameters.AddWithValue("@codTarjeta", v.CodTarjeta); try { if (tipo) db.conn.Open(); k = (int)db.cmd.ExecuteScalar(); v.IdVenta = k; if (tipo) db.conn.Close(); db.cmd.Parameters.Clear(); //guardar el detalle de la venta DetalleVentaSQL dvm = new DetalleVentaSQL(db); foreach (DetalleVenta dv in v.LstDetalle) { dvm.Agregar(v,dv); descontarDeSector(v,dv); } foreach (VentaPago vp in v.LstPagos) { AgregarPagoVenta(v, vp); } //agregar numDocPagoProducto v.NumDocPago = SacaNumDocPago(v,1); actualizaNumDocProductos(v); foreach (VentaPago vp in v.LstPagos) { AgregarPagoVenta(v, vp); } if (v.LstDetalleServicio.Count() > 0) { foreach (DetalleVentaServicio item in v.LstDetalleServicio) { dvm.AgregarServicios(v, item); } //agregar numDocPagoServicio v.NumDocPagoServicio = SacaNumDocPago(v,2); actualizaNumDocServicios(v); } } catch (SqlException e) { MessageBox.Show(e.StackTrace.ToString()); } return k; }
public void RefrescarOrden() { Usuario u = getUsuariofromID(Orden.Venta.IdUsuario); Cliente c = getClientefromID(Orden.Venta.IdCliente); Tienda a = new GuiaDeRemisionSQL().BuscarTIENfromID(u.IdTienda); Almacenes alm = new GuiaDeRemisionSQL().BuscarALMDEPfromIdTienda(u.IdTienda); tiendaOrigen = a.Nombre; TxtAlmacenOrigen = alm.Nombre; TxtDirPartida = a.Direccion; TxtDirLlegada = Orden.Direccion; TxtTienda = c.RazonSocial; List<DetalleVenta> l = new DetalleVentaSQL().BuscarTodos(); List<GuiaRemxProducto> lAux = new List<GuiaRemxProducto>(); int cantTotal = 0; for (int i = 0; i < l.Count; i++) if (l[i].IdDetalleV == Orden.Venta.IdVenta) { GuiaRemxProducto gp = new GuiaRemxProducto(); Producto p = new ProductoSQL().Buscar_por_CodigoProducto(l[i].IdProducto); gp.CodProd = p.CodigoProd; gp.Nombre = p.Nombre; gp.Cantidad = l[i].Cantidad; cantTotal += l[i].Cantidad; lAux.Add(gp); } LstProductos = new List<GuiaRemxProducto>(lAux); TxtCantidad = cantTotal; }