private String ArmarMensaje(Publicacion publi)
        {
            String mensaje = "Esta Publicación se encuentra en Estado Pausado\n" +
                "Podrá cambiar el Estado a Publicada " + publi.mensajeParaPausada();

            return mensaje;
        }
 public EditarPublicacionBorrador(Publicacion publicacionAEditar)
 {
     InitializeComponent();
     publicacion = publicacionAEditar;
     rubrosCheckeados = RepositorioRubros.Instance.ObtenerRubrosPorPublicacion(publicacionAEditar);
     this.popular();
     this.InicializarValores();
 }
        public void AgregarRubrosAPublicacion(Publicacion publicacion, Rubro rubroSeleccionado)
        {
            var query = String.Format(@"INSERT INTO NINIRODIE.PUBLICACION_RUBRO " +
                                        "(PR_PUBLICACION_ID, PR_RUBRO_ID)" +
                                        "VALUES ('{0}', '{1}')", publicacion.publicacion_id, rubroSeleccionado.rubro_id);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);
        }
        public void Quitar(Publicacion publicacion, Rubro rubroCheckeadoAnterior)
        {
            var query = String.Format(@"DELETE FROM NINIRODIE.PUBLICACION_RUBRO " +
                "WHERE PR_PUBLICACION_ID = '{0}' AND PR_RUBRO_ID = '{1}'", publicacion.publicacion_id,
                rubroCheckeadoAnterior.rubro_id);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);
        }
        public List<Rubro> ObtenerRubrosPorPublicacion(Publicacion publicacionAEditar)
        {
            var query = String.Format(@"SELECT RUB_RUBRO_ID, RUB_DESCRIPCION " +
                                       "FROM NINIRODIE.RUBRO, NINIRODIE.PUBLICACION_RUBRO " +
                                       "WHERE PR_RUBRO_ID = RUB_RUBRO_ID AND PR_PUBLICACION_ID = '{0}'",
                                       publicacionAEditar.publicacion_id);

            return this.Rubro(query);
        }
        public override void editar(Publicacion publicacion, BuscarPublicacion ventanaBusqueda)
        {
            MessageBox.Show(this.ArmarMensaje(publicacion), "Atención", MessageBoxButtons.OK);

            var estados = new List<Estado>();
            estados.Add(this);
            estados.Add(new Publicada(1, "Publicada"));

            new EditarPublicacion(publicacion, estados).ShowDialog(ventanaBusqueda);
        }
        public EditarPublicacion(Publicacion publicacionAEditar)
        {
            InitializeComponent();
            publiAEditar = publicacionAEditar;
            //this.ObtenerEstadosAMostrar();
            this.popular();

            this.stockTextBox.Text = publicacionAEditar.stock.ToString();

            this.ObtenerVisibilidadStock();
        }
        public EditarPublicacion(Publicacion publicacionAEditar, List<Estado> states)
        {
            InitializeComponent();
            publiAEditar = publicacionAEditar;
            estados = states;
            this.popular();

            this.stockTextBox.Text = publicacionAEditar.stock.ToString();

            this.ObtenerVisibilidadStock();
        }
        public void AgregarPublicacion(Publicacion publicacion)
        {
            this.AgregarPublicacionBorrador(publicacion);

            if (publicacion.estado.id != 2)
            {
                var query = String.Format(@"UPDATE NINIRODIE.PUBLICACION SET PUB_ESTADO = '{0}'" +
                                            "WHERE PUB_PUBLICACION_ID = '{1}'", publicacion.estado.id, publicacion.publicacion_id);

                SQLUtils.EjecutarConsultaConEfectoDeLado(query);
            }
        }
        public void AgregarPublicacionBorrador(Publicacion publicacion)
        {
            publicacion.publicacion_id = this.ProximoCodigo();

            var query = String.Format(@"INSERT INTO NINIRODIE.PUBLICACION " +
                            "(PUB_PUBLICACION_ID, PUB_DESCRIPCION, PUB_TIPO, PUB_VISIBILIDAD_CODIGO, " +
                            "PUB_VENDEDOR, PUB_ESTADO, PUB_PERMITE_PREGUNTA, PUB_STOCK, " +
                            "PUB_FECHA_INICIO, PUB_PRECIO)" +
                            "VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}')",
                            publicacion.publicacion_id, publicacion.descripcion.ToString(), publicacion.tipo.id, publicacion.visibilidad_codigo,
                            publicacion.vendedor, "2", publicacion.permitePregunta,
                            publicacion.stock, DBTypeConverter.ToSQLDateTime(publicacion.fecha_inicio), publicacion.precio);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);
        }
        public override void editar(Publicacion publicacion, BuscarPublicacion ventanaBusqueda)
        {
            DialogResult resultadoDialogo = MessageBox.Show("Esta publicación se encuentra en estado Activo \n" +
                                            "¿Esta seguro que deseada modificarla?", "Atención", MessageBoxButtons.YesNo);

            if (resultadoDialogo == DialogResult.Yes)
            {
                var estados = new List<Estado>();
                estados.Add(this);
                var states = publicacion.tipo.estadosParaEditarPublicada();

                states.ForEach(state => estados.Add(state));

                new EditarPublicacion(publicacion, estados).ShowDialog(ventanaBusqueda);
            }
        }
 public virtual void editar(Publicacion publicacion, BuscarPublicacion ventanaBusqueda)
 {
 }
 public override void editar(Publicacion publicacion, BuscarPublicacion ventanaBusqueda)
 {
     new EditarPublicacionBorrador(publicacion).ShowDialog(ventanaBusqueda);
 }
        private void generarPublicacion()
        {
            var publicacion = new Publicacion(this.descripcionTextBox.Text, this.tipoPubli,
                    ((Visibilidad)this.visibilidades.SelectedValue).visibilidadCodigo, codigoUsuario,
                    (Estado)(this.estado.SelectedValue), this.preguntas.Checked, Decimal.Parse(this.txtBoxStock.Text),
                    this.dateTimePicker.Value, this.dateTimePicker.Value, Decimal.Parse(this.txtBoxPrecio.Text));

                RepositorioPublicacion.Instance.AgregarPublicacion(publicacion);

                foreach (Rubro rubroSeleccionado in this.RubrosCheckList.CheckedItems)
                {
                    RepositorioPublicacionPorRubro.Instance.AgregarRubrosAPublicacion(publicacion, rubroSeleccionado);
                }
        }
 public override void editar(Publicacion publicacion, BuscarPublicacion ventanaBusqueda)
 {
     MessageBox.Show("Este tipo de Publicación no puede ser modificada",
         "Atención", MessageBoxButtons.OK);
 }
        public void Update(Publicacion publicacion)
        {
            var query = String.Format(@"UPDATE NINIRODIE.PUBLICACION SET " +
                "PUB_DESCRIPCION = '{0}', PUB_TIPO = '{1}', PUB_VISIBILIDAD_CODIGO = '{2}', " +
                "PUB_VENDEDOR = '{3}', PUB_ESTADO = '{4}', PUB_PERMITE_PREGUNTA = '{5}', PUB_STOCK = '{6}', " +
                "PUB_FECHA_INICIO = '{7}', PUB_PRECIO = '{8}' WHERE PUB_PUBLICACION_ID = '{9}'", publicacion.descripcion.ToString(),
                publicacion.tipo.id, publicacion.visibilidad_codigo, publicacion.vendedor, publicacion.estado.id,
                publicacion.permitePregunta, publicacion.stock, DBTypeConverter.ToSQLDateTime(publicacion.fecha_inicio), Decimal.Truncate(publicacion.precio), publicacion.publicacion_id);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);
        }
        public void UpdateEstado(Publicacion publiAEditar)
        {
            var query = String.Format(@"UPDATE NINIRODIE.PUBLICACION SET PUB_ESTADO = '{0}', " +
                "PUB_STOCK = '{1}' WHERE PUB_PUBLICACION_ID = '{2}'",
                publiAEditar.estado.id, publiAEditar.stock, publiAEditar.publicacion_id);

            SQLUtils.EjecutarConsultaConEfectoDeLado(query);
        }