Exemple #1
0
        // CARGO LOS ALBARANES
        public ArrayList cargarAlbaranes()
        {
            ArrayList albaranes = new ArrayList();

            cmd = new SqlCommand("SELECT * FROM Albaranes", conn);
            dr  = cmd.ExecuteReader();

            //SI TIENE FILAS LEELO
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Albaran albaran = new Albaran(dr.GetInt32(0), dr.GetDateTime(1), dr.GetInt32(2), dr.GetString(3), dr.GetDouble(4), dr.GetDouble(5));
                    albaranes.Add(albaran);
                }
            }
            dr.Close();
            return(albaranes);
        }
Exemple #2
0
        // CONSTRUCTOR PARA MODIFICAR LINEAS
        public CreacionAlbaran(Albaran albaran, String cliente)
        {
            InitializeComponent();
            conexion = new Conexion();

            //PONGO VALOR AL ALBARAN
            alModificar = albaran;

            lineasArray            = conexion.cargarLineasAlbaran(albaran.getIdAlbaran().ToString());
            this.lineasNuevasArray = new ArrayList();

            //OCULTO COMPONENTES DE INSERTAR
            this.cbElegirClientes.Visible = false;
            this.lblNumeroAlbaran.Text    = albaran.getIdAlbaran().ToString();
            this.btnBorrarLinea.Dispose();
            this.btnGuardarAlbaran.Dispose();
            this.txtImporte.Text = albaran.getSubtotal().ToString() + "€";
            String[] quitoEuro = this.txtImporte.Text.Split('€');

            //PONGO EL IMPORTE TOTAL Y CARGO LAS LINEAS
            totalImporte = Convert.ToDouble(quitoEuro[0].Trim());
            cargarLineasLV();

            // CREACION LABEL
            Label lnDni = new Label();

            lnDni.Font     = new System.Drawing.Font("Times New Roman", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            lnDni.Location = new System.Drawing.Point(700, 20);
            lnDni.Name     = "lnDni";
            lnDni.Size     = new System.Drawing.Size(120, 19);
            lnDni.Text     = cliente;

            //CREACION BOTONES
            // boton borrar
            Button btnBorrar = new Button();

            btnBorrar.Cursor   = System.Windows.Forms.Cursors.Hand;
            btnBorrar.Location = new System.Drawing.Point(27, 260);
            btnBorrar.Name     = "btnBorrar";
            btnBorrar.Size     = new System.Drawing.Size(104, 32);
            btnBorrar.TabIndex = 0;
            btnBorrar.TabStop  = false;
            btnBorrar.Text     = "Borrar Linea";
            btnBorrar.Visible  = true;
            btnBorrar.Click   += new System.EventHandler(this.eventoBotonesModificar);

            //boton Modificar
            Button btnModificar = new Button();

            btnModificar.Cursor   = System.Windows.Forms.Cursors.Hand;
            btnModificar.Location = new System.Drawing.Point(150, 260);
            btnModificar.Name     = "btnModificarLinea";
            btnModificar.Size     = new System.Drawing.Size(150, 32);
            btnModificar.TabIndex = 0;
            btnModificar.TabStop  = false;
            btnModificar.Text     = "Modificar Linea";
            btnModificar.Visible  = true;
            btnModificar.UseVisualStyleBackColor = true;
            btnModificar.Click += new System.EventHandler(this.eventoBotonesModificar);

            //boton ModificarAlbaran
            Button btnModificarLineasAlbaran = new Button();

            btnModificarLineasAlbaran.Cursor   = System.Windows.Forms.Cursors.Hand;
            btnModificarLineasAlbaran.Font     = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            btnModificarLineasAlbaran.Location = new System.Drawing.Point(700, 253);
            btnModificarLineasAlbaran.Name     = "btnModificarLineasAlbaran";
            btnModificarLineasAlbaran.Size     = new System.Drawing.Size(183, 39);
            btnModificarLineasAlbaran.TabIndex = 0;
            btnModificarLineasAlbaran.TabStop  = false;
            btnModificarLineasAlbaran.Text     = "MODIFICAR ALBARAN";
            btnModificarLineasAlbaran.UseVisualStyleBackColor = true;
            btnModificarLineasAlbaran.Click += new System.EventHandler(this.eventoBotonesModificar);


            this.Controls.Add(lnDni);
            this.Controls.Add(btnBorrar);
            this.Controls.Add(btnModificar);
            this.Controls.Add(btnModificarLineasAlbaran);

            this.gbListadoLineas.Controls.Add(btnBorrar);
            this.gbListadoLineas.Controls.Add(btnModificar);
            this.gbListadoLineas.Controls.Add(btnModificarLineasAlbaran);

            formModificacion = true;
        }
        // METODO QUE RESPONDE A LOS 3 BOTONES --> BORRAR, MODIFICAR Y MODIFICAR LINEAS
        private void botonesForm(object sender, EventArgs e)
        {
            Button btnSeleccionado = (Button)sender;

            if (lvListadoAlbaran.SelectedItems.Count > 0)
            {
                ListViewItem listItem = lvListadoAlbaran.SelectedItems[0];

                // BOTON BORRAR
                if (btnSeleccionado.Name.Equals(btnBorrarAlbaran.Name))
                {
                    ArrayList lineasAlbaran = conexion.cargarLineasAlbaran(listItem.SubItems[0].Text);

                    //  BORRO DE LA BBDD, ARRAYLIST Y LISTVIEW
                    if (lineasAlbaran.Count == 0)
                    {
                        conexion.borrarAlbaran(listItem.SubItems[0].Text);

                        Albaran alBorrado = new Albaran();
                        foreach (Albaran al in albaranesArray)
                        {
                            if (al.getIdAlbaran().ToString().Equals(listItem.SubItems[0].Text))
                            {
                                alBorrado = al;
                            }
                        }

                        albaranesArray.Remove(alBorrado);

                        this.lvListadoAlbaran.Items.Remove(listItem);

                        limpiarControles();
                        MessageBox.Show("Albaran Borrado Correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("No se puede Borrar porque contiene " + lineasAlbaran.Count.ToString() + " Lineas Asociadas", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                // BOTON MODIFICAR
                else if (btnSeleccionado.Name.Equals(btnModificarAlbaran.Name))
                {
                    ArrayList lineasAlbaran = conexion.cargarLineasAlbaran(listItem.SubItems[0].Text);

                    //  MODIFICO DE LA BBDD, ARRAYLIST Y LISTVIEW
                    if (lineasAlbaran.Count == 0)
                    {
                        String dni_cifAlbaran = "";
                        foreach (Albaran al in albaranesArray)
                        {
                            if (al.getIdAlbaran().ToString().Equals(listItem.SubItems[0].Text))
                            {
                                if (this.cbClientes.SelectedIndex >= 0)
                                {
                                    al.setFechaAlbaran(this.dtpFechaAlbaran.Value);
                                    Cliente c = (Cliente)clientesArray[this.cbClientes.SelectedIndex];
                                    dni_cifAlbaran = c.getDni_Cif().ToString();
                                    al.setDni_Cif(dni_cifAlbaran);
                                    al.setSubtotal(Convert.ToDouble(this.txtSubtotal.Text.Replace('.', ',')));
                                    al.setTotal(Convert.ToDouble(this.txtTotal.Text.Replace('.', ',')));
                                    al.setIdFactura(Convert.ToInt32(this.nudIdFactura.Value));
                                }
                            }
                        }

                        if (this.cbClientes.SelectedIndex >= 0)
                        {
                            //UPDATE Albaranes SET fechaAlbaran = '02-12-1998', idFactura = 3, dni_cif = '518541KD', subtotal = 23.2, total = 120.2 WHERE idAlbaran = 13;
                            conexion.modificarAlbaran(this.dtpFechaAlbaran.Value, Convert.ToInt32(this.nudIdFactura.Value), dni_cifAlbaran, this.txtSubtotal.Text.Replace(',', '.'), this.txtTotal.Text.Replace(',', '.'), listItem.SubItems[0].Text);
                            MessageBox.Show("Albaran Modificado Correctamente", "Ayuda", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            lvListadoAlbaran.Items.Clear();
                            limpiarControles();

                            cargarAlbaranesLV();
                        }
                        else
                        {
                            MessageBox.Show("Elige Cliente en el Desplegable", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show("No se puede Borrar porque contiene " + lineasAlbaran.Count.ToString() + " Lineas Asociadas", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                // BOTON MODIFICAR LINEAS
                else if (btnSeleccionado.Name.Equals(btnModificarLineas.Name))
                {
                    Albaran albaran = new Albaran();
                    foreach (Albaran al in albaranesArray)
                    {
                        if (al.getIdAlbaran().ToString().Equals(listItem.SubItems[0].Text))
                        {
                            albaran = al;
                        }
                    }

                    CreacionAlbaran modificarLineasAlbaran = new CreacionAlbaran(albaran, listItem.SubItems[2].Text);
                    modificarLineasAlbaran.Show();
                }
            }
            else
            {
                MessageBox.Show("Selecciona un Albaran en el Listado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }