protected void btnModificar_Click(object sender, EventArgs e)
        {
            try
            {
                //toma de datos de semestre
                Semestre s = new Semestre();
                s.Numero    = int.Parse(txtNroSemestre.Text);
                s.Año       = int.Parse(txtAñoSemestre.Text);
                s.Fk_idTsem = int.Parse(ddlTipoSemestre.SelectedValue);
                //Toma de datos docentes
                Docente docPEP = new Docente();
                docPEP.RutDoc = ddlDocentePEP.SelectedValue;
                Docente docGPI = new Docente();
                docGPI.RutDoc = ddlDocenteGPI.SelectedValue;



                //toma de datos de grupo
                Grupo gp = new Grupo();
                gp.Nombre = txtNombreGrupo.Text;
                gp.Estado = 1;
                //toma de datos alumnoDBA
                Alumno aldba    = new Alumno();
                Alumno alprogra = new Alumno();
                Alumno aljefe   = new Alumno();

                aldba.RutAlumn = txtRutDBA.Text;
                aldba.Nombre   = txtNombreDBA.Text;
                if (dueñoDba.Checked)
                {
                    aldba.DueñoIdea = 1;
                }
                aldba.Correo   = "AA";
                aldba.Estado   = 1;
                aldba.Fk_idCar = int.Parse(ddlCarrera.SelectedValue);
                aldba.Fk_idRol = 1;
                //para el valor fk_idsem se agrega desde la query
                //para el campof fk_idUs se agrega desde la query

                //INGRESO ALUMNO PROGRA

                alprogra.RutAlumn = txtRutProgra.Text;
                alprogra.Nombre   = txtNomProgra.Text;
                if (dueñoProgra.Checked)
                {
                    alprogra.DueñoIdea = 1;
                }
                alprogra.Correo   = "AA";
                alprogra.Estado   = 1;
                alprogra.Fk_idCar = int.Parse(ddlCarrera.SelectedValue);
                alprogra.Fk_idRol = 3;
                //para el valor fk_idsem se agrega desde la query
                //para el campof fk_idUs se agrega desde la query

                //INGRESO ALUMNO JEFE

                aljefe.RutAlumn = txtRutJefe.Text;
                aljefe.Nombre   = txtNombreJEfe.Text;
                if (dueñoJefe.Checked)
                {
                    aljefe.DueñoIdea = 1;
                }
                aljefe.Correo   = "AA";
                aljefe.Estado   = 1;
                aljefe.Fk_idCar = int.Parse(ddlCarrera.SelectedValue);
                aljefe.Fk_idRol = 2;
                //para el valor fk_idsem se agrega desde la query
                //para el campof fk_idUs se agrega desde la query


                //toma de datos tabla proyecto

                Proyecto p = new Proyecto();
                p.Nombre = txtNombre_Proyecto.Text;
                //Toma de tipo de desarrollo

                if (rdMovil.Checked)
                {
                    p.Fk_idDe = 1;
                }
                else if (rdWeb.Checked)
                {
                    p.Fk_idDe = 2;
                }
                else if (rdArduino.Checked)
                {
                    p.Fk_idDe = 3;
                }
                else if (rdclienteServidor.Checked)
                {
                    p.Fk_idDe = 4;
                }
                //Toma de tipo de negocio

                if (rdEmpren.Checked)
                {
                    p.Fk_idTneg = 1;
                }
                else if (rdVincula.Checked)
                {
                    p.Fk_idTneg = 2;
                }

                //toma de sucursal
                p.Fk_idSuc = int.Parse(ddlsucursal.SelectedValue);
                //toma de datos Descrpproyecto
                DescrpProyecto des = new DescrpProyecto();
                des.Link               = txtLinkPitch.Text;
                des.Identificacion     = txtIdentificacion.Text;
                des.Origen             = txtOrigen.Text;
                des.Afectados          = txtAfectados.Text;
                des.Justificacion      = txtJustificacion.Text;
                des.Propuesta_solucion = txtPropuesta.Text;
                des.Definiciones       = txtDefiniciones.Text;
                des.Estado             = 0;

                //guardado de imagen

                if (fuDiagrama.HasFile)
                {
                    try
                    {
                        int    tamanio        = fuDiagrama.PostedFile.ContentLength;
                        byte[] ImagenOriginal = new byte[tamanio];
                        fuDiagrama.PostedFile.InputStream.Read(ImagenOriginal, 0, tamanio);
                        Bitmap ImagenOriginalBinaria = new Bitmap(fuDiagrama.PostedFile.InputStream);
                        string ImagenDataURL64       = "data:image/jpg;base64," + Convert.ToBase64String(ImagenOriginal);
                        des.Diagrama_func = ImagenOriginal;
                    }
                    catch (Exception exe)
                    {
                        Response.Write("<script language=javascript>alert('Error al ingresar la imagen: " + exe.Message + "');</script>");
                    }
                }
                else
                {
                    des.Diagrama_func = new byte[0];
                }



                //toma de innovacion
                TipoInnovacion tp = new TipoInnovacion();

                if (rdBeacon.Checked)
                {
                    tp.IdTinno = 1;
                }
                else if (rdDron.Checked)
                {
                    tp.IdTinno = 2;
                }
                else if (rdRobotica.Checked)
                {
                    tp.IdTinno = 3;
                }
                else if (rdInternetDeLasCosas.Checked)
                {
                    tp.IdTinno = 4;
                }
                else if (rdLentesVr.Checked)
                {
                    tp.IdTinno = 5;
                }
                else if (rdOtro.Checked)
                {
                    tp.IdTinno = 6;
                    tp.Tipo    = txtOtro.Text;
                }
                else if (rdDomotica.Checked)
                {
                    tp.IdTinno = 7;
                }
                //TOMA TIPO DE INOVACION NEGOCIO

                if (cbWebPay.Checked)
                {
                    p.Fk_idTin = 1;
                }
                else if (cbMigracion.Checked)
                {
                    p.Fk_idTin = 2;
                }
                else if (cbIntegraOtroSis.Checked)
                {
                    p.Fk_idTin = 3;
                }



                //Modificar datos



                if (Datos.ModificarFicha(s, gp, p, aldba, alprogra, aljefe, des, tp, docPEP, docGPI, folio))
                {
                    Response.Write("<script language=javascript>alert('Dato Modificado');</script>");
                }
                else
                {
                    Response.Write("<script language=javascript>alert('Dato NO Ingresado');</script>");
                }
            }
            catch (Exception ex)
            {
                Response.Write("<script language=javascript>alert('Error:" + ex.Message + "');</script>");
            }
        }
        public bool InsertarFicha(Semestre sem, Grupo grupo, Proyecto p, Alumno Aldba, Alumno AlPro, Alumno alJefe, DescrpProyecto des, TipoInnovacion ti, string def)
        {
            bool estado = false;

            if (p.Nombre.Length > 0)
            {
                try
                {
                    //ingreso a tabla semestre

                    string insert1 = "insert into Semestre(numero,año,fk_idTSem) values(" + sem.Numero + "," + sem.Año + "," + sem.Fk_idTsem + ");";
                    ejecutar(insert1);
                    //ingreso a tabla grupo
                    string insert2 = "insert into grupo(nombre,estado) values('" + grupo.Nombre + "'," + 1 + ");";
                    ejecutar(insert2);
                    //ingreso a tabla proyecto
                    string insert3 = "insert into Proyecto(nombre,fk_idDe,fk_idTneg,fk_idSuc,fk_idSem,fk_idGru)" +
                                      " values('" + p.Nombre + "'," + p.Fk_idDe + "," + p.Fk_idTneg + "," + p.Fk_idSuc + ",(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + "),(select idGru from grupo where nombre='" + grupo.Nombre + "'));";
                    ejecutar(insert3);
                    //ingresu a alumnos
                    //INGRESO DBA
                    string insertDBA = "insert into alumno values('" + Aldba.RutAlumn + "','" + Aldba.Nombre + "'," + Aldba.DueñoIdea + ",'" + Aldba.Correo + "'," + Aldba.Estado + "," + Aldba.Fk_idCar + "," + Aldba.Fk_idRol + ",(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + "),'" + Aldba.RutAlumn + "');";
                    ejecutar(insertDBA);
                    //INGRESO PROGRAMADOR
                    string insertpro = "insert into alumno values('" + AlPro.RutAlumn + "','" + AlPro.Nombre + "'," + AlPro.DueñoIdea + ",'" + AlPro.Correo + "'," + AlPro.Estado + "," + AlPro.Fk_idCar + "," + AlPro.Fk_idRol + ",(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + "),'" + AlPro.RutAlumn + "');";
                    ejecutar(insertpro);
                    //INGRESO JEFE
                    string insertJefe = "insert into alumno values('" + alJefe.RutAlumn + "','" + alJefe.Nombre + "'," + alJefe.DueñoIdea + ",'" + alJefe.Correo + "'," + alJefe.Estado + "," + alJefe.Fk_idCar + "," + alJefe.Fk_idRol + ",(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + "),'" + alJefe.RutAlumn + "');";
                    ejecutar(insertJefe);

                    //INGRESO TABLA ALUMNO-GRUPO
                    string insertAlumnoGrupoDBA = "insert into alumno_grupo values('" + Aldba.RutAlumn + "',(select idGru from grupo where nombre='" + grupo.Nombre + "'));";
                    ejecutar(insertAlumnoGrupoDBA);
                    string insertAlumnoGrupoPROGRA = "insert into alumno_grupo values('" + AlPro.RutAlumn + "',(select idGru from grupo where nombre='" + grupo.Nombre + "'));";
                    ejecutar(insertAlumnoGrupoPROGRA);
                    string insertAlumnoGrupoJEFE = "insert into alumno_grupo values('" + alJefe.RutAlumn + "',(select idGru from grupo where nombre='" + grupo.Nombre + "'));";
                    ejecutar(insertAlumnoGrupoJEFE);

                    //INGRESO DESCRIPCION PROYECTO
                    string insertDescproyecto = "insert into descrpProyecto(link,identificacion,origen,afectados,justificacion,propuesta_solucion,diagrama_func_,estado,fk_folio) values('" + des.Link + "','" + des.Identificacion + "','" + des.Origen + "','" + des.Afectados + "','" + des.Justificacion + "','" + des.Propuesta_solucion + "','" + des.Diagrama_func + "'," + des.Estado + ",(select folio from proyecto where nombre='" + p.Nombre + "' and fk_idDe=" + p.Fk_idDe + " and fk_idTNeg=" + p.Fk_idTneg + " and fk_idSuc=" + p.Fk_idSuc + " and fk_idSem=(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + ") and fk_idGru=(select idGru from grupo where nombre='" + grupo.Nombre + "')));";
                    ejecutar(insertDescproyecto);

                    //INGRESO TIPO INNOVACION
                    string insertTp = "insert into detInnovacion (fk_folio,fk_idTinno) values((select folio from proyecto where nombre='" + p.Nombre + "' and fk_idDe=" + p.Fk_idDe + " and fk_idTNeg=" + p.Fk_idTneg + " and fk_idSuc=" + p.Fk_idSuc + " and fk_idSem=(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + ") and fk_idGru=(select idGru from grupo where nombre='" + grupo.Nombre + "'))," + ti.IdTinno + ");";
                    ejecutar(insertTp);

                    //ingreso Definiciones
                    string insertdefproc = "insert into Definiciones(definicion) values('" + def + "')";
                    ejecutar(insertdefproc);

                    //ingreso a DefProyecto
                    string insertDefProyecto = "insert into defproyecto(fk_folio,fk_idDef) values((select folio from proyecto where nombre='" + p.Nombre + "' and fk_idDe=" + p.Fk_idDe + " and fk_idTNeg=" + p.Fk_idTneg + " and fk_idSuc=" + p.Fk_idSuc + " and fk_idSem=(select idSem from semestre where numero=" + sem.Numero + " and año=" + sem.Año + ") and fk_idGru=(select idGru from grupo where nombre='" + grupo.Nombre + "')),(select idDef from definiciones where definicion='" + def + "'));";
                    ejecutar(insertDefProyecto);
                    estado = true;
                }
                catch (Exception e)
                {

                    throw new Exception("ERROR: " + e.Message);
                }

            }
            return estado;
        }