示例#1
0
        public static void actualizarPublicacion(Publicacion unaPubli, int visibilidad, int estado, int tipoPubli)
        {
            List<SqlParameter> listaParametros = new List<SqlParameter>();
            BDSQL.agregarParametro(listaParametros,"@Cod_Publicacion", unaPubli.Cod_Publicacion);
            BDSQL.agregarParametro(listaParametros, "@Cod_Visibilidad", visibilidad);
            BDSQL.agregarParametro(listaParametros, "@ID_Vendedor", unaPubli.ID_Vendedor);
            BDSQL.agregarParametro(listaParametros, "@Descripcion", unaPubli.Descripcion);
            BDSQL.agregarParametro(listaParametros, "@Stock", unaPubli.Stock);
            BDSQL.agregarParametro(listaParametros, "@Fecha_Vto", unaPubli.Fecha_Vto);
            BDSQL.agregarParametro(listaParametros, "@Fecha_Inic", unaPubli.Fecha_Inicio);
            BDSQL.agregarParametro(listaParametros, "@Precio", unaPubli.Precio);
            BDSQL.agregarParametro(listaParametros, "@Estado_Publicacion", estado);
            BDSQL.agregarParametro(listaParametros, "@Tipo_Publicacion", tipoPubli);
            BDSQL.agregarParametro(listaParametros, "@Permiso_Preguntas", unaPubli.Permiso_Preguntas);
            BDSQL.agregarParametro(listaParametros, "@Stock_Inicial", unaPubli.Stock_Inicial);

            int resultado = BDSQL.ejecutarQuery("UPDATE MERCADONEGRO.Publicaciones " +
                                                "SET Cod_Visibilidad=@Cod_Visibilidad, Descripcion=@Descripcion, " +
                                                "Stock=@Stock, Fecha_Vencimiento=@Fecha_Vto, Fecha_Inicial=@Fecha_Inic, " +
                                                "Precio=@Precio, Cod_EstadoPublicacion=@Estado_Publicacion, " +
                                                "Cod_TipoPublicacion=@Tipo_Publicacion, Permisos_Preguntas=@Permiso_Preguntas, " +
                                                "Stock_Inicial=@Stock_Inicial WHERE Cod_Publicacion=@Cod_Publicacion",
                                                listaParametros, BDSQL.iniciarConexion());
            if (resultado == -1)
                MessageBox.Show("Falló al actualizar Publicación", "Fail!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            else
                MessageBox.Show("Éxtio al actualizar Publicación", "Nice!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            BDSQL.cerrarConexion();
        }
示例#2
0
        //Constructor para Modificar publicacion
        public GenerarPubliForm(string modo, Publicacion unaPubli)
        {
            if (modo == "Modificar")
            {
                InitializeComponent();
                CenterToScreen();
                llenarCombos();
                llenarCheckedList(unaPubli.Cod_Publicacion);

                //Completar form con datos traido de BuscarPubliForm
                codPubli = unaPubli.Cod_Publicacion;
                Visibilidad_ComboBox.Text = unaPubli.Cod_Visibilidad;
                Descrip_TextBox.Text = unaPubli.Descripcion;
                Stock_TextBox.Text = Convert.ToString(unaPubli.Stock);
                FechaFin_DateTimePicker.Text = Convert.ToString(unaPubli.Fecha_Vto);
                TipoPubli_ComboBox.Text = unaPubli.Tipo_Publicacion;
                Estado_ComboBox.Text = unaPubli.Estado_Publicacion;
                Precio_textBox.Text = Convert.ToString(unaPubli.Precio);
                PermitirPreguntas_Checkbox.Checked = unaPubli.Permiso_Preguntas;
                dueñoPublicacion = unaPubli.ID_Vendedor;

                stockTraido = Convert.ToInt32(unaPubli.Stock);
                esNueva = false;

                if (unaPubli.Estado_Publicacion == "Borrador"){
                    esBorrador = true;
                }
                else{
                    esBorrador = false;
                }

                //Si estado=Publicada => permitir modificar el estado a Pausada o Finalizada (Inmediata unicamente)
                if (esBorrador == false)
                {
                        Visibilidad_ComboBox.Enabled = false;
                        FechaFin_DateTimePicker.Enabled = false;
                        TipoPubli_ComboBox.Enabled = false;
                        Precio_textBox.Enabled = false;
                        PermitirPreguntas_Checkbox.Enabled = false;
                        Rubro_checkedListBox.Enabled = false;
                }

                //Comprueba si el usuario es administrador o no
                esAdmin = Usuario.controlarRol(usuario.ID_User);
            }
        }
示例#3
0
        public static int agregarPublicacion(Publicacion unaPubli, int visibilidad, int estado, int tipoPubli)
        {
            List<SqlParameter> listaParametros = new List<SqlParameter>();

            BDSQL.agregarParametro(listaParametros, "@Cod_Visibilidad", visibilidad);
            BDSQL.agregarParametro(listaParametros, "@ID_Vendedor", unaPubli.ID_Vendedor);
            BDSQL.agregarParametro(listaParametros, "@Descripcion", unaPubli.Descripcion);
            BDSQL.agregarParametro(listaParametros, "@Stock", unaPubli.Stock);
            BDSQL.agregarParametro(listaParametros, "@Fecha_Vto", unaPubli.Fecha_Vto);
            BDSQL.agregarParametro(listaParametros, "@Fecha_Inic", unaPubli.Fecha_Inicio);
            BDSQL.agregarParametro(listaParametros, "@Precio", unaPubli.Precio);
            BDSQL.agregarParametro(listaParametros, "@Estado_Publicacion", estado);
            BDSQL.agregarParametro(listaParametros, "@Tipo_Publicacion", tipoPubli);
            BDSQL.agregarParametro(listaParametros, "@Permiso_Preguntas", unaPubli.Permiso_Preguntas);
            BDSQL.agregarParametro(listaParametros, "@Stock_Inicial", unaPubli.Stock_Inicial);

            int resultado = BDSQL.ejecutarQuery("INSERT INTO MERCADONEGRO.Publicaciones " +
                                                "(Cod_visibilidad,ID_Vendedor, Descripcion, " +
                                                "Stock,Fecha_Vencimiento,Fecha_Inicial,Precio, " +
                                                "Cod_EstadoPublicacion,Cod_TipoPublicacion, " +
                                                "Permisos_Preguntas,Stock_Inicial) " +
                                                "VALUES(@Cod_visibilidad,@ID_Vendedor,@Descripcion,@Stock, " +
                                                "@Fecha_Vto,@Fecha_Inic,@Precio,@Estado_Publicacion, " +
                                                "@Tipo_Publicacion,@Permiso_Preguntas,@Stock_Inicial)",
                                                listaParametros, BDSQL.iniciarConexion());

            /*if (resultado == -1)
            {
                MessageBox.Show("Falló al generar Publicacion", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Éxito al generar Publicacion", "Felicitaciones", MessageBoxButtons.OK);
            }*/
            BDSQL.cerrarConexion();
            return resultado;
        }
示例#4
0
        //BOTON GUARDAR
        private void Guardar_button_Click(object sender, EventArgs e)
        {
            int cantRubrosSelecc = Rubro_checkedListBox.CheckedItems.Count;
            //Controlar que se completen todos los datos y asignar
            if (!Visibilidad_ComboBox.Text.Equals("") && !Descrip_TextBox.Text.Equals("") && !Stock_TextBox.Text.Equals("") && !FechaFin_DateTimePicker.Text.Equals("") && !Estado_ComboBox.Text.Equals("") && !TipoPubli_ComboBox.Text.Equals("") && !Precio_textBox.Text.Equals("") && (cantRubrosSelecc >= 1))
            {
                //Asigna los valores a la publicacion

                if(esNueva == true)
                {
                    codPubli = 0;
                }
                string visibilidad = Visibilidad_ComboBox.SelectedItem.ToString();
                int visibilidadIndex = Visibilidad_ComboBox.SelectedIndex;
                int idVendedor;
                if (esAdmin == true)
                {
                    idVendedor = dueñoPublicacion;
                }
                else
                {
                    idVendedor = usuario.ID_User;
                }
                string descripcion = Descrip_TextBox.Text;
                int stock = Convert.ToInt32(Stock_TextBox.Text);
                DateTime fechaFin = Convert.ToDateTime(FechaFin_DateTimePicker.Text);
                DateTime fechaInicio = Interfaz.obtenerFecha();
                string estado = Convert.ToString(Estado_ComboBox.SelectedItem);
                int estadoIndex = Estado_ComboBox.SelectedIndex;
                string tipoPubli = Convert.ToString(TipoPubli_ComboBox.SelectedItem);
                int tipoPubliIndex = TipoPubli_ComboBox.SelectedIndex;
                string rubro = Convert.ToString(Rubro_checkedListBox.SelectedItem);
                int rubroIndex = Rubro_checkedListBox.SelectedIndex;
                decimal precio = Convert.ToDecimal(Precio_textBox.Text);
                bool permisoPreg = PermitirPreguntas_Checkbox.Checked;

                List<Rubro> listaRubrosSeleccionados = filtrarRubrosSeleccionados();

                //Crear la publicacion con los parametros asignados
                Publicacion publi = new Publicacion(codPubli, visibilidad, idVendedor, descripcion, stock, fechaFin, fechaInicio, precio, estado, tipoPubli, permisoPreg, stock);

                //Nueva
                if ((esNueva == true))
                {
                    if (fechaFin > Interfaz.obtenerFecha())
                    {

                        //Nueva + (Stock<=0)
                        if (stock < 1)
                        {
                            MessageBox.Show("El Stock no puede ser menor a 1", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }

                        else
                        {
                            //Nueva + Gratis + Publicada
                            if ((visibilidad == "Gratis") && (estadoIndex == 1))
                            {
                                //Obtiene la cantidad de publicaciones gratuitas del usuario
                                int idUser = Convert.ToInt32(usuario.ID_User);
                                int cantidadPubliGratuitas = Usuario.obtenerPublisGratuitas(idUser);

                                //Nueva + Gratis + Publicada + (CantGratis<3)
                                if (cantidadPubliGratuitas < 3)
                                {
                                    //Sumar 1 a Cant_Publi_Gratuitas
                                    usuario.sumarPubliGratuita();

                                    //Inserta publicacion en la tabla Publicaciones
                                    int publiExitosa = Publicaciones.agregarPublicacion(publi, visibilidadIndex, estadoIndex, tipoPubliIndex);
                                    if (publiExitosa == -1)
                                    {
                                        MessageBox.Show("Falló al generar Publicacion", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    else
                                    {
                                        int nuevoCodPbli = Publicaciones.obtenerCodPublicacion(publi, visibilidadIndex, estadoIndex, tipoPubliIndex);
                                        MessageBox.Show(string.Format("La publicación creada tendrá el Código {0}", nuevoCodPbli), "Codigo de Publicación", MessageBoxButtons.OK);
                                        Rubro.agregarRubroPublicacion(listaRubrosSeleccionados, nuevoCodPbli);
                                    }

                                }
                                //Nueva + Gratis + Publicada + (CantGratis>=3)
                                else
                                {
                                    MessageBox.Show("Ya posee 3 publicaciones gratuitas publicadas", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }

                            //Nueva + No (Gratis + Publicada) + No (Subasta + Publicada)
                            else
                            {
                                //Inserta publicacion en la tabla Publicaciones
                                int publiExitosa = Publicaciones.agregarPublicacion(publi, visibilidadIndex, estadoIndex, tipoPubliIndex);
                                if (publiExitosa == -1)
                                {
                                    MessageBox.Show("Falló al generar Publicacion", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                else
                                {
                                    int nuevoCodPbli = Publicaciones.obtenerCodPublicacion(publi, visibilidadIndex, estadoIndex, tipoPubliIndex);
                                    MessageBox.Show(string.Format("La publicación creada tendrá el Código {0}", nuevoCodPbli), "Codigo de Publicación", MessageBoxButtons.OK);
                                    Rubro.agregarRubroPublicacion(listaRubrosSeleccionados, nuevoCodPbli);
                                }
                            }

                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("La fecha de vencimiento no puede ser menor a la actual", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }

                }

                //Modificar
                else
                {
                    //Modificar + StockBien
                    if (stockTraido > stock)
                    {
                        MessageBox.Show("No es posible decrementar el stock", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        // Modificar + StockBien + No(Publicada-->Borrador)
                        if ((esBorrador == false) && (estado == "Borrador"))
                        {
                            MessageBox.Show("No es posible pasar de Publicada a Borrador", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }

                        // Nueva + Subasta + Publicada + (NuevoEstado = Finalizada)
                        else if ((tipoPubli == "Subasta") && (esBorrador == false) && (estado == "Finalizada"))
                        {

                            //Incluir última Subasta en Operaciones
                            decimal montoOferta = Oferta.cargarOfertaMasAlta(codPubli);
                            int idGanador = Oferta.getIdGanador(codPubli, montoOferta);

                            if (idGanador == -1)
                            {
                                DialogResult dlg = MessageBox.Show("Nadie ofertó por esta subasta, ¿Desea cerrarla de todos modos?", "Atención!", MessageBoxButtons.YesNo);

                                if (dlg == DialogResult.No)
                                {
                                    return;
                                }
                                else
                                {
                                    //updateo el estado de la publicacion
                                    Publicaciones.updateEstado(publi.Cod_Publicacion, "Finalizada");

                                    MessageBox.Show("Subasta finalizada, no hubo ofertas.", "Atención!", MessageBoxButtons.OK);

                                    this.Close();
                                }
                            }
                            else
                            {
                                Compra compra = new Compra(idVendedor, idGanador, codPubli, 0, montoOferta, false);
                                //inserto la compra a operaciones y
                                Compra.insertarCompra(compra);

                                //updateo el campo ventas_sin_rendir al id_vendedor
                                Usuario.updateVentasSinRendir(compra);

                                //updateo el estado de la publicacion
                                Publicaciones.updateEstado(publi.Cod_Publicacion, "Finalizada");

                                MessageBox.Show("Subasta finalizada! Avisar al ganador.", "Succes!", MessageBoxButtons.OK);

                                this.Close();
                            }
                        }
                        else
                        {
                            // Modificar + StockBien + No(Publicada-->Borrador) + (Gratis + NoBorrador)
                            if (visibilidad == "Gratis" && estado == "Publicada")
                            {
                                //Obtiene la cantidad de publicaciones gratuitas del usuario
                                int idUser = Convert.ToInt32(usuario.ID_User);
                                int cantidadPubliGratuitas = Usuario.obtenerPublisGratuitas(idUser);
                                MessageBox.Show(string.Format("Tiene {0}", cantidadPubliGratuitas), "CantPubliGratuitas", MessageBoxButtons.OK);
                                if (cantidadPubliGratuitas < 3)
                                {
                                    //Si no tiene Cant_Publi_Gratuitas en numero limite, sumar 1 a Cant_Publi_Gratuitas
                                    usuario.sumarPubliGratuita();

                                    //Actualiza los rubros
                                    List<int> listaRubrosDePublicacion = Rubro.obtenerRubrosDePublicacion(publi.Cod_Publicacion);
                                    Rubro.eliminarRubroPublicacion(listaRubrosDePublicacion, publi.Cod_Publicacion);
                                    //Publicaciones.eliminarPublicacion(publi);
                                    Rubro.agregarRubroPublicacion(listaRubrosSeleccionados, codPubli);

                                    //Actualiza la publicacion en la tabla Publicaciones
                                    Publicaciones.actualizarPublicacion(publi, visibilidadIndex, estadoIndex, tipoPubliIndex);

                                    this.Close();
                                }
                                else
                                {
                                    //Si tiene Cant_Publi_Gratuitas en numero limite, mostrar error
                                    MessageBox.Show("Ya posee 3 publicaciones gratuitas publicadas", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }

                            }

                            // Modificar + StockBien + No(Publicada-->Borrador)
                            else
                            {
                                //Actualiza la publicacion en la tabla Publicaciones
                                Publicaciones.actualizarPublicacion(publi, visibilidadIndex, estadoIndex, tipoPubliIndex);
                                Rubro.actualizarRubroPublicacion(listaRubrosSeleccionados, codPubli);
                                this.Close();
                            }
                        }
                    }
                }
            }

            //Caso que no haya completado todos los datos para generar la publi
            else
            {
                MessageBox.Show("Para continuar, ingrese todos los datos solicitados", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
示例#5
0
        //BOTON FILTRAR
        private void filtrar_button_Click(object sender, EventArgs e)
        {
            //Obtener todos los filtros
            int cod_publi;
            if (CodPubli_textBox.Text == ""){
                cod_publi = -1;
            }
            else{
                cod_publi = Convert.ToInt32(CodPubli_textBox.Text);
            }

            string visibilidad = Convert.ToString(Visibilidad_ComboBox.SelectedItem);
            int visibilidadIndex = Visibilidad_ComboBox.SelectedIndex;
            int idVendedor = usuario.ID_User;
            string descripcion = Descrip_TextBox.Text;

            int stock;
            if (StockInicial_TextBox.Text == ""){
                stock = -1;
            }
            else {
                stock = Convert.ToInt32(StockInicial_TextBox.Text);
            }

            DateTime fechaFin;
            bool fechaFinNula;
            if (dateTimePicker1.Text == " "){
                fechaFinNula = true;
                fechaFin = Convert.ToDateTime(null);
            }
            else{
                fechaFinNula = false;
                fechaFin = Convert.ToDateTime(dateTimePicker1.Text);
            }

            DateTime fechaInic;
            bool fechaInicNula;
            if (dateTimePicker2.Text == " "){
                fechaInicNula = true;
                fechaInic = Convert.ToDateTime(null);
            }
            else{
                fechaInicNula = false;
                fechaInic = Convert.ToDateTime(dateTimePicker2.Text);
            }

            string estado = Convert.ToString(Estado_ComboBox.SelectedItem);
            int estadoIndex = Estado_ComboBox.SelectedIndex;
            string tipoPubli = Convert.ToString(TipoPubli_ComboBox.SelectedItem);
            int tipoPubliIndex = TipoPubli_ComboBox.SelectedIndex;
            decimal precio;
            if (precio_textBox.Text == ""){
                precio = -1;
            }
            else{
                precio = Convert.ToDecimal(precio_textBox.Text);
            }

            //Recordar que el filtro de permiso de preguntas fue removido
            //bool permisoPreg = permisos_checkbox.Checked;
            bool permisoPreg = false;

            //Crea una publicacion a partir de los datos seleccionados
            Publicacion publi = new Publicacion(cod_publi, visibilidad, idVendedor, descripcion, stock, fechaFin, fechaInic, precio, estado, tipoPubli, permisoPreg, stock);

            //Comprueba que haya por lo menos 1 campo completo
            if ((cod_publi == -1) && (visibilidadIndex == -1) && (descripcion == "") && (stock == -1) && (precio == -1) && (estadoIndex == -1) && (tipoPubliIndex == -1) && fechaFinNula == true && fechaInicNula == true)
            {
                MessageBox.Show("Debe completar algún filtro para poder llevar a cabo esta acción", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                //Filtrar Publicaciones y mostrar en dataGridView1
                dataGridView1.DataSource = Publicaciones.filtrarPublicaciones(publi, visibilidad, estadoIndex, tipoPubliIndex, fechaFinNula, fechaInicNula, esAdmin);
            }
        }
示例#6
0
        public static List<Publicacion> obtenerTodaPublicacion()
        {
            List<Publicacion> publicaciones = new List<Publicacion>();
            SqlDataReader lector = BDSQL.ejecutarReader("SELECT * FROM MERCADONEGRO.Publicaciones p " +
                                                        "JOIN MERCADONEGRO.Estados_Publicacion ep ON p.Cod_EstadoPublicacion = ep.Cod_EstadoPublicacion " +
                                                        "WHERE ep.Descripcion != 'Finalizada' ", BDSQL.iniciarConexion());
            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    //Se obtienen las descripciones a partir de los codigos de la BD
                    int cod_visibilidad = Convert.ToInt32(lector["Cod_Visibilidad"]);
                    string desc_visibilidad = Interfaz.getDescripcion(cod_visibilidad, "visibilidad");
                    int cod_estado = Convert.ToInt32(lector["Cod_EstadoPublicacion"]);
                    string desc_estado = Interfaz.getDescripcion(cod_estado, "estado");
                    int cod_tipo = Convert.ToInt32(lector["Cod_TipoPublicacion"]);
                    string desc_tipo = Interfaz.getDescripcion(cod_tipo, "tipoPublicacion");

                     Publicacion unaPublicacion = new Publicacion(
                                                                 (int)(decimal)lector["Cod_Publicacion"],
                                                                 desc_visibilidad,
                                                                 (int)(decimal)lector["ID_Vendedor"],
                                                                 (string)lector["Descripcion"],
                                                                 (int)(decimal)lector["Stock"],
                                                                 (DateTime)lector["Fecha_Vencimiento"],
                                                                 (DateTime)lector["Fecha_Inicial"],
                                                                 (decimal)lector["Precio"],
                                                                 desc_estado, desc_tipo,
                                                                 (bool)lector["Permisos_Preguntas"],
                                                                 (int)(decimal)lector["Stock_Inicial"]
                                                                 );
                    publicaciones.Add(unaPublicacion);
                }
            }

            BDSQL.cerrarConexion();
            return publicaciones;
        }
示例#7
0
        public static List<Publicacion> obtenerPublicacionesPaginadas(int desde, int hasta, string filtro, bool filtroRubros)
        {
            List<Publicacion> publicaciones = new List<Publicacion>();

            List<SqlParameter> listaParametros = new List<SqlParameter>();
            BDSQL.agregarParametro(listaParametros, "@desde", desde);
            BDSQL.agregarParametro(listaParametros, "@hasta", hasta);

            String commandtext = "WITH tablaNumerada AS "
            + "(SELECT p.Cod_Publicacion, p.Cod_Visibilidad, ID_Vendedor,p.Descripcion, "
            + "Stock,Fecha_Vencimiento,Fecha_Inicial,Precio,Cod_EstadoPublicacion, "
            + "Cod_TipoPublicacion,Permisos_Preguntas,Stock_Inicial, ROW_NUMBER() OVER (ORDER BY v.Jerarquia) AS RowNumber "
            + "FROM MERCADONEGRO.Publicaciones p "
            + "JOIN MERCADONEGRO.Visibilidades v ON v.Cod_Visibilidad = p.Cod_Visibilidad ";

            if (filtroRubros)
            {
                commandtext += "JOIN MERCADONEGRO.Rubro_Publicacion rp ON p.Cod_Publicacion=rp.Cod_Publicacion ";

            }

            commandtext += "WHERE Cod_EstadoPublicacion = 1 AND Stock > 0";

            if (filtro != "")
                commandtext += " AND " + filtro;

            commandtext = commandtext + " ) "
            + "SELECT Cod_Publicacion, Cod_Visibilidad ,ID_Vendedor, Descripcion, "
            + "Stock, Fecha_Vencimiento, Fecha_Inicial, Precio, Cod_EstadoPublicacion, Cod_TipoPublicacion, Permisos_Preguntas, Stock_Inicial "
            + "FROM tablaNumerada "
            + "WHERE RowNumber BETWEEN @desde AND @hasta";

            SqlDataReader lector = BDSQL.ejecutarReader(commandtext, listaParametros, BDSQL.iniciarConexion());

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    Publicacion publi = new Publicacion();

                    publi.Cod_Publicacion = Convert.ToInt32(lector["Cod_Publicacion"]);
                    publi.Cod_Visibilidad = Interfaz.getDescripcion(Convert.ToInt32(lector["Cod_Visibilidad"]), "visibilidad");
                    publi.ID_Vendedor = Convert.ToInt32(lector["ID_Vendedor"]);
                    publi.Descripcion = Convert.ToString(lector["Descripcion"]);
                    publi.Stock = Convert.ToInt32(lector["Stock"]);
                    publi.Fecha_Vto = Convert.ToDateTime(lector["Fecha_Vencimiento"]);
                    publi.Fecha_Inicio = Convert.ToDateTime(lector["Fecha_Inicial"]);
                    publi.Precio = Convert.ToDecimal(lector["Precio"]);
                    publi.Estado_Publicacion = Interfaz.getDescripcion(Convert.ToInt32(lector["Cod_EstadoPublicacion"]), "estado" );
                    publi.Tipo_Publicacion = Interfaz.getDescripcion(Convert.ToInt32(lector["Cod_TipoPublicacion"]), "tipoPublicacion");
                    publi.Permiso_Preguntas = Convert.ToBoolean(lector["Permisos_Preguntas"]);
                    publi.Stock_Inicial = Convert.ToInt32(lector["Stock_Inicial"]);

                    publicaciones.Add(publi);
                }
            }

            BDSQL.cerrarConexion();
            return publicaciones;
        }
示例#8
0
        public static int obtenerCodPublicacion(Publicacion unaPubli, int visibilidad, int estado, int tipoPubli)
        {
            List<SqlParameter> listaParametros = new List<SqlParameter>();

            BDSQL.agregarParametro(listaParametros, "@Cod_Visibilidad", visibilidad);
            BDSQL.agregarParametro(listaParametros, "@ID_Vendedor", unaPubli.ID_Vendedor);
            BDSQL.agregarParametro(listaParametros, "@Descripcion", unaPubli.Descripcion);
            BDSQL.agregarParametro(listaParametros, "@Stock", unaPubli.Stock);
            BDSQL.agregarParametro(listaParametros, "@Fecha_Vto", unaPubli.Fecha_Vto);
            BDSQL.agregarParametro(listaParametros, "@Fecha_Inic", unaPubli.Fecha_Inicio);
            BDSQL.agregarParametro(listaParametros, "@Precio", unaPubli.Precio);
            BDSQL.agregarParametro(listaParametros, "@Estado_Publicacion", estado);
            BDSQL.agregarParametro(listaParametros, "@Tipo_Publicacion", tipoPubli);
            BDSQL.agregarParametro(listaParametros, "@Permiso_Preguntas", unaPubli.Permiso_Preguntas);
            BDSQL.agregarParametro(listaParametros, "@Stock_Inicial", unaPubli.Stock_Inicial);

            int codPubli=0;
            SqlDataReader lector = BDSQL.ejecutarReader("SELECT * FROM MERCADONEGRO.Publicaciones " +
                                                        "WHERE Cod_visibilidad=@Cod_visibilidad AND " +
                                                        "ID_Vendedor=@ID_Vendedor AND Descripcion=@Descripcion AND " +
                                                        "Stock=@Stock AND Fecha_Vencimiento=@Fecha_Vto AND " +
                                                        "Fecha_Inicial=@Fecha_Inic AND Precio=@Precio AND " +
                                                        "Cod_EstadoPublicacion=@Estado_Publicacion AND " +
                                                        "Cod_TipoPublicacion=@Tipo_Publicacion AND " +
                                                        "Permisos_Preguntas=@Permiso_Preguntas AND Stock_Inicial=@Stock_Inicial",
                                                        listaParametros, BDSQL.iniciarConexion());
            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    codPubli = (int)(decimal)lector["Cod_Publicacion"];
                }
            }

            BDSQL.cerrarConexion();
            return codPubli;
        }
示例#9
0
        public static List<Publicacion> filtrarPublicaciones(Publicacion unaPublicacion, string visibilidad, int indexEstado, int indexTipo, 
            bool fechaFinNula, bool fechaInicNula, bool esAdmin)
        {
            List<Publicacion> publicaciones = new List<Publicacion>();
            List<SqlParameter> listaParametros = new List<SqlParameter>();

            //Checkeo y asignacion de parametros
            if (unaPublicacion.Cod_Publicacion == -1){
                listaParametros.Add(new SqlParameter("@codPubli", DBNull.Value));
            }
            else{
                listaParametros.Add(new SqlParameter("@codPubli", unaPublicacion.Cod_Publicacion));
            }

            if (visibilidad == "")
            {
                listaParametros.Add(new SqlParameter("@codVisib", DBNull.Value));
            }
            else
            {
                int idVisibilidad = Visibilidad.obtenerIDVisibilidad(visibilidad);
                listaParametros.Add(new SqlParameter("@codVisib", idVisibilidad));
            }

            listaParametros.Add(new SqlParameter("@idUser", unaPublicacion.ID_Vendedor));
            listaParametros.Add(new SqlParameter("@descrip", unaPublicacion.Descripcion));

            if (unaPublicacion.Stock == -1){
                listaParametros.Add(new SqlParameter("@stock", DBNull.Value));
            }
            else{
                listaParametros.Add(new SqlParameter("@stock",unaPublicacion.Stock));
            }

            if(fechaFinNula == true)
            {
                listaParametros.Add(new SqlParameter("@fechaVto", DBNull.Value));
            }
            else{
                listaParametros.Add(new SqlParameter("@fechaVto",unaPublicacion.Fecha_Vto));
            }

            if (fechaInicNula == true)
            {
                listaParametros.Add(new SqlParameter("@fechaInic", DBNull.Value));
            }
            else{
                listaParametros.Add(new SqlParameter("@fechaInic", unaPublicacion.Fecha_Inicio));
            }

            if (unaPublicacion.Precio == -1){
                listaParametros.Add(new SqlParameter("@precio", DBNull.Value));
            }
            else{
                listaParametros.Add(new SqlParameter("@precio",unaPublicacion.Precio));
            }

            if (indexEstado == -1)
            {
                listaParametros.Add(new SqlParameter("@estado", DBNull.Value));
            }
            else
            {
                listaParametros.Add(new SqlParameter("@estado", indexEstado));
            }

            if (indexTipo == -1)
            {
                listaParametros.Add(new SqlParameter("@tipo", DBNull.Value));
            }
            else
            {
                listaParametros.Add(new SqlParameter("@tipo", indexTipo));
            }

            listaParametros.Add(new SqlParameter("@permiso", unaPublicacion.Permiso_Preguntas));

            //Dependiendo si el usuario logueado es o no admin, filtra todas las publicaciones o las del usuario
            SqlDataReader lector;
            if (esAdmin == false)
            {
                lector = BDSQL.ejecutarReader("SELECT * FROM MERCADONEGRO.Publicaciones WHERE (ID_Vendedor=@idUser) AND " +
                                              "((@codVisib is NULL) OR (Cod_Visibilidad = @codVisib)) AND " +
                                              "((@codPubli is NULL) OR (Cod_Publicacion = @codPubli)) AND " +
                                              "((@descrip is NULL) OR (Descripcion LIKE '%' + @descrip + '%') AND " +
                                              "((@stock is NULL) OR (Stock = @stock))) AND " +
                                              "((@fechaVto is NULL) OR (Fecha_Vencimiento = @fechaVto)) AND " +
                                              "((@fechaInic is NULL) OR (Fecha_Inicial = @fechaInic)) AND " +
                                              "((@precio is NULL) OR (Precio = @precio)) AND " +
                                              "((@estado is NULL) OR (Cod_EstadoPublicacion = @estado)) AND " +
                                              "((@tipo is NULL) OR (Cod_TipoPublicacion = @tipo))",
                                              listaParametros, BDSQL.iniciarConexion());
            }
            else
            {
                lector = BDSQL.ejecutarReader("SELECT * FROM MERCADONEGRO.Publicaciones " +
                                              "WHERE ((@codVisib is NULL) OR (Cod_Visibilidad = @codVisib)) AND " +
                                              "((@codPubli is NULL) OR (Cod_Publicacion = @codPubli)) AND " +
                                              "((@descrip is NULL) OR (Descripcion LIKE '%' + @descrip + '%') AND " +
                                              "((@stock is NULL) OR (Stock = @stock))) AND " +
                                              "((@fechaVto is NULL) OR (Fecha_Vencimiento = @fechaVto)) AND " +
                                              "((@fechaInic is NULL) OR (Fecha_Inicial = @fechaInic)) AND " +
                                              "((@precio is NULL) OR (Precio = @precio)) AND " +
                                              "((@estado is NULL) OR (Cod_EstadoPublicacion = @estado)) AND " +
                                              "((@tipo is NULL) OR (Cod_TipoPublicacion = @tipo))",
                                              listaParametros, BDSQL.iniciarConexion());
            }

            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    //Se obtienen las descripciones a partir de los codigos de la BD
                    int cod_visibilidad = Convert.ToInt32(lector["Cod_Visibilidad"]);
                    string desc_visibilidad = Interfaz.getDescripcion(cod_visibilidad, "visibilidad");
                    int cod_estado = Convert.ToInt32(lector["Cod_EstadoPublicacion"]);
                    string desc_estado = Interfaz.getDescripcion(cod_estado, "estado");
                    int cod_tipo = Convert.ToInt32(lector["Cod_TipoPublicacion"]);
                    string desc_tipo = Interfaz.getDescripcion(cod_tipo, "tipoPublicacion");

                    //Se obtiene la publicacion de la BD y se agrega a la lista de Publicaciones
                    Publicacion unaPubli = new Publicacion(
                                                           (int)(decimal)lector["Cod_Publicacion"],
                                                           desc_visibilidad,
                                                           (int)(decimal)lector["ID_Vendedor"],
                                                           (string)lector["Descripcion"],
                                                           (int)(decimal)lector["Stock"],
                                                           (DateTime)lector["Fecha_Vencimiento"],
                                                           (DateTime)lector["Fecha_Inicial"],
                                                           (decimal)lector["Precio"],
                                                           desc_estado, desc_tipo,
                                                           (bool)lector["Permisos_Preguntas"],
                                                           (int)(decimal)lector["Stock_Inicial"]);
                    publicaciones.Add(unaPubli);
                }
            }
            BDSQL.cerrarConexion();
            return publicaciones;
        }
示例#10
0
        public static void eliminarPublicacion(Publicacion unaPubli)
        {
            List<SqlParameter> listaParametros = new List<SqlParameter>();
            listaParametros.Add(new SqlParameter("@idUser", unaPubli.ID_Vendedor));
            listaParametros.Add(new SqlParameter("@Cod_Publi", unaPubli.Cod_Publicacion));

            int resultado = BDSQL.ejecutarQuery("DELETE FROM MERCADONEGRO.Publicaciones " +
                                                "WHERE ID_Vendedor=@idUser AND Cod_Publicacion=@Cod_Publi",
                                                listaParametros, BDSQL.iniciarConexion());

            if (resultado == -1)
                MessageBox.Show("Falló al eliminar Publicacion", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            BDSQL.cerrarConexion();
        }