private void insertarFunciones()
        {
            List <Publicacion> publicaciones = new List <Publicacion>();
            List <Ubicacion>   ubicaciones   = new List <Ubicacion>();

            for (int i = 0; i < fechasAAgregar.Count; i++)
            {
                Publicacion publicacion = new Publicacion();
                publicacion.descripcion = descripcionTxt.Text;
                publicacion.rubro       = rubroTxt.Text;
                publicacion.grado       = Convert.ToInt32(gradoTxt.SelectedValue);
                publicacion.estado      = Convert.ToInt32(estadoTxt.SelectedValue);
                publicacion.codigo      = codigoPublicacion;
                publicaciones.Add(publicacion);
            }
            DataGridViewRow fila = new DataGridViewRow();

            for (int i = 0; i < dgvUbicacionesActuales.Rows.Count; i++)
            {
                fila = dgvUbicacionesActuales.Rows[i];
                Ubicacion ubicacion = new Ubicacion();
                if (!Convert.ToBoolean(dgvUbicacionesActuales.Rows[i].Cells[5].Value))
                {
                    ubicacion.tipo = dgvUbicacionesActuales.Rows[i].Cells[0].Value.ToString();
                    if (dgvUbicacionesActuales.Rows[i].Cells[1].Value.ToString().Equals(""))
                    {
                        ubicacion.tipoId = 0;
                    }
                    else
                    {
                        ubicacion.tipoId = Convert.ToInt32(dgvUbicacionesActuales.Rows[i].Cells[1].Value);
                    }
                    ubicacion.filas           = Convert.ToInt32(dgvUbicacionesActuales.Rows[i].Cells[2].Value);
                    ubicacion.asientosPorFila = Convert.ToInt32(dgvUbicacionesActuales.Rows[i].Cells[3].Value);
                    ubicacion.precio          = Convert.ToInt32(dgvUbicacionesActuales.Rows[i].Cells[4].Value);
                    ubicaciones.Add(ubicacion);
                }
            }
            List <UbicacionIndividual> ubicacionesIndividuales = generarUbicacionesIndividuales(ubicaciones);

            Conexion.getInstance().InsertarPublicaciones(idEmpresa, publicaciones, fechasAAgregar, ubicacionesIndividuales);
        }
Esempio n. 2
0
        private void button3_Click(object sender, EventArgs e)
        {
            //Agrega una ubicacion a la lista de abajo

            this.HayCambiosDeUbicaciones = true;

            if (this.VerificarCamposUbicacion())
            {
                Ubicacion ubicacion = new Ubicacion();

                ubicacion.CantidadAsientos = Int32.Parse(textBoxCantidad.Text);
                ubicacion.Precio           = Int32.Parse(textBoxPrecio.Text);
                ubicacion.TipoAsiento      = textBoxAsiento.Text;
                ubicacion.Numerada         = checkBoxNumerado.Checked;
                if (checkBoxNumerado.Checked)
                {
                    ubicacion.CantidadFilas = Int32.Parse(textBoxFilas.Text);
                }

                this.PublicacionElegida.Ubicaciones.Add(ubicacion);
                this.actualizarUbicaciones();
            }
        }
Esempio n. 3
0
        private void button2_Click(object sender, EventArgs e)
        {
            //Verifica los cambios y valida que cosas han sido modificadas para luego mediante un sp actualizar
            //la informacion de la publicación en la base

            if (this.VerificarCampos() && (this.hayCambiosDeBase || this.HayCambiosDeUbicaciones || this.HayCambiosDeFecha))
            {
                this.PublicacionElegida.Descripcion         = textBoxDescripcion.Text;
                this.PublicacionElegida.Direccion           = textBoxDireccion.Text;
                this.PublicacionElegida.EstadoDePublicacion = comboBoxEstado.Text;
                this.PublicacionElegida.Rubro = comboBoxRubro.Text;

                //Actualizar fechas y ubicaciones
                List <DateTime> fechas = new List <DateTime>();
                foreach (DataGridViewRow dr in dataGridViewFechas.Rows)
                {
                    DateTime fecha = (DateTime)dr.DataBoundItem;
                    fechas.Add(fecha);
                }

                List <Ubicacion> ubicaciones = new List <Ubicacion>();
                foreach (DataGridViewRow dr in dataGridViewUbicaciones.Rows)
                {
                    Ubicacion ubicacion = (Ubicacion)dr.DataBoundItem;
                    ubicaciones.Add(ubicacion);
                }

                this.PublicacionElegida.Fechas.Clear();
                this.PublicacionElegida.Ubicaciones.Clear();
                this.PublicacionElegida.Fechas      = fechas;
                this.PublicacionElegida.Ubicaciones = ubicaciones;

                Servidor servidor = Servidor.getInstance();
                if (this.HayCambiosDeBase)
                {
                    servidor.query("EXEC MATE_LAVADO.actualizarPublicacion_sp " + this.PublicacionElegida.Id + ", '" + this.PublicacionElegida.Descripcion +
                                   "', '" + this.PublicacionElegida.Direccion + "', '" + this.PublicacionElegida.EstadoDePublicacion + "', '" + this.PublicacionElegida.Rubro + "'");
                }

                //Limpia los espectaculos existente y agrega los seleccionados a la publicacion
                if (this.HayCambiosDeFecha || this.HayCambiosDeUbicaciones)
                {
                    progressBar1.Maximum = this.PublicacionElegida.Fechas.Count() * this.PublicacionElegida.Ubicaciones.Sum(ubi => ubi.CantidadAsientos);
                    servidor.query("EXEC MATE_LAVADO.vaciarEspectaculosPublicacion_sp " + this.PublicacionElegida.Id);

                    List <Int32> ids_espectaculos = new List <Int32>();

                    foreach (DateTime f in this.PublicacionElegida.Fechas)
                    {
                        string        query2            = "'" + this.PublicacionElegida.Id + "', '" + f.ToString("yyyy-MM-dd HH:mm:ss.fff") + "', '" + this.PublicacionElegida.EstadoDePublicacion + "', '" + Sesion.getInstance().fecha.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
                        SqlDataReader readerEspectaculo = servidor.query("EXEC MATE_LAVADO.agregarEspectaculo_sp " + query2);

                        readerEspectaculo.Read();
                        Int32 id = Convert.ToInt32(readerEspectaculo["id_espectaculo"]);
                        ids_espectaculos.Add(id);
                    }

                    //Agrega las ubicaciones y la relacion de ellas con la publicacion a la base
                    List <Int32> ids_ubicaciones = new List <Int32>();

                    foreach (Ubicacion u in this.PublicacionElegida.Ubicaciones)
                    {
                        string query3 = "'" + u.TipoAsiento + "', '"
                                        + u.CantidadAsientos + "', '" + (u.Numerada ? u.CantidadFilas : 0) + "', '" + u.Precio + "'";

                        SqlDataReader readerUbicaciones = servidor.query("EXEC MATE_LAVADO.agregarUbicaciones_sp " + query3);

                        while (readerUbicaciones.Read())
                        {
                            ids_ubicaciones.Add(Convert.ToInt32(readerUbicaciones["id_ubicacion"]));
                        }
                    }

                    foreach (Int32 id_u in ids_ubicaciones)
                    {
                        foreach (Int32 id_e in ids_espectaculos)
                        {
                            string query4 = "'" + id_u + "', '" + id_e + "'";
                            servidor.query("EXEC MATE_LAVADO.agregarUbicacionXEspectaculo_sp " + query4);
                            this.progressBar1.Increment(1);
                        }
                    }
                }

                MessageBox.Show("Los cambios se registraron exitosamente!", "Editar publicación", MessageBoxButtons.OK);

                this.limpiar();

                this.buscarPublicaciones();
            }
            else
            {
                string mensaje = "Los siguientes campos deben ser completados:";
                if (string.IsNullOrWhiteSpace(textBoxDescripcion.Text))
                {
                    mensaje = mensaje + "\n Descripción";
                }
                if (string.IsNullOrWhiteSpace(textBoxDireccion.Text))
                {
                    mensaje = mensaje + "\n Dirección";
                }
                if (comboBoxEstado.SelectedIndex <= -1)
                {
                    mensaje = mensaje + "\n Estado";
                }
                if (comboBoxRubro.SelectedIndex <= -1)
                {
                    mensaje = mensaje + "\n Rubro";
                }

                MessageBox.Show(mensaje, "Error", MessageBoxButtons.OK);
            }
        }
        private void btnAlta_Click(object sender, EventArgs e)
        {
            Ubicacion_Publicacion ubica_publi = new Ubicacion_Publicacion();
            Publicacion           publi       = new Publicacion();
            Espectaculo           espec       = new Espectaculo();
            Direccion             direccion   = new Direccion();
            Grado grado = new Grado();

            if (validarDatos())
            {
                string respuesta = Microsoft.VisualBasic.Interaction.InputBox("Se va a proceder a crear las publicaciones solicitadas, esta accion no se puede deshacer. Esta seguro que desea crear las publicaciones?\n\nEscriba SI para confirmar la operacion.", "Confirmacion");
                if (respuesta.ToUpper() != "SI")
                {
                    MessageBox.Show("Se aborto la operacion actual.");
                    return;
                }

                /* Agrego todas las direcciones */
                foreach (string item in cmbDireccion.Items)
                {
                    string[] items = item.Split('#');
                    direccion.calle         = items[0].Split(':')[1].Substring(1);
                    direccion.numero        = items[1].ToString();
                    direccion.piso          = items[2].ToString();
                    direccion.depto         = items[3].ToString();
                    direccion.localidad     = items[4].ToString();
                    direccion.codigo_postal = items[5].ToString();

                    if (!DBHelper.altaDeDireccion(direccion))
                    {
                        MessageBox.Show("Se produjo un error intenta dar de alta la direccion.");
                    }
                }

                Ubicacion ubica = new Ubicacion();
                ubica.fila             = "UNICA";
                ubica.asiento          = 0;
                ubica.sin_numerar      = true;
                ubica.precio           = Int32.Parse(txtPrecio.Text);
                ubica.tipo_descripcion = "General";

                grado.prioridad  = cmbGrado.SelectedItem.ToString().Split(';')[0].Split(':')[1];
                grado.comision   = Int32.Parse(cmbGrado.SelectedItem.ToString().Split(';')[1].Split(':')[1]);
                grado.habilitado = Convert.ToBoolean(cmbGrado.SelectedItem.ToString().Split(';')[2].Split(':')[1]);
                grado            = DBHelper.getGrado(grado.prioridad, grado.comision);

                publi.estado = DBHelper.getEstado(cmbEstado.SelectedItem.ToString());
                publi.rubro  = DBHelper.getRubro(cmbRubro.SelectedItem.ToString());

                publi.descripcion = txtDescripcion.Text;
                publi.stock       = Int32.Parse(txtStock.Text);
                publi.user        = VariablesGlobales.usuario;
                publi.grado       = grado;
                publi.id          = Int32.Parse(txtID.Text);

                espec.descripcion = publi.descripcion;
                espec.direccion   = direccion;
                espec.estado      = publi.estado;
                espec.rubro       = publi.rubro;

                publi.espectaculo = espec;

                foreach (DateTime item in cmbFechaEspectaculo.Items)
                {
                    publi.codigo      = DBHelper.publicacionCodigo(publi.id);
                    ubica.tipo_codigo = publi.codigo;
                    espec.codigo      = publi.codigo;

                    publi.fecha_evento = item;
                    espec.fecha_venc   = item;

                    ubica_publi.ubicacion   = ubica;
                    ubica_publi.publicacion = publi;
                    ubica_publi.disponible  = true;
                    if (DBHelper.modificarEspectaculo(espec))
                    {
                        if (DBHelper.publicacionModificar(ubica_publi.publicacion) && DBHelper.ubicacionModificar(ubica_publi.ubicacion))
                        {
                            MessageBox.Show("Se actualizo la publicacion correctamente.");
                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("Se produjo un error actualizando la Publicacion.");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Se produjo un error actualizando el espectaculo.");
                    }
                }
            }
        }