Exemple #1
0
        private void btnOkPrecio_Click(object sender, EventArgs e)
        {
            long     idProducto = long.Parse(dgvProductos.SelectedRows[0].Cells["Id"].Value.ToString());
            Producto producto   = new Producto()
            {
                Id = idProducto
            };

            PrecioProducto precio = new PrecioProducto()
            {
                Id            = extras.GetPrecioProducto_Id() + 1,
                IdProducto    = producto.Id,
                IdProveedor   = extras.GetId(cmbProveedor.SelectedItem.ToString()),
                Fecha         = DateTime.Today.ToString("yyyy-MM-dd"),
                Precio        = decimal.Parse(txtPrecioUnitario.Text),
                Iva           = decimal.Parse(txtAlicuotaIva.Text),
                PrecioTotal   = decimal.Parse(txtTotal.Text),
                Observaciones = ""
            };

            extras.AddPrecioProducto(precio);

            SetTable_Precios(producto);

            panelPrecio.Visible = false;
        }
Exemple #2
0
        private void btnSeleccionarPedido_Click(object sender, EventArgs e)
        {
            if (dgvPedidos.SelectedRows.Count != 0)
            {
                Controles_PedidoSeleccionado();

                dgvContenido.Rows.Clear();

                long   idPedido = long.Parse(dgvPedidos.SelectedRows[0].Cells["Id"].Value.ToString());
                Pedido pedido   = new Pedido()
                {
                    Id = idPedido
                };

                List <LineaPedido> list = extras.GetLineasPedido(pedido);

                decimal totalSinIva = 0;
                decimal totalConIva = 0;

                if (list.Count != 0)
                {
                    foreach (LineaPedido linea in list)
                    {
                        Producto producto = new Producto()
                        {
                            Id = linea.IdProducto
                        };
                        producto = extras.GetProducto(producto);

                        PrecioProducto precio = extras.GetProducto_UltimoPrecio(producto);

                        //decimal subtotal = decimal.Round(linea.KilosPedidos * precio.Precio);
                        //decimal iva = decimal.Round(subtotal * precio.Iva, 2);

                        //dgvContenido.Rows.Add(linea.Id, producto.Id + ". " + producto.Nombre, linea.KilosPedidos, precio.Precio, subtotal, precio.Iva, iva, (subtotal + iva));

                        //totalSinIva += subtotal;
                        //totalConIva += (subtotal + iva);
                    }

                    txtTotalSinIva.Text = decimal.Round(totalSinIva, 2).ToString();
                    txtTotalConIva.Text = decimal.Round(totalConIva, 2).ToString();
                }
            }
        }
        private void dgvContenido_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvContenido.SelectedRows.Count != 0)
            {
                DataGridViewRow row = dgvContenido.SelectedRows[0];

                if (row.Cells["cProducto"].Value.ToString() != "")
                {
                    Producto producto = new Producto()
                    {
                        Id = extras.GetId(row.Cells["cProducto"].Value.ToString())
                    };
                    PrecioProducto precio = extras.GetProducto_UltimoPrecio(producto);

                    bool hayprecio = bool.Parse(row.Cells["cHayPrecio"].Value.ToString());

                    decimal precioUnitario = 0;

                    if (precio != null)
                    {
                        if (!hayprecio)
                        {
                            precioUnitario = precio.Precio;
                            row.Cells["cPrecioUnitario"].Value = decimal.Round(precioUnitario, 2);
                            row.Cells["cAlicuotaIva"].Value    = precio.Iva;
                            row.Cells["cHayPrecio"].Value      = "true";
                        }
                    }
                    else
                    {
                        if (!hayprecio)
                        {
                            precio = new PrecioProducto();

                            precioUnitario = 0;
                            row.Cells["cPrecioUnitario"].Value = decimal.Round(precioUnitario, 2);

                            precio.Iva = 0.21m;


                            row.Cells["cHayPrecio"].Value = "true";
                        }
                        else
                        {
                            decimal.TryParse(row.Cells["cPrecioUnitario"].Value.ToString(), out precioUnitario);
                        }
                    }

                    decimal cantidad = 0;
                    decimal.TryParse(row.Cells["cCantidad"].Value.ToString(), out cantidad);

                    decimal subtotal = decimal.Round(cantidad * precioUnitario, 2);

                    row.Cells["cSubtotal"].Value = subtotal;

                    decimal alicuotaIva = 0.21m;
                    decimal.TryParse(row.Cells["cAlicuotaIva"].Value.ToString(), out alicuotaIva);
                    //row.Cells["cAlicuotaIva"].Value = precio.Iva;

                    decimal iva = decimal.Round((subtotal * alicuotaIva), 2);
                    row.Cells["cIVA"].Value = iva;

                    row.Cells["cTotal"].Value = (subtotal + iva);

                    //if (ultimoPrecio <= 0)
                    //{
                    //    row.Cells["cPrecioUnitario"].Value = decimal.Round(0, 2);
                    //    row.Cells["cSubtotal"].Value = decimal.Round(0, 2);
                    //    row.Cells["cAlicuotaIva"].Value = decimal.Round(21, 2);
                    //    row.Cells["cIVA"].Value = decimal.Round(0, 2);
                    //    row.Cells["cTotal"].Value = decimal.Round(0, 2);
                    //}


                    txtTotalSinIva.Text = row.Cells["cSubtotal"].Value.ToString();
                    txtTotalConIva.Text = row.Cells["cTotal"].Value.ToString();
                }
            }
        }