private void button2_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex >= 0 && comboBox2.SelectedIndex >= 0)
            {
                if (comboBox2.SelectedIndex >= 0 && comboBox2.SelectedIndex < 2)
                {
                    if (comboBox2.SelectedIndex == 0)
                    {
                        string       art   = createorupdate.itemid;
                        SqlCeCommand el_id = new SqlCeCommand();
                        el_id.Parameters.AddWithValue("id", art);
                        el_id.Parameters.AddWithValue("porc", float.Parse(numericUpDown1.Value.ToString().Replace("-", "")));
                        float porcentajeDelForm = float.Parse(numericUpDown1.Value.ToString().Replace("-", ""));
                        Conexion.abrir();
                        DataTable getmydata = Conexion.Consultar("precio, costo, porcentaje", "Articulos", "WHERE idarticulo = @id", "", el_id);
                        string    precio    = getmydata.Rows[0][0].ToString();
                        string    costo     = getmydata.Rows[0][1].ToString().Replace("$", "");
                        string    porcent   = getmydata.Rows[0][2].ToString();

                        if (comboBox1.SelectedIndex == 0 && numericUpDown1.Value >= 0)
                        {
                            Conexion.Actualizar("Articulos", "precio = (precio + (precio * (@porc / 100)))", "WHERE idarticulo = @id", "", el_id);
                        }
                        if (comboBox1.SelectedIndex == 0 && numericUpDown1.Value < 0)
                        {
                            Conexion.Actualizar("Articulos", "precio = (precio - (precio * (@porc / 100)))", "WHERE idarticulo = @id", "", el_id);
                        }
                        float nuevocosto = float.Parse(costo) + (float.Parse(costo) * (porcentajeDelForm / 100));

                        if (nuevocosto > float.Parse(precio.Replace("$", "")) && numericUpDown1.Value >= 0) // si costo > precio y el valor es positivo
                        {
                            if (comboBox1.SelectedIndex == 1)                                               //si elegimos editar un articulo
                            {
                                Conexion.Actualizar("Articulos", "costo = (costo + (costo * @porc / 100))", "WHERE idarticulo = @id", "", el_id);
                                //Conexion.Actualizar("Articulos", "precio = (costo + (costo * (CAST(porcentaje AS float) / 100))) ", "WHERE idarticulo = @id", "", el_id);
                            }
                        }
                        if (nuevocosto < float.Parse(precio) && numericUpDown1.Value >= 0)
                        {
                            if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value >= 0)
                            {
                                Conexion.Actualizar("Articulos", "costo = (costo + (costo * @porc / 100))", "WHERE idarticulo = @id", "", el_id);
                            }
                        }
                        if (nuevocosto > float.Parse(precio) && numericUpDown1.Value < 0)
                        {
                            if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value < 0)
                            {
                                Conexion.Actualizar("Articulos", "costo = (costo - (costo * @porc / 100))", "WHERE idarticulo = @id", "", el_id);
                                //Conexion.Actualizar("Articulos", "precio = (costo - (costo * CAST(porcentaje AS float) / 100)) ", "WHERE idarticulo = @id", "", el_id);
                            }
                        }
                        if (nuevocosto < float.Parse(precio) && numericUpDown1.Value < 0)
                        {
                            if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value < 0)
                            {
                                Conexion.Actualizar("Articulos", "costo = (costo - (costo * @porc / 100)) ", "WHERE idarticulo = @id", "", el_id);
                            }
                        }

                        Conexion.cerrar();
                        this.Close();
                        if (Application.OpenForms.OfType <Articulos>().Count() == 1)
                        {
                            Application.OpenForms.OfType <Articulos>().First().Close();
                        }
                        Articulos frm = new Articulos();
                        frm.Show();

                        //hacemos codigo para editar solamente la linea seleccionada
                    }
                    if (comboBox2.SelectedIndex == 1)
                    {
                        string       art   = createorupdate.itemid;
                        SqlCeCommand el_id = new SqlCeCommand();
                        el_id.Parameters.AddWithValue("id", art);
                        el_id.Parameters.AddWithValue("porc", float.Parse(numericUpDown1.Value.ToString().Replace("-", "")));
                        float porcentajeDelForm = float.Parse(numericUpDown1.Value.ToString().Replace("-", ""));
                        Conexion.abrir();
                        if (comboBox1.SelectedIndex == 0)
                        {
                            if (comboBox1.SelectedIndex == 0 && numericUpDown1.Value >= 0)
                            {
                                Conexion.Actualizar("Articulos", "precio = (precio + (precio * (@porc / 100)))", "", "", el_id);
                            }
                            if (comboBox1.SelectedIndex == 0 && numericUpDown1.Value < 0)
                            {
                                Conexion.Actualizar("Articulos", "precio = (precio - (precio * (@porc / 100)))", "", "", el_id);
                            }
                        }
                        if (comboBox1.SelectedIndex == 1)
                        {
                            DialogResult sino = MessageBox.Show("Tenga en cuenta que aumentar el costo de un producto conlleva a que su precio de venta aumente si es que el precio de compra + porcentaje de ganancia deseada supera al precio de venta actual.\nDesea continuar con la operacion?", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                            if (sino == DialogResult.Yes)
                            {
                                if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value >= 0) //si elegimos editar un articulo
                                {
                                    Conexion.Actualizar("Articulos", "costo = (costo + (costo * @porc / 100))", "", "", el_id);
                                }
                                if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value < 0)
                                {
                                    Conexion.Actualizar("Articulos", "costo = (costo - (costo * @porc / 100))", "", "", el_id);
                                }
                            }
                            else
                            {
                                MessageBox.Show("La operación se ha cancelado");
                            }
                        }
                        Conexion.cerrar();
                        this.Close();
                        if (Application.OpenForms.OfType <Articulos>().Count() == 1)
                        {
                            Application.OpenForms.OfType <Articulos>().First().Close();
                        }
                        Articulos frm = new Articulos();
                        frm.Show();
                        //hacemos codigo para editar todos
                    }
                }
                if (comboBox2.SelectedIndex == 2 && comboBox3.SelectedIndex >= 0)
                {
                    //MessageBox.Show("tocamos proveedor o marca");
                    string       proveedr = comboBox3.SelectedItem.ToString();
                    SqlCeCommand el_id    = new SqlCeCommand();
                    el_id.Parameters.AddWithValue("provee", proveedr);
                    el_id.Parameters.AddWithValue("porc", float.Parse(numericUpDown1.Value.ToString().Replace("-", "")));
                    float porcentajeDelForm = float.Parse(numericUpDown1.Value.ToString().Replace("-", ""));
                    Conexion.abrir();
                    if (comboBox1.SelectedIndex == 0 && numericUpDown1.Value >= 0)
                    {
                        Conexion.Actualizar("Articulos", "precio = (precio + (precio * (@porc / 100)))", "WHERE proveedor = @provee", "", el_id);
                    }
                    if (comboBox1.SelectedIndex == 0 && numericUpDown1.Value < 0)
                    {
                        Conexion.Actualizar("Articulos", "precio = (precio - (precio * (@porc / 100)))", "WHERE proveedor = @provee", "", el_id);
                    }
                    if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value >= 0)
                    {
                        Conexion.Actualizar("Articulos", "costo = (costo + (costo * @porc / 100))", "", "WHERE proveedor = @provee", el_id);
                    }
                    if (comboBox1.SelectedIndex == 1 && numericUpDown1.Value < 0)
                    {
                        Conexion.Actualizar("Articulos", "costo = (costo - (costo * @porc / 100))", "", "WHERE proveedor = @provee", el_id);
                    }
                    this.Close();
                    if (Application.OpenForms.OfType <Articulos>().Count() == 1)
                    {
                        Application.OpenForms.OfType <Articulos>().First().Close();
                    }
                    Articulos frm = new Articulos();
                    frm.Show();
                }
                if (comboBox2.SelectedIndex == 2 && comboBox3.SelectedIndex < 0)
                {
                    MessageBox.Show("Datos Incompletos");
                }
            }
            else
            {
                MessageBox.Show("Debe completar algunos campos para poder realizar los cambios");
            }
        }
示例#2
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (createorupdate.status == "create")
            {
                if (comboBox3.SelectedIndex == 0) //si es un producto
                {
                    if (textBox1.Text.Length < 1 ||
                        textBox2.Text.Length < 1 ||
                        textBox4.Text.Length < 1 ||
                        textBox5.Text.Length < 1 ||
                        textBox6.Text.Length < 1 ||
                        textBox7.Text.Length < 1 ||
                        textBox8.Text.Length < 1 ||
                        textBox9.Text.Length < 1 ||
                        textBox10.Text.Length < 1 ||
                        comboBox1.SelectedIndex < 0 ||
                        comboBox2.SelectedIndex < 0 || comboBox3.SelectedIndex < 0)
                    {
                        MessageBox.Show("Debe completar los campos con asterisco obligatorios");
                    }
                    else
                    {
                        string codigo, descripcion, marca, rubro, precio, costo, iva, stkmin, porcent, compramin, proveed;
                        descripcion = textBox2.Text;
                        marca       = textBox3.Text;
                        rubro       = comboBox1.SelectedItem.ToString();
                        precio      = textBox4.Text;
                        costo       = textBox5.Text;
                        iva         = textBox6.Text;
                        stkmin      = textBox7.Text;
                        porcent     = textBox8.Text;
                        compramin   = textBox9.Text;
                        codigo      = textBox1.Text;
                        proveed     = comboBox2.SelectedItem.ToString();
                        SqlCeCommand nuevoarticulo = new SqlCeCommand();
                        nuevoarticulo.Parameters.Clear();
                        nuevoarticulo.Parameters.AddWithValue("@sm", textBox10.Text.ToString());
                        nuevoarticulo.Parameters.AddWithValue("@n", "0");
                        nuevoarticulo.Parameters.AddWithValue("@o", "0");
                        nuevoarticulo.Parameters.AddWithValue("@a", codigo);
                        nuevoarticulo.Parameters.AddWithValue("@b", descripcion);
                        nuevoarticulo.Parameters.AddWithValue("@c", marca);
                        nuevoarticulo.Parameters.AddWithValue("@d", rubro);
                        nuevoarticulo.Parameters.AddWithValue("@e", precio.ToString().Replace("$", ""));
                        nuevoarticulo.Parameters.AddWithValue("@f", costo.ToString().Replace("$", ""));
                        nuevoarticulo.Parameters.AddWithValue("@g", iva);
                        nuevoarticulo.Parameters.AddWithValue("@l", "0");
                        nuevoarticulo.Parameters.AddWithValue("@h", stkmin);
                        nuevoarticulo.Parameters.AddWithValue("@i", porcent);
                        nuevoarticulo.Parameters.AddWithValue("@j", compramin);
                        nuevoarticulo.Parameters.AddWithValue("@k", proveed);
                        nuevoarticulo.Parameters.AddWithValue("@p", "Activo");
                        nuevoarticulo.Parameters.AddWithValue("@q", comboBox3.SelectedItem.ToString());
                        Conexion.abrir();
                        Conexion.Insertar("Articulos", "stockmax,faltante,sobrante,codigoart,descripcion,marca,rubro,precio,costo,iva,stockactual,stockminimo,porcentaje,compraminima,proveedor,eliminado,tipo", "@sm,@n,@o,@a,@b,@c,@d,@e,@f,@g,@l,@h,@i,@j,@k,@p,@q", nuevoarticulo);
                        Conexion.cerrar();
                        if (Application.OpenForms.OfType <Articulos>().Count() >= 1)
                        {
                            Application.OpenForms.OfType <Articulos>().First().Close();
                            Articulos openagain = new Articulos();
                            openagain.Show();
                        }
                        this.Close();
                    }
                }
                if (comboBox3.SelectedIndex == 1) //si es un servicio
                {
                    if (textBox1.Text.Length < 1 ||
                        textBox2.Text.Length < 1 ||
                        textBox4.Text.Length < 1 ||
                        comboBox1.SelectedIndex < 0 ||
                        comboBox3.SelectedIndex < 0)
                    {
                        MessageBox.Show("Debe completar los campos con asterisco obligatorios");
                    }
                    else
                    {
                        string codigo, descripcion, marca, rubro, precio;
                        descripcion = textBox2.Text;
                        marca       = textBox3.Text;
                        rubro       = comboBox1.SelectedItem.ToString();
                        precio      = textBox4.Text;

                        codigo = textBox1.Text;

                        SqlCeCommand nuevoarticulo = new SqlCeCommand();
                        nuevoarticulo.Parameters.Clear();
                        nuevoarticulo.Parameters.AddWithValue("@n", "0");
                        nuevoarticulo.Parameters.AddWithValue("@o", "0");
                        nuevoarticulo.Parameters.AddWithValue("@a", codigo);
                        nuevoarticulo.Parameters.AddWithValue("@b", descripcion);
                        nuevoarticulo.Parameters.AddWithValue("@c", marca);
                        nuevoarticulo.Parameters.AddWithValue("@d", rubro);
                        nuevoarticulo.Parameters.AddWithValue("@e", precio.ToString().Replace("$", ""));

                        nuevoarticulo.Parameters.AddWithValue("@p", "Activo");
                        nuevoarticulo.Parameters.AddWithValue("@q", comboBox3.SelectedItem.ToString());
                        Conexion.abrir();
                        Conexion.Insertar("Articulos", "faltante,sobrante,codigoart,descripcion,marca,rubro,precio,eliminado,tipo,iva,stockactual,stockminimo,costo,compraminima,porcentaje", "@n,@o,@a,@b,@c,@d,@e,@p,@q,@n,@n,@n,@n,@n,@n", nuevoarticulo);
                        Conexion.cerrar();
                        if (Application.OpenForms.OfType <Articulos>().Count() >= 1)
                        {
                            Application.OpenForms.OfType <Articulos>().First().Close();
                            Articulos openagain = new Articulos();
                            openagain.Show();
                        }
                        this.Close();
                    }
                }
            }
            if (createorupdate.status == "update") //ACA ES SI ES UN PRODUCTO Y ESTAMOS EN ACTUALIZAR
            {
                if (comboBox3.SelectedIndex == 0)  //si es un producto
                {
                    if (textBox1.Text.Length < 1 ||
                        textBox2.Text.Length < 1 ||
                        textBox4.Text.Length < 1 ||
                        textBox5.Text.Length < 1 ||
                        textBox6.Text.Length < 1 ||
                        textBox7.Text.Length < 1 ||
                        textBox8.Text.Length < 1 ||
                        textBox9.Text.Length < 1 ||
                        textBox10.Text.Length < 1 ||
                        comboBox1.SelectedIndex < 0 ||
                        comboBox2.SelectedIndex < 0)
                    {
                        MessageBox.Show("Debe completar los campos con asterisco obligatorios");
                    }
                    else
                    {
                        string codigo, descripcion, marca, rubro, precio, costo, iva, stkmin, porcent, compramin, proveed;
                        descripcion = textBox2.Text;
                        marca       = textBox3.Text;
                        rubro       = comboBox1.SelectedItem.ToString();
                        precio      = textBox4.Text;
                        costo       = textBox5.Text;
                        iva         = textBox6.Text;
                        stkmin      = textBox7.Text;
                        porcent     = textBox8.Text;
                        compramin   = textBox9.Text;
                        codigo      = textBox1.Text;
                        proveed     = comboBox2.SelectedItem.ToString();
                        SqlCeCommand nuevoarticulo = new SqlCeCommand();
                        nuevoarticulo.Parameters.Clear();
                        nuevoarticulo.Parameters.AddWithValue("@id", createorupdate.itemid);
                        nuevoarticulo.Parameters.AddWithValue("@sm", textBox10.Text.ToString());
                        nuevoarticulo.Parameters.AddWithValue("@a", codigo);
                        nuevoarticulo.Parameters.AddWithValue("@b", descripcion);
                        nuevoarticulo.Parameters.AddWithValue("@c", marca);
                        nuevoarticulo.Parameters.AddWithValue("@d", rubro);
                        nuevoarticulo.Parameters.AddWithValue("@e", precio.ToString().Replace("$", ""));
                        nuevoarticulo.Parameters.AddWithValue("@f", costo.ToString().Replace("$", ""));
                        nuevoarticulo.Parameters.AddWithValue("@g", iva);
                        nuevoarticulo.Parameters.AddWithValue("@h", stkmin);
                        nuevoarticulo.Parameters.AddWithValue("@i", porcent);
                        nuevoarticulo.Parameters.AddWithValue("@j", compramin);
                        nuevoarticulo.Parameters.AddWithValue("@k", proveed);
                        nuevoarticulo.Parameters.AddWithValue("@p", "Activo");
                        nuevoarticulo.Parameters.AddWithValue("@q", comboBox3.SelectedItem.ToString());
                        Conexion.abrir();
                        Conexion.Actualizar("Articulos", " stockmax = @sm, eliminado = @p, tipo = @q, codigoart = @a,descripcion = @b,marca = @c,rubro = @d,precio = @e,costo = @f,iva = @g,stockminimo = @h,porcentaje = @i,compraminima = @j,proveedor = @k", "WHERE idarticulo = @id", "", nuevoarticulo);
                        //Conexion.Insertar("Articulos", "faltante,sobrante,codigoart,descripcion,marca,rubro,precio,costo,iva,stockactual,stockminimo,porcentaje,compraminima,proveedor", "@n,@o,@a,@b,@c,@d,@e,@f,@g,@l,@h,@i,@j,@k", nuevoarticulo);
                        Conexion.cerrar();
                        if (Application.OpenForms.OfType <Articulos>().Count() >= 1)
                        {
                            Application.OpenForms.OfType <Articulos>().First().Close();
                            Articulos openagain = new Articulos();
                            openagain.Show();
                        }
                        this.Close();
                    }
                }//fin de si es un producto


                if (comboBox3.SelectedIndex == 1) //ACA ES SI ES UN SERVIICO Y EN ACTUALIZAR
                {
                    if (textBox1.Text.Length < 1 ||
                        textBox2.Text.Length < 1 ||
                        textBox4.Text.Length < 1 ||
                        comboBox1.SelectedIndex < 0 ||
                        comboBox3.SelectedIndex < 0)
                    {
                        MessageBox.Show("Debe completar los campos con asterisco obligatorios");
                    }
                    else
                    {
                        string codigo, descripcion, marca, rubro, precio;
                        descripcion = textBox2.Text;
                        marca       = textBox3.Text;
                        rubro       = comboBox1.SelectedItem.ToString();
                        precio      = textBox4.Text;
                        codigo      = textBox1.Text;
                        SqlCeCommand nuevoarticulo = new SqlCeCommand();
                        nuevoarticulo.Parameters.Clear();
                        nuevoarticulo.Parameters.AddWithValue("@id", createorupdate.itemid);
                        nuevoarticulo.Parameters.AddWithValue("@sm", textBox10.Text.ToString());
                        nuevoarticulo.Parameters.AddWithValue("@a", codigo);
                        nuevoarticulo.Parameters.AddWithValue("@b", descripcion);
                        nuevoarticulo.Parameters.AddWithValue("@c", marca);
                        nuevoarticulo.Parameters.AddWithValue("@d", rubro);
                        nuevoarticulo.Parameters.AddWithValue("@e", precio.ToString().Replace("$", ""));
                        nuevoarticulo.Parameters.AddWithValue("@f", "0");
                        nuevoarticulo.Parameters.AddWithValue("@g", "0");
                        nuevoarticulo.Parameters.AddWithValue("@h", "0");
                        nuevoarticulo.Parameters.AddWithValue("@i", "0");
                        nuevoarticulo.Parameters.AddWithValue("@j", "0");

                        nuevoarticulo.Parameters.AddWithValue("@p", "Activo");
                        nuevoarticulo.Parameters.AddWithValue("@q", comboBox3.SelectedItem.ToString());
                        Conexion.abrir();
                        Conexion.Actualizar("Articulos", " stockmax = @sm, eliminado = @p, tipo = @q, codigoart = @a,descripcion = @b,marca = @c,rubro = @d,precio = @e,costo = @f,iva = @g,stockminimo = @h,porcentaje = @i,compraminima = @j", "WHERE idarticulo = @id", "", nuevoarticulo);
                        //Conexion.Insertar("Articulos", "faltante,sobrante,codigoart,descripcion,marca,rubro,precio,costo,iva,stockactual,stockminimo,porcentaje,compraminima,proveedor", "@n,@o,@a,@b,@c,@d,@e,@f,@g,@l,@h,@i,@j,@k", nuevoarticulo);
                        Conexion.cerrar();
                        if (Application.OpenForms.OfType <Articulos>().Count() >= 1)
                        {
                            Application.OpenForms.OfType <Articulos>().First().Close();
                            Articulos openagain = new Articulos();
                            openagain.Show();
                        }
                        this.Close();
                    }
                }
            }
        }