private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            Boolean modificado = false;
            string codigo = this.dataGridView1.SelectedCells[0].Value.ToString();

            if (origen == "frmUpPedido")
            {

                if (frmuppedido.dtdetalle.Rows.Count >= 1)
                {

                    int cantidadnueva = 0;
                    foreach (DataRow row in frmuppedido.dtdetalle.Rows)
                    {
                        string codigodetalle = row[0].ToString();
                        if (codigodetalle == codigo)
                        {
                            int pedidodetalle = int.Parse(row[4].ToString());

                            Double cantidad = Double.Parse(row[3].ToString());
                            int cantidad2 = int.Parse(cantidad.ToString());

                            row[3] = cantidad2 + 1;
                            if (blped.updetallepedido(pedidodetalle, int.Parse(row[3].ToString())))
                            {
                                MessageBox.Show(
                                    "Se agrego una cantidad detalle pedido debido a que el item que sea agregar ya existe");
                                modificado = true;

                            }
                            else
                            {

                                MessageBox.Show("No se pudo actualizar la cantidad, Comunicarse con el administrador del sistema");
                                this.Close();
                            }

                        //    row[3] = int.Parse(row[3].ToString()) + 1;
                        //    cantidadnueva = int.Parse(row[3].ToString());
                        //    modificado = true;
                        }

                    }

                    if (modificado == false)
                    {

                        int codigoProducto = pb.obteneridproducto(codigo);
                        decimal precio = decimal.Parse(this.dataGridView1.SelectedCells[2].Value.ToString());

                        PedidoDetalleBE pedidoDetalleBE = new PedidoDetalleBE();
                        pedidoDetalleBE.idproducto = codigoProducto;
                        pedidoDetalleBE.IdPedido = frmuppedido.ped.PKID;
                        pedidoDetalleBE.cantidad = 1;
                        pedidoDetalleBE.observacion ="Ingresado en la Modificacion del pedido" ;
                        pedidoDetalleBE.total = precio;

                        if (blped.inserdetpedido(pedidoDetalleBE))
                        {
                            MessageBox.Show(
                       "Se agrego una detalle al pedido");

                        }

                        //frmpedido.dtdetalle.Rows.Add(codigo,
                        //           this.dataGridView1.SelectedCells[1].Value.ToString(),
                        //           Double.Parse(this.dataGridView1.SelectedCells[2].Value.ToString()),
                        //           1);

                    }
                }
                 frmuppedido.actualizarDetalle();
                 frmuppedido.actualizarmontos();
                 this.Close();

            }
            else if (origen == "frmPedido")
            {

                if (frmpedido.dtdetalle.Rows.Count >= 1)
                {

                    foreach (DataRow row in frmpedido.dtdetalle.Rows)
                    {
                        String codigodetalle = row[0].ToString();
                        if (codigodetalle == codigo)
                        {
                            row[3] = int.Parse(row[3].ToString()) + 1;
                            modificado = true;
                        }

                    }

                }

                if (modificado == true)
                {
                    MessageBox.Show("Se Agregara una cantidad al producto");
                }
                else
                {
                    if (frmpedido.Name == "frmPedido")
                    {

                        frmpedido.dtdetalle.Rows.Add(codigo,
                                   this.dataGridView1.SelectedCells[1].Value.ToString(),
                                   Double.Parse(this.dataGridView1.SelectedCells[2].Value.ToString()),
                                   1);

                    }

                   }

                frmpedido.actualizarDetalle();
                frmpedido.actualizarmontos();

            }

            this.Close();
              //     this.Close();

            //frmpedido.dtgDetalleProd.DataSource = null;
            //frmpedido.dtgDetalleProd.DataSource = frmpedido.dtDetPedido;

            //foreach (DataGridViewRow row in frmpedido.dtgDetalleProd.Rows) ;

               // double resultado = 0;
            //double total1 = 0;

            /*foreach (DataGridViewRow row in frmpedido.dtgDetalleProd.Rows)
            {
                resultado = (Convert.ToDouble(row.Cells["preciounitario"].Value) * Convert.ToDouble(row.Cells["cantidad"].Value));
                row.Cells["total"].Value = resultado;
                total1 += Convert.ToDouble(row.Cells["total"].Value);

                frmpedido.txtafecto.Text = Convert.ToString(total1);
                frmpedido.txtimpuesto.Text = Convert.ToString(total1 * 0.18);
                frmpedido.txttotal.Text = Convert.ToString((total1 * 0.18) + total1);

            }*/
        }
Пример #2
0
 public Boolean inserdetpedido(PedidoDetalleBE be)
 {
     return pd.insertDetallePedido(be);
 }
Пример #3
0
        public Boolean insertDetallePedido(PedidoDetalleBE be)
        {
            String con = app.Default.Setting;

            using (SqlConnection connection = new SqlConnection(con))
            {
                connection.Open();
                SqlCommand command = connection.CreateCommand();
                SqlTransaction transaction;

                // Start a local transaction.
                transaction = connection.BeginTransaction("SampleTransaction");

                // Must assign both transaction object and connection
                // to Command object for a pending local transaction
                command.Connection = connection;
                command.Transaction = transaction;

                try
                {

                    command.CommandText =
                                 "sp_vt_insertdetpedido";
                    command.CommandType = CommandType.StoredProcedure;

                    command.Parameters.Clear();
                    command.Parameters.Add(
                   new SqlParameter("@idproducto", be.idproducto));
                    command.Parameters.Add(
              new SqlParameter("@cantidad", be.cantidad));
                    command.Parameters.Add(
             new SqlParameter("@precio", be.total));
                    command.Parameters.Add(
              new SqlParameter("@observacion", be.observacion));
                    command.Parameters.Add(
              new SqlParameter("@IdPedido", be.IdPedido));

                    command.ExecuteNonQuery();

                    // Attempt to commit the transaction.
                    transaction.Commit();

                    return true;

                }
                catch (Exception)
                {
                    return false;

                }

            }

            return true;
        }