private void actualizarJerarquia(Visibilidad visibilidad, string descripcionVieja)
        {
            List<SqlParameter> parametros = new List<SqlParameter>();

            BDSQL.agregarParametro(parametros, "@jerarquia", visibilidad.jerarquia);
            BDSQL.agregarParametro(parametros, "@descripcionVieja", descripcionVieja);

            BDSQL.ExecStoredProcedureSinRet("MERCADONEGRO.EditarJerarquia", parametros);
            BDSQL.cerrarConexion();
        }
        private void editarVisibilidad(Visibilidad visibilidadNueva, Visibilidad visibilidadVieja)
        {
            List<SqlParameter> parametros = new List<SqlParameter>();

            BDSQL.agregarParametro(parametros, "@descripcion", visibilidadNueva.Descripcion);
            BDSQL.agregarParametro(parametros, "@costoPublicacion", visibilidadNueva.Costo_Publicacion);
            BDSQL.agregarParametro(parametros, "@porcentajeVenta", visibilidadNueva.Porcentaje_Venta);
            BDSQL.agregarParametro(parametros, "@habilitada", visibilidadNueva.habilitada);

            //nombre viejo, para usarlo en el string
            String nombreViejo = visibilidadVieja.Descripcion;

            BDSQL.agregarParametro(parametros, "@descripcionVieja", nombreViejo);

            //Exec storedProcedure
            BDSQL.ExecStoredProcedureSinRet("MERCADONEGRO.EditarVisibilidad", parametros);
            BDSQL.cerrarConexion();

            MessageBox.Show("¡Visibilidad Modificada!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        private void ConfirmarButton_Click(object sender, EventArgs e)
        {
            //si la visibilidad es nueva
            if (this.botonSeleccionado.Text == "Nueva")
            {

                bool chequeado = this.chequearCampos();

                if (chequeado)
                {
                    if (!BDSQL.existeString(nombreTextBox.Text, "MERCADONEGRO.VISIBILIDADES", "DESCRIPCION"))
                    {

                        //Datos de la form
                        string nombre = this.nombreTextBox.Text;
                        decimal costo = Convert.ToDecimal(this.costoTextBox.Text);
                        decimal porcentajeVenta = Convert.ToDecimal(this.porcentajeTextBox.Text) / 100;
                        int jerarquia = Convert.ToInt32(this.codigoComboBox.SelectedItem);

                        int habilitada = 0;

                        if (this.checkBox.Checked)
                            habilitada = 1;

                        List<SqlParameter> parametros = new List<SqlParameter>();

                        BDSQL.agregarParametro(parametros, "@descripcion", nombre);
                        BDSQL.agregarParametro(parametros, "@costoPublicacion", costo);
                        BDSQL.agregarParametro(parametros, "@porcentajeVenta", porcentajeVenta);
                        BDSQL.agregarParametro(parametros, "@habilitada", habilitada);

                        SqlParameter paramRet = new SqlParameter("@ret", System.Data.SqlDbType.Decimal);
                        paramRet.Direction = System.Data.ParameterDirection.Output;
                        parametros.Add(paramRet);

                        int idInsertada = (int)BDSQL.ExecStoredProcedure("MERCADONEGRO.AgregarVisibilidad", parametros);
                        BDSQL.cerrarConexion();

                        MessageBox.Show("¡Visibilidad Agregada!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        this.Close();

                        //Interfaz.diccionarioVisibilidades.Add(idInsertada, this.nombreTextBox.Text);

                    }
                    else
                        MessageBox.Show("Ya existe una visibilidad con ese nombre.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }

            }//si se quiere modificar
            else if (this.botonSeleccionado.Text == "Modificar")
            {

                bool chequeado = this.chequearCampos();

                if (chequeado)
                {

                    //Datos de la form
                    string nombre = this.nombreTextBox.Text;
                    decimal costo = Convert.ToDecimal(this.costoTextBox.Text);
                    decimal porcentajeVenta = Convert.ToDecimal(this.porcentajeTextBox.Text) / 100;
                    int jerarquia = Convert.ToInt32(this.codigoComboBox.SelectedItem);
                    bool habilitada = this.checkBox.Checked;

                    Visibilidad visibilidadNueva = new Visibilidad(jerarquia, nombre, costo, porcentajeVenta, habilitada);

                    //me fijo si tengo que updatear la jeraquia
                    if (visibilidadNueva.hayQueCambiarLaJerarquia(visibilidadVieja))
                    {
                        //Update unico de la jerarquia a la nueva visibilidad
                        this.actualizarJerarquia(visibilidadNueva, visibilidadVieja.Descripcion);

                        //updatear todas las demas jerarquias
                        if (visibilidadNueva.jerarquia > this.visibilidadVieja.jerarquia)
                        {
                            int primerIndice = visibilidadVieja.jerarquia;
                            int iteraciones = visibilidadNueva.jerarquia - this.visibilidadVieja.jerarquia;
                            int i = 0;

                            while (i < iteraciones)
                            {
                                Visibilidad visibilidadTemp = this.listaVisibilidadesBD.ElementAt(primerIndice+1);
                                visibilidadTemp.jerarquia--;
                                this.actualizarJerarquia(visibilidadTemp, visibilidadTemp.Descripcion);

                                i++;
                                primerIndice++;
                            }

                        }
                        else if (visibilidadNueva.jerarquia < this.visibilidadVieja.jerarquia)
                        {
                            int ultimoIndice = visibilidadVieja.jerarquia;
                            int iteraciones = this.visibilidadVieja.jerarquia - visibilidadNueva.jerarquia;
                            int i = 0;

                            while (i < iteraciones)
                            {
                                Visibilidad visibilidadTemp = this.listaVisibilidadesBD.ElementAt(ultimoIndice - 1);
                                visibilidadTemp.jerarquia++;
                                this.actualizarJerarquia(visibilidadTemp, visibilidadTemp.Descripcion);

                                i++;
                                ultimoIndice--;
                            }

                        }

                        //updateando la nueva Visibilidad
                        this.editarVisibilidad(visibilidadNueva, this.visibilidadVieja);
                        this.Close();

                    }
                    else
                    {
                        //updatear solo la visibilidad nueva
                        this.editarVisibilidad(visibilidadNueva, this.visibilidadVieja);

                        this.Close();

                    }

                    //updateando diccionario visibilidades
                    //Interfaz.actualizarDiccionarioVisibilidades(visibilidadNueva.Descripcion, this.visibilidadVieja.Descripcion);

                }

            }
        }
        private void cargarForm(Visibilidad visibilidad)
        {
            this.nombreTextBox.Text = visibilidad.Descripcion;
            this.costoTextBox.Text = Convert.ToString(visibilidad.Costo_Publicacion);
            this.porcentajeTextBox.Text = Convert.ToString(visibilidad.Porcentaje_Venta);
            this.checkBox.Checked = visibilidad.habilitada;
            this.codigoComboBox.SelectedItem = visibilidad.jerarquia;

            this.porcentajeTextBox.MaxLength = 3;

            ;
        }
Esempio n. 5
0
 public bool hayQueCambiarLaJerarquia(Visibilidad visibilidadVieja)
 {
     if (this.jerarquia == visibilidadVieja.jerarquia)
         return false;
     else
         return true;
 }
Esempio n. 6
0
        public static List<Visibilidad> ObtenerVisibilidades()
        {
            List<Visibilidad> visibilidades = new List<Visibilidad>();

            string commandText = "SELECT * FROM MERCADONEGRO.VISIBILIDADES WHERE HABILITADA = 1 ORDER BY JERARQUIA";

            SqlDataReader lector = BDSQL.ejecutarReader(commandText, BDSQL.iniciarConexion());

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    Visibilidad unaVisibilidad = new Visibilidad((int)(decimal)lector["Jerarquia"],
                                                                   (string)lector["Descripcion"],
                                                                   (decimal) lector["Costo_Publicacion"],
                                                                   Convert.ToInt32(((decimal) lector["Porcentaje_Venta"]) * 100),
                                                                   (bool) lector["Habilitada"]);
                    visibilidades.Add(unaVisibilidad);
                }
            }
            BDSQL.cerrarConexion();
            return visibilidades;
        }