Пример #1
0
        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;
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
 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;
     }
 }
Пример #7
0
        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);
        }
Пример #8
0
        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();
            }
        }
Пример #9
0
 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;
     }
 }
Пример #10
0
        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;
            }
        }
Пример #11
0
 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;
     }
 }
Пример #12
0
 private void cargarCamposConItem(Item_Factura it)
 {
     txtItemNro.Text       = it.id.ToString();
     txtItemCantidad.Value = it.cantidad;
     txtItemMonto.Text     = (it.monto / it.cantidad).ToString();
 }
Пример #13
0
        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();
        }