private void DeleteSelected_Click(object sender, EventArgs e)
        {
            progressBar.Maximum = 6;
            progressBar.Value   = 0;
            progressBar.Value++;
            int      tema = comboBoxTema.SelectedIndex;
            ListTema memTemaSeleccionado = TemaSeleccionado;

            try
            {
                SandBoxDB.SandBoxEntities SandBoxCtx = new SandBoxDB.SandBoxEntities();
                progressBar.Value++;
                var reg = new SandBoxDB.Rel_ConceptoRespValor()
                {
                    IdConceptoRespValor = preguntaSeleccionada.IdConceptoRespValor
                };
                SandBoxCtx.Rel_ConceptoRespValor.Attach(reg);
                SandBoxCtx.Rel_ConceptoRespValor.Remove(reg);
                progressBar.Value++;
                SandBoxCtx.SaveChanges();
                progressBar.Value++;
                InicializaCustionario();
                progressBar.Value++;
                TemaSeleccionado = memTemaSeleccionado;
                ShowCuestionario(TemaSeleccionado.IdTema);
                comboBoxTema.SelectedIndex = tema;
                progressBar.Value++;
                ClearRegistro();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "\n no se borro el registro");
            }
            progressBar.Value = 0;
        }
        public void Actualiza_ConceptosDB()
        {
            int      tema = comboBoxTema.SelectedIndex;
            ListTema memTemaSeleccionado = TemaSeleccionado;

            InicializaCustionario();
            comboBoxTema.SelectedIndex = tema;
            TemaSeleccionado           = memTemaSeleccionado;
        }
        private void buttonModifica_Click(object sender, EventArgs e)
        {
            progressBar.Maximum = 11;
            progressBar.Value   = 0;
            progressBar.Value++;
            int      tema = comboBoxTema.SelectedIndex;
            ListTema memTemaSeleccionado = TemaSeleccionado;

            if (Reg_IdTema == null)
            {
                MessageBox.Show("Seleccionar el tema al que pertenece la pregunta");
                return;
            }
            progressBar.Value++;
            if (Reg_EsDeterminante == null)
            {
                MessageBox.Show("Definir si es determinante o no");
                return;
            }
            progressBar.Value++;
            if (Reg_ValorMinimo == null)
            {
                MessageBox.Show("Definir el valor mínimo");
                return;
            }
            progressBar.Value++;
            if (Reg_ValorMaximo == null)
            {
                MessageBox.Show("Definir el valor máximo");
                return;
            }
            progressBar.Value++;
            if (Reg_EstatusRegistro == null)
            {
                MessageBox.Show("Definir el estatus del registro");
                return;
            }
            progressBar.Value++;
            if (Reg_IdUsuarioRegistro == -1)
            {
                MessageBox.Show("Definir Id Usuario Registro");
                return;
            }
            progressBar.Value++;
            if (RegistroModificado)
            {
                if (preguntaSeleccionada != null)
                {
                    int reg = preguntaSeleccionada.IdConceptoRespValor;
                    try
                    {
                        SandBoxDB.SandBoxEntities SandBoxCtx = new SandBoxDB.SandBoxEntities();
                        var result = SandBoxCtx.Rel_ConceptoRespValor.SingleOrDefault(b => b.IdConceptoRespValor == reg);
                        progressBar.Value++;
                        if (result != null)
                        {
                            result.Fk_IdInstitucion     = Reg_IdInstitucion;
                            result.Fk_IdTema            = (byte)Reg_IdTema;
                            result.Fk_IdConcepto        = Reg_IdConcepto;
                            result.Fk_IdRespuesta       = Reg_IdRespuesta;
                            result.NumOrden             = Reg_NumOrden;
                            result.EsDeterminante       = (bool)Reg_EsDeterminante;
                            result.ValorRespuesta       = Reg_ValorRespuesta;
                            result.ValorMinimo          = (decimal)Reg_ValorMinimo;
                            result.ValorMaximo          = (decimal)Reg_ValorMaximo;
                            result.Comentario           = Reg_Comentario;
                            result.EstatusRegistro      = (bool)Reg_EstatusRegistro;
                            result.Fk_IdUsuarioRegistro = Reg_IdUsuarioRegistro;
                            result.FechaRegistro        = DateTime.Today;
                            progressBar.Value++;
                            SandBoxCtx.SaveChanges();
                            InicializaCustionario();
                            progressBar.Value++;
                            TemaSeleccionado = memTemaSeleccionado;
                            ShowCuestionario(TemaSeleccionado.IdTema);
                            progressBar.Value++;
                            comboBoxTema.SelectedIndex = tema;
                            ClearRegistro();
                        }
                        ;
                    }
                    catch (Exception ex) {
                        MessageBox.Show(ex.Message + "\n no se modifico el registro");
                    }
                }
            }
            progressBar.Value = 0;
        }
 private void buttonInsertRelacion_Click(object sender, EventArgs e)
 {
     progressBar.Maximum = 11;
     progressBar.Value   = 0;
     progressBar.Value++;
     if (Reg_IdTema == null)
     {
         MessageBox.Show("Seleccionar el tema al que pertenece la pregunta");
         return;
     }
     progressBar.Value++;
     if (Reg_EsDeterminante == null)
     {
         MessageBox.Show("Definir si es determinante o no");
         return;
     }
     progressBar.Value++;
     if (Reg_ValorMinimo == null)
     {
         MessageBox.Show("Definir el valor mínimo");
         return;
     }
     progressBar.Value++;
     if (Reg_ValorMaximo == null)
     {
         MessageBox.Show("Definir el valor máximo");
         return;
     }
     progressBar.Value++;
     if (Reg_EstatusRegistro == null)
     {
         MessageBox.Show("Definir el estatus del registro");
         return;
     }
     progressBar.Value++;
     if (Reg_IdUsuarioRegistro == -1)
     {
         MessageBox.Show("Definir Id Usuario Registro");
         return;
     }
     progressBar.Value++;
     if (RegistroModificado)
     {
         int      tema = comboBoxTema.SelectedIndex;
         ListTema memTemaSeleccionado = TemaSeleccionado;
         try
         {
             SandBoxDB.SandBoxEntities SandBoxCtx = new SandBoxDB.SandBoxEntities();
             progressBar.Value++;
             SandBoxDB.Rel_ConceptoRespValor NuevaRelación = new SandBoxDB.Rel_ConceptoRespValor()
             {
                 Fk_IdInstitucion     = Reg_IdInstitucion,
                 Fk_IdTema            = (byte)Reg_IdTema,
                 Fk_IdConcepto        = Reg_IdConcepto,
                 Fk_IdRespuesta       = Reg_IdRespuesta,
                 NumOrden             = Reg_NumOrden,
                 EsDeterminante       = (bool)Reg_EsDeterminante,
                 ValorRespuesta       = Reg_ValorRespuesta,
                 ValorMinimo          = (decimal)Reg_ValorMinimo,
                 ValorMaximo          = (decimal)Reg_ValorMaximo,
                 Comentario           = Reg_Comentario,
                 EstatusRegistro      = (bool)Reg_EstatusRegistro,
                 Fk_IdUsuarioRegistro = Reg_IdUsuarioRegistro,
                 FechaRegistro        = DateTime.Today
             };
             SandBoxCtx.Rel_ConceptoRespValor.Add(NuevaRelación);
             progressBar.Value++;
             SandBoxCtx.SaveChanges();
             progressBar.Value++;
             InicializaCustionario();
             TemaSeleccionado = memTemaSeleccionado;
             ShowCuestionario(TemaSeleccionado.IdTema);
             progressBar.Value++;
             comboBoxTema.SelectedIndex = tema;
             ClearRegistro();
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message + "\n no se inserto el registro");
         }
     }
     progressBar.Value = 0;
 }
 private void comboBoxTema_SelectedIndexChanged(object sender, EventArgs e)
 {
     TemaSeleccionado = temas.Find(t => t.comboBoxIndex == comboBoxTema.SelectedIndex);
     ShowCuestionario(TemaSeleccionado.IdTema);
 }
        private void InicializaCustionario()
        {
            temas.Clear();
            conceptos.Clear();
            respuestas.Clear();
            TemaSeleccionado = null;
            SandBoxDB.SandBoxEntities ctx = null;
            try
            {
                ctx = new SandBoxDB.SandBoxEntities();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message + "\n no podemos continuar");
                Application.Exit();
            }

            temas = (from tema in ctx.Cat_Tema
                     select new ListTema {
                IdTema = tema.IdTema, Descripcion = tema.DescripcionTema
            }).ToList();
            int comboBoxIndex = 0;

            comboBoxTema.Items.Clear();
            foreach (ListTema tema in temas)
            {
                tema.comboBoxIndex = comboBoxIndex++;
                comboBoxTema.Items.Add(tema.Descripcion);
            }

            var result         = from concepto in ctx.Concepto select concepto;
            int ConceptoIndice = 0;

            comboBoxIdConcepto.Items.Clear();
            foreach (var concepto in result)
            {
                conceptos.Add(new MyConcepto {
                    Indice = ConceptoIndice++, concepto = concepto
                });
                comboBoxIdConcepto.Items.Add(concepto.IdConcepto + " - " + concepto.DescripcionConcepto);
            }

            var respuestasResult = from respuesta in ctx.Respuesta
                                   select respuesta;

            comboBoxIdRespuesta.Items.Clear();
            foreach (var respuesta in respuestasResult)
            {
                respuestas.Add(respuesta);
                comboBoxIdRespuesta.Items.Add(respuesta.DescripcionRespuesta);
            }

            var EsDeterminante = (from pregunta in ctx.Rel_ConceptoRespValor
                                  select pregunta.EsDeterminante).Distinct();

            comboBoxEsDeterminante.Items.Clear();
            foreach (bool estatus in EsDeterminante)
            {
                comboBoxEsDeterminante.Items.Add(estatus);
            }

            var EstatusRegistro = (from pregunta in ctx.Rel_ConceptoRespValor
                                   select pregunta.EstatusRegistro).Distinct();

            comboBoxEstatusRegistro.Items.Clear();
            foreach (bool estatus in EstatusRegistro)
            {
                comboBoxEstatusRegistro.Items.Add(estatus);
            }

            var IdUsuario = (from pregunta in ctx.Rel_ConceptoRespValor
                             select pregunta.Fk_IdUsuarioRegistro).Distinct();

            comboBoxIdUsuarioRegistro.Items.Clear();
            foreach (int usr in IdUsuario)
            {
                comboBoxIdUsuarioRegistro.Items.Add(usr);
            }
            listBoxPreguntas.HorizontalScrollbar = true;

            labelTEMA.Text = "";
            ctx.Dispose();
        }