private void btnGuardarItem_Click(object sender, EventArgs e) { if (txtFacturaNumero.Text != "" && txtItemNro.Text != "" && txtItemCantidad.Value != 0 && txtItemMonto.Text != "") { if (txtItemCantidad.Value == 0) { MessageBox.Show("No se puede almacenar items con cantidad nula", "PagoAgilFrba | ABM Factura", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } double monto = double.Parse(txtItemMonto.Text.ToString()); if (monto == 0) { MessageBox.Show("No se puede almacenar items con monto nulo", "PagoAgilFrba | ABM Factura", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int cantidad = int.Parse(txtItemCantidad.Text.ToString()); Item_Factura modificado = new Item_Factura( int.Parse(txtItemNro.Text.ToString()), monto * cantidad, cantidad, factura); modificarItemLocal(modificado); actualizarListItems(); cambio = true; } }
public static List <Item_Factura> obtener_items_factura(Factura factura) { List <Item_Factura> items = new List <Item_Factura>(); string query = string.Format(@"SELECT ItemFactura_codigo, ItemFactura_cantidad, ItemFactura_monto FROM LORDS_OF_THE_STRINGS_V2.Item_Factura WHERE ItemFactura_Factura = @idFactura;"); SqlConnection conn = DBConnection.getConnection(); SqlCommand command = new SqlCommand(query, conn); //command.Parameters.AddWithValue("@idFactura", factura.id.ToString()); command.Parameters.Add("@idFactura", SqlDbType.Int); command.Parameters["@idFactura"].Value = factura.id; command.CommandType = System.Data.CommandType.Text; SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int id = int.Parse(reader.GetValue(0).ToString()); int cantidad = int.Parse(reader.GetValue(1).ToString()); double monto = double.Parse(reader.GetValue(2).ToString()); Item_Factura it = new Item_Factura(id, monto, cantidad, factura); items.Add(it); } reader.Close(); reader.Dispose(); command.Dispose(); conn.Close(); conn.Dispose(); return(items); }
public static bool agregarItemFactura(Item_Factura item_factura, int factura_id) { try { string consulta = string.Format(@"INSERT INTO JARDCOUD.Item_Factura VALUES (@oferta_id, @factura_id, @importe, @cantidad)"); SqlConnection conn = ConexionBD.getConexion(); SqlCommand cmd = new SqlCommand(consulta, conn); cmd.Parameters.AddWithValue("@oferta_id", item_factura.oferta.id); cmd.Parameters.AddWithValue("@factura_id", factura_id); cmd.Parameters.AddWithValue("@importe", item_factura.importe); cmd.Parameters.AddWithValue("@cantidad", item_factura.cantidad); cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close(); conn.Dispose(); return(true); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error al agregar ItemFactura"); return(false); } }
private void botonGenerar_Click(object sender, EventArgs e) { var filas = dataGrid.SelectedRows; using (var context = new GD2C2018Entities()) { foreach (DataGridViewRow row in filas) { var compra = row.DataBoundItem as CompraModel; var factura = GetFactura(compra.PublicacionID, context); var compraReal = GetCompra(compra.ID, context); Item_Factura item = new Item_Factura { Item_Factura_Cantidad = compra.Cantidad, Item_Factura_Compra = compra.ID, Item_Factura_Descripcion = "Comision por compra", Item_Factura_Factura = factura.Factura_Nro, Item_Factura_Monto = compra.Total }; context.Entry(item).State = System.Data.Entity.EntityState.Added; compraReal.Compra_Facturada = true; factura.Factura_Total += compra.Total; context.Entry(compraReal).State = System.Data.Entity.EntityState.Modified; context.Entry(factura).State = System.Data.Entity.EntityState.Modified; compraModelBindingSource.Remove(compra); } context.SaveChanges(); MessageBox.Show("Puede verlas con el botón 'Ver Facturas'", "Facturas generadas", MessageBoxButtons.OK); } }
private void modificarItemLocal(Item_Factura modificado) { foreach (Item_Factura it in factura.items) { if (modificado.id == it.id) { it.monto = modificado.monto; it.cantidad = modificado.cantidad; } } }
public int save(Item_Factura itemFactura) { try { return(this.daoItemFactura.save(itemFactura)); } catch (Exception ex) { throw ex; } }
private List <Item_Factura> itemsEnGrid() { List <Item_Factura> ret = new List <Item_Factura>(); foreach (DataGridViewRow fila in dataGridItems.Rows) { int idItem = int.Parse(fila.Cells[0].Value.ToString()); double montoItem = double.Parse(fila.Cells[2].Value.ToString()); int cantidadItem = int.Parse(fila.Cells[1].Value.ToString()); Item_Factura it = new Item_Factura( idItem, montoItem, cantidadItem, facturaSelectedBM ); ret.Add(it); } return(ret); }
private void btnGenerar_Click(object sender, EventArgs e) { if (dgvOfertas.RowCount != 0) { double total_facturacion = 0; List <Item_Factura> items = new List <Item_Factura> { }; foreach (DataGridViewRow row in dgvOfertas.Rows) { Item_Factura item = new Item_Factura(); item.oferta = new Oferta() { id = Int32.Parse(row.Cells[0].Value.ToString()) }; item.importe = Double.Parse(row.Cells[5].Value.ToString()); item.cantidad = Int32.Parse(row.Cells[4].Value.ToString()); total_facturacion += Double.Parse(row.Cells[5].Value.ToString()); items.Add(item); } Factura factura = new Factura(); factura.total = total_facturacion; factura.numero = this.obtenerNumeroFacturacionAleatorio(); factura.proveedor = proveedor; factura.fecha = FechaAplicacion.get(); if (FacturacionFacadeDAO.agregarFacturacion(factura, items)) { (new Facturacion(this, factura)).ShowDialog(); } else { MessageBox.Show("Error al agragar Facturación"); } } else { MessageBox.Show("No se encontraron ofertas"); this.Close(); } }
public int save(Item_Factura itemFactura) { try { return(this.spExecuteScalar("ESECUELE.saveItemFactura", new List <SqlParameter>() { new SqlParameter("@factura", itemFactura.facturaId), new SqlParameter("@monto", itemFactura.monto), new SqlParameter("@descripcion", itemFactura.descripcion), new SqlParameter("@cantidad", itemFactura.cantidad), new SqlParameter("@entrada", itemFactura.entrada), new SqlParameter("@comision", itemFactura.comision) })); } catch (Exception ex) { throw ex; } }
public void comisionar(int cantidad, int empresa) { try { List <Compra> compras = this.getComprasComision(cantidad, empresa); foreach (Compra compra in compras) { Factura factura = new Factura(); factura.fecha = Utils.Utilities.getCurrentDate(); factura.empresa = compras[0].publicacion.Empresa.Id; factura.estado = 1; factura.formaPago = 1; factura.id = this.facturaService.save(factura); decimal total = 0; decimal totalComision = 0; foreach (Entrada entrada in compra.entradas) { Item_Factura itemFactura = new Item_Factura(); itemFactura.facturaId = factura.id; itemFactura.monto = (decimal)entrada.Precio; total += itemFactura.monto; itemFactura.descripcion = "Comisiones por compras."; itemFactura.cantidad = 1; itemFactura.entrada = entrada.Id; itemFactura.comision = (itemFactura.monto) * ((decimal)compra.publicacion.Grado.comision); itemFactura.id = this.itemFacturaService.save(itemFactura); totalComision += itemFactura.comision; entrada.facturada = true; this.entradaService.update(entrada); } factura.total = total; factura.totalComision = totalComision; this.facturaService.update(factura); } } catch (Exception ex) { throw ex; } }
private void btnGenerarItem_Click(object sender, EventArgs e) { if (txtNuevoCantidad.Value != 0 && txtNuevoMonto.Text != "") { double monto = double.Parse(txtNuevoMonto.Text.ToString()); if (monto <= 0) { MessageBox.Show("No es posible generar items con montos nulos", "PagoAgilFrba | ABM Factura", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int cantidad = int.Parse(txtNuevoCantidad.Value.ToString()); Item_Factura nuevo = new Item_Factura( obtenerIDNuevo(), monto * cantidad, cantidad, factura); nuevo.nuevo = true; factura.items.Add(nuevo); actualizarListItems(); txtNuevoMonto.Text = ""; txtNuevoCantidad.Value = 1; cambio = true; } }
private void cargarCamposConItem(Item_Factura it) { txtItemNro.Text = it.id.ToString(); txtItemCantidad.Value = it.cantidad; txtItemMonto.Text = (it.monto / it.cantidad).ToString(); }
private void facturarPublicaciones() { //de acuerdo a la cantidad de publicaciones que el usuario quiere rendir, se llena una lista auxiliar con las mismas for (var a = 0; a <= (Convert.ToInt32(txtCantidad.Text) - 1); a++) { listaDePublicacionesARendir.Add(listaDePublicacionesAFacturar[a]); } foreach (Publicacion unaPublicacion in listaDePublicacionesARendir) { //por cada publicacion de la lista, se obtienen las compras que se realizaron de las mismas // y se las convierte en objeto y se las guarda en una lista DataSet ds = Compra.obtenerComprasPorCodPublicacion(unaPublicacion.Codigo); foreach (DataRow dr in ds.Tables[0].Rows) { Compra unaCompra = new Compra(); unaCompra.DataRowToObject(dr); listaDeComprasPorCodPublicacion.Add(unaCompra); } foreach (Compra unaCompra in listaDeComprasPorCodPublicacion) { //cada compra que se realizo de esa publicacion va a ser un nuevo item en la factura Item_Factura itFact = new Item_Factura(); itFact.Publicacion = unaPublicacion; itFact.Cantidad = unaCompra.Cantidad; //el monto del item (comisión) corresponde al precio de esa publicación por el porcentaje //visibilidad por la cantidad de compras que se hicieron itFact.Monto = (unaPublicacion.Precio * unaPublicacion.Visibilidad.Porcentaje) * unaCompra.Cantidad; listaDeItemsPorFactura.Add(itFact); } DataSet dsOferta = Oferta.obtenerOfertasPorCodPublicacion(unaPublicacion.Codigo); foreach (DataRow dr in dsOferta.Tables[0].Rows) { Oferta unaOferta = new Oferta(); unaOferta.DataRowToObject(dr); listaDeOfertasPorCodPublicacion.Add(unaOferta); } foreach (Oferta unaOferta in listaDeOfertasPorCodPublicacion) { //cada oferta que se realizó de esa publicacion y gano la subasta //va a ser un nuevo item en la factura Item_Factura itFact = new Item_Factura(); itFact.Publicacion = unaPublicacion; itFact.Cantidad = 1; //el monto del item (comisión) corresponde al monto de esa subasta ganada por el porcentaje de visibilidad itFact.Monto = (unaOferta.Monto * unaPublicacion.Visibilidad.Porcentaje); listaDeItemsPorFactura.Add(itFact); } //el último item factura es el de la publicación en si misma según su costo de visibilidad Item_Factura itemPublicacion = new Item_Factura(); itemPublicacion.Publicacion = unaPublicacion; itemPublicacion.Monto = unaPublicacion.Visibilidad.Precio; itemPublicacion.Cantidad = 1; listaDeItemsPorFactura.Add(itemPublicacion); listaDeComprasPorCodPublicacion.Clear(); listaDeOfertasPorCodPublicacion.Clear(); } armarFactura(); }