public Compra_Productos(object compra) { InitializeComponent(); c = (Compra)compra; txt_num_factura.Text = c.Numero_factura; txt_proveedor.Text = c.Dato; txt_tipo.Text = c.Tipo; date_fecha.Value = c.Fecha_factura; date_vencimiento.Value = c.Fecha_vencimiento; txt_estado.Text = c.Estado; // txt_estado.Font.Style = Color.Red; listacarrito = DatosCompra_Producto.getCompra_Producto(c.Id_compra); bdd_carrito.DataSource = listacarrito; for (int x = 0; x < listacarrito.Count; x++) { abonar = ((Compra_Producto)listacarrito[x]).Precio * ((Compra_Producto)listacarrito[x]).Cantidad; string total = (abonar + Convert.ToDecimal(txt_total.Text)).ToString(); txt_total.Text = (Convert.ToDecimal(Math.Round(Convert.ToDecimal(total), 2))).ToString(); bdd_carrito[10, x].Value = abonar; } if (c.Estado == "Debe"){ btn_pagar.Enabled = true; } txt_total_pesos.Text = c.Importe.ToString(); }
public static ArrayList getCompras_entre_fechas(DateTime desde, DateTime hasta) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //creo la lista para almacenar las personas ArrayList listacompra = new ArrayList(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("select c.id_compra, c.id_proveedor, c.fecha, c.fecha_factura, c.fecha_vencimiento, c.tipo, c.numero_factura, c.estado, c.importe, p.nombre from compra c, proveedor p where p.id_proveedor = c.id_proveedor and c.fecha between @desde and @hasta order by c.id_compra"); cmd.Parameters.Add(new SqlParameter("@desde", desde)); cmd.Parameters.Add(new SqlParameter("@hasta", hasta)); //asigno la conexion al comando cmd.Connection = cnn; //creo el datareader SqlDataReader obdr = cmd.ExecuteReader(); //recorro el datareader while (obdr.Read()) { Proveedor p = new Proveedor(); p.Nombre = obdr.GetString(9); Compra c = new Compra(obdr.GetInt64(0), obdr.GetInt64(1), obdr.GetDateTime(2), obdr.GetDateTime(3), obdr.GetDateTime(4), obdr.GetString(5), obdr.GetString(6), obdr.GetString(7), Convert.ToDecimal(Math.Round(obdr.GetDecimal(8), 2))); c.Proveedor = p; c.Dato = obdr.GetString(9); listacompra.Add(c); } //Cierro la conexion cnn.Close(); //retorno la lsita return listacompra; }
//inicia cuando se aprenta el botón guardar private void btn_no_imprimir_Click(object sender, EventArgs e) { bool continuar = true; //verifica si la facura esta vacia if (txt_num_factura.Text == "" || txt_num_factura.Text == " ") { DialogResult dr = MessageBox.Show(this, "No se ha introducido un número de factura, ¿desea continuar?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { continuar = true; } if (dr == DialogResult.No) { continuar = false; } } //continua si se habilita por el usuarui if (continuar == true) { if (listacarrito.Count > 0 || listacarrito_nuevo.Count > 0) { // verifico si el cliente es nuevo if (cbox_proveedor.SelectedItem == null) { Pais pa = new Pais(); Proveedor pro = new Proveedor(cbox_proveedor.Text, " ", " ", " ", " ", DatosPais.obtener_id_pais_maximo(), 0, " ", pa); DatosProveedor.NuevoProveedor(pro); id_proveedor = DatosProveedor.obtener_id_proveedor_maximo(); } //verifico si hay un cliente seleccionado en el cbox_cliente else { id_proveedor = ((Proveedor)cbox_proveedor.SelectedItem).Id_proveedor; } Int64 id_compra; string tipo; string estado; if (cbox_tipo_factura.SelectedIndex == 0) { tipo = "Contado"; estado = "Pago"; } else { tipo = "Credito"; estado = "Debe"; } Compra c = new Compra(0, id_proveedor, DateTime.Today, date_fecha.Value, date_vencimiento.Value, tipo, txt_num_factura.Text, estado, Convert.ToDecimal(txt_pesos.Text)); DatosCompra.NuevaCompra(c); // obtengo el id max de venta try { id_compra = DatosCompra.obtener_id_compra(); } catch { id_compra = 0; } //recorre el array de carrito para registrar la compra en la base de datos, también modifica el stock del producto for (int i = 0; i < listacarrito.Count; i++) { Compra_Producto cp = new Compra_Producto(0, id_compra, ((Producto)listacarrito[i]).Id_producto, ((Producto)listacarrito[i]).Precio_unidad, ((Producto)listacarrito[i]).Stock); DatosCompra_Producto.NuevaCompraProducto(cp); for (Int32 h = 0; h < listaInicial.Count; h++) { if (((Producto)listacarrito[i]).Id_producto == ((Producto)listainicial2[h]).Id_producto) { ((Producto)listacarrito[i]).Stock = ((Producto)listainicial2[h]).Stock + ((Producto)listacarrito[i]).Stock; DatosProducto.ModificarProducto((Producto)listacarrito[i]); } } } for (int i = 0; i < listacarrito_nuevo.Count; i++) { DatosProducto.NuevoProducto((Producto)listacarrito_nuevo[i]); Int64 id_producto = DatosProducto.obtener_idMax_producto(); Compra_Producto cp = new Compra_Producto(0, id_compra, id_producto, ((Producto)listacarrito_nuevo[i]).Precio_unidad, ((Producto)listacarrito_nuevo[i]).Stock); DatosCompra_Producto.NuevaCompraProducto(cp); } this.Close(); } else { MessageBox.Show(this, "No hay items para dar de alta", "¡Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txt_codigo2.Focus(); } } /*else { txt_num_factura.Focus(); }*/ }
public static void NuevaCompra(Compra c) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("insert into compra(id_proveedor, fecha, importe, fecha_vencimiento, fecha_factura, tipo, estado, numero_factura) Values (@id_proveedor, @fecha,@importe, @fecha_vencimiento, @fecha_factura, @tipo, @estado, @numero_factura)"); cmd.Parameters.Add(new SqlParameter("@id_proveedor", c.Id_proveedor)); cmd.Parameters.Add(new SqlParameter("@fecha", c.Fecha)); cmd.Parameters.Add(new SqlParameter("@importe", c.Importe)); cmd.Parameters.Add(new SqlParameter("@fecha_vencimiento", c.Fecha_vencimiento)); cmd.Parameters.Add(new SqlParameter("@fecha_factura", c.Fecha_factura)); cmd.Parameters.Add(new SqlParameter("@tipo", c.Tipo)); cmd.Parameters.Add(new SqlParameter("@estado", c.Estado)); cmd.Parameters.Add(new SqlParameter("@numero_factura", c.Numero_factura)); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); }
public static void ModificaCompraPagarDeuda(Compra c) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("update compra set estado=@estado where id_compra = @id_compra"); cmd.Parameters.Add(new SqlParameter("@id_compra", c.Id_compra)); cmd.Parameters.Add(new SqlParameter("@estado", "Pago")); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); }