protected void btnGuardarProy(object sender, EventArgs e)
        {
            try
            {
                Proyecto proyecto = new Proyecto();
                proyecto.PLANTEL = lblPlantel.Text;
                proyecto.PERIODO = lblPeriodo.Text;
                proyecto.ID_AREA = Convert.ToInt32(Session["Id_Area"].ToString());
                proyecto.NUM_OFICIO = txtNumOfice.Text;
                proyecto.FECHA_EVAL = Convert.ToDateTime(txtFechaEval.Text);
                proyecto.TITULO = txtTitulo.Text;
                proyecto.PRODUCTO = txtProducto.Text;
                proyecto.CAMPO = ddlCampo.SelectedItem.Text;
                proyecto.MATERIA = ListBoxMateriasP.SelectedItem.Text;
                proyecto.DESCRIPCION_PROY = txtADescProy.Text;
                proyecto.OPINION_DIR = ddlOpinion.SelectedItem.Text;
                proyecto.OBSERVACIONES = txtObservaciones.Text;
                proyecto.PROFESOR = ListBoxProfProy.SelectedItem.Text;

                if (NegocioProyecto.Insertar(proyecto) > 0)
                {
                    MessageBox.Show("Se inserto el proyecto correctamente");
                    Response.Redirect("ListarProyectos.aspx");

                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message + ex.StackTrace);
            }

            //AltaProyecto.Insertar(proyecto);
        }
 public static DataSet GetProyectoIDActualizar(Proyecto proyecto)
 {
     SqlParameter[] dbParams = new SqlParameter[]
     {
         DBHelper.MakeParam("@Id",SqlDbType.Int,0,proyecto.ID_PROYECTO)
     };
     return DBHelper.ExecuteDataSet("usp_ListProyecto_GetProyectoIDActualizar", dbParams);
 }
        public static DataSet GetProfesorActualizar(ProfesorProyecto profesorA, MateriaProyecto materiaA, Proyecto proyecto)
        {
            /* SqlParameter[] dbParams = new SqlParameter[]
            {
                DBHelper.MakeParam("@ID_PLANTEL",SqlDbType.VarChar,0,profesorA.ID_PLANTEL)

            };*/

            return DBHelper.ListarProfesoresActualizar(profesorA, materiaA, proyecto);
        }
 protected void GridProyectos_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "EditarProyecto")
      {
          string sProyectoId = e.CommandArgument.ToString();
          Response.Redirect("AltaProyecto.aspx?=" + sProyectoId);
      }
      else if (e.CommandName == "EliminarProyecto")
      {
          Proyecto proyecto = new Proyecto();
          proyecto.ID_PROYECTO=Convert.ToInt32(e.CommandArgument.ToString());
          NegocioProyecto.DeleteProyecto(proyecto);
          DataSet ds = NegocioProyecto.GetProyecto();
          GridProyectos.DataSource = ds.Tables[0];
          GridProyectos.DataBind();
      }
 }
        public static int Insertar(Proyecto proyecto)
        {
            SqlParameter[] dbParams = new SqlParameter[]
            {
                DBHelper.MakeParam("@PLANTEL", SqlDbType.VarChar,0,proyecto.PLANTEL),
                DBHelper.MakeParam("@PERIODO", SqlDbType.VarChar,0,proyecto.PERIODO),
                DBHelper.MakeParam("@ID_AREA", SqlDbType.Int,0,proyecto.ID_AREA),
                DBHelper.MakeParam("@NUM_OFICIO", SqlDbType.VarChar,0,proyecto.NUM_OFICIO),
                DBHelper.MakeParam("@FECHA_EVAL", SqlDbType.DateTime,0,proyecto.FECHA_EVAL),
                DBHelper.MakeParam("@TITULO", SqlDbType.VarChar,0,proyecto.TITULO),
                DBHelper.MakeParam("@PRODUCTO", SqlDbType.VarChar,0,proyecto.PRODUCTO),
                DBHelper.MakeParam("@CAMPO", SqlDbType.VarChar,0,proyecto.CAMPO),
                DBHelper.MakeParam("@MATERIA", SqlDbType.Char,0,proyecto.MATERIA),
                DBHelper.MakeParam("@DESCRIPCION_PROY", SqlDbType.VarChar,0,proyecto.DESCRIPCION_PROY),
                DBHelper.MakeParam("@OPINION_DIR", SqlDbType.VarChar,0,proyecto.OPINION_DIR),
                DBHelper.MakeParam("@OBSERVACIONES", SqlDbType.VarChar,0,proyecto.OBSERVACIONES),
                DBHelper.MakeParam("@PROFESOR", SqlDbType.Char,0,proyecto.PROFESOR)

            };

            return Convert.ToInt32(DBHelper.ExecuteScalar("usp_AltaProyecto_Insertar",dbParams));
        }
        public static int Insertar(Proyecto proyecto)
        {
            SqlParameter[] dbParams = new SqlParameter[]
            {
                DBHelper.MakeParam("@Grupo", SqlDbType.Char,0,proyecto.Grupo),
                DBHelper.MakeParam("@Periodo", SqlDbType.Char,0,proyecto.Periodo),
                DBHelper.MakeParam("@Interarea", SqlDbType.Char,0,proyecto.Interarea),
                DBHelper.MakeParam("@Interplantel", SqlDbType.Char,0,proyecto.Interplantel),
                DBHelper.MakeParam("@P_asignatura", SqlDbType.Char,0,proyecto.P_asignatura),
                DBHelper.MakeParam("@Oficio", SqlDbType.Char,0,proyecto.Oficio),
                DBHelper.MakeParam("@Fecha_ev1", SqlDbType.DateTime,0,proyecto.Fecha_ev1),
                //DBHelper.MakeParam("@Fecha_ev2", SqlDbType.DateTime,0,proyecto.Fecha_ev2),
                DBHelper.MakeParam("@Titulo", SqlDbType.VarChar,0,proyecto.Titulo),
                DBHelper.MakeParam("@Producto", SqlDbType.VarChar,0,proyecto.Producto),
                DBHelper.MakeParam("@Campo", SqlDbType.Char,0,proyecto.Campo),
                DBHelper.MakeParam("@Asignaturas", SqlDbType.VarChar,0,proyecto.Asignaturas),
                DBHelper.MakeParam("@Descripcion", SqlDbType.VarChar,0,proyecto.Descripcion),
                DBHelper.MakeParam("@Opinion_dir", SqlDbType.Char,0,proyecto.Opinion_dir),
                DBHelper.MakeParam("@Observaciones", SqlDbType.VarChar,0,proyecto.Observaciones),
                DBHelper.MakeParam("@donde", SqlDbType.VarChar,0,proyecto.Donde),
                DBHelper.MakeParam("@quien", SqlDbType.VarChar,0,proyecto.Quien),
                DBHelper.MakeParam("@values_insert", SqlDbType.VarChar, 0, proyecto.ValuesInsert)
            };

            return Convert.ToInt32(DBHelper.ExecuteScalar("usp_Insertar_Proyectogrupos1", dbParams));
        }
        public static DataSet ListarProfesoresActualizar(ProfesorProyecto profesor, MateriaProyecto materia, Proyecto proyecto)
        {
            DataSet ds = new DataSet();

            DataTable dtMaterias = new DataTable();
            DataTable dtProfesores = new DataTable();
            try
            {
                SqlConnection conn1 = new SqlConnection(ConfigurationManager.AppSettings.Get("connectionString"));
                SqlConnection conn2 = new SqlConnection(ConfigurationManager.AppSettings.Get("connectionString"));
                SqlDataAdapter adaptador;

                conn1.Open();
                conn2.Open();

                SqlCommand sqlcomando = new SqlCommand();
                SqlCommand sqlcomandoMateria = new SqlCommand();
                sqlcomando.Connection = conn1;

                sqlcomando.CommandType = CommandType.StoredProcedure;
                sqlcomando.CommandText = "SP_OBTENER_INTEGRANTE_ACTUALIZAR";

                sqlcomandoMateria.Connection = conn2;
                sqlcomandoMateria.CommandType = CommandType.StoredProcedure;
                sqlcomandoMateria.CommandText = "SP_FILTRAR_MATERIA";

                SqlParameter parID_PLANTEL = new SqlParameter("@ID_PLANTEL", profesor.ID_PLANTEL);
                sqlcomando.Parameters.Add(parID_PLANTEL);

                SqlParameter parID_PROYECTO = new SqlParameter("@grupo", proyecto.Grupo);
                sqlcomando.Parameters.Add(parID_PROYECTO);

                SqlParameter parID_AREA = new SqlParameter("@ID_AREA", materia.AREA);
                sqlcomandoMateria.Parameters.Add(parID_AREA);

                adaptador = new SqlDataAdapter(sqlcomando);
                adaptador.Fill(dtProfesores);
                //dtProfesores.Tables[0].TableName = "TabProfesores";
                adaptador = new SqlDataAdapter(sqlcomandoMateria);
                adaptador.Fill(dtMaterias);

                ds.Tables.Add(dtProfesores);
                ds.Tables.Add(dtMaterias);

            }
            catch (SqlException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {

                throw ex;

            }

            return ds;
        }
        protected void btnGuardarProy(object sender, EventArgs e)
        {
            try
            {
                if (validarContenido() != true)
                {
                }
                else
                {
                    int filas = gvProfesor.Rows.Count;
                    int cantChk = 0;
                    int numCheckboxSelect = filas / 4;
                    //contar el numero de checkbox seleccionados
                    foreach (GridViewRow registro in gvProfesor.Rows)
                    {
                        System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox)registro.FindControl("chbCoordinador");
                        if (chk.Checked)
                            cantChk++;
                    }

                    if (numCheckboxSelect == cantChk)
                    {

                        int opcion = Convert.ToInt32(Request.QueryString["opcion"]);
                        StringBuilder MateriasProy = new StringBuilder();
                        String Fecha = txtFechaEval.Text;
                        Fecha = Regex.Replace(Fecha, @"[^\u0000-\u007F]", string.Empty);
                        string inputFormat = "dd/MM/yyyy";
                        string outputFormat = "yyyy/MM/dd";
                        var dateTime = DateTime.ParseExact(Fecha, inputFormat, CultureInfo.InvariantCulture);
                        string output = dateTime.ToString(outputFormat);
                        int id_Periodo = 0;
                        id_Periodo = Convert.ToInt32(Session["Id_Proyecto"].ToString());

                        Proyecto proyecto = new Proyecto();
                        proyecto.Grupo = Session["ID_Plantel"].ToString() + Session["ID_AREA"].ToString() + lblGrupo.Text;
                        //proyecto.Periodo = Int32.Parse(Session["Id_Proyecto"].ToString());
                       //se guarda el id del periodo antes se hacia el periodo tal cual, con la variable de session Proyecto.
                        proyecto.Periodo = id_Periodo.ToString();

                        switch (opcion)
                        {
                            case 0:
                                proyecto.Interarea = "0";
                                proyecto.Interplantel = "0";
                                proyecto.P_asignatura = "0";
                                break;

                            case 1:
                                proyecto.Interarea = "1";
                                proyecto.Interplantel = "0";
                                proyecto.P_asignatura = "0";
                                break;
                            case 2:
                                proyecto.Interarea = "0";
                                proyecto.Interplantel = "1";
                                proyecto.P_asignatura = "0";
                                break;
                            case 3:
                                proyecto.Interarea = "1";
                                proyecto.Interplantel = "1";
                                proyecto.P_asignatura = "0";
                                break;
                            case 4:
                                proyecto.Interarea = "0";
                                proyecto.Interplantel = "0";
                                proyecto.P_asignatura = "1";
                                break;
                            case 5:
                                proyecto.Interarea = "1";
                                proyecto.Interplantel = "0";
                                proyecto.P_asignatura = "1";
                                break;
                            case 6:
                                proyecto.Interarea = "0";
                                proyecto.Interplantel = "1";
                                proyecto.P_asignatura = "1";
                                break;
                            case 7:
                                proyecto.Interarea = "1";
                                proyecto.Interplantel = "1";
                                proyecto.P_asignatura = "1"; ;
                                break;
                            default:
                                break;

                        }

                        proyecto.Oficio = txtNumOfice.Text;
                        proyecto.Fecha_ev1 = output; //Convert.ToDateTime(output);  el output está como string y se debe guardar como datetime
                        proyecto.Titulo = txtTitulo.Text;
                        proyecto.Producto = txtProducto.Text;
                        proyecto.Campo = ddlCampo.SelectedValue.ToString();
                        foreach (ListItem mat in ListBoxMateriasP.Items)
                        {
                            String valores = mat.Value;
                            MateriasProy.Append(valores.ToString());
                        }
                        String Concatenadas = MateriasProy.ToString();
                        proyecto.Asignaturas = Concatenadas; //esta es la concatenacion de las materias del listbox
                        proyecto.Descripcion = txtADescProy.Text;
                        proyecto.Opinion_dir = ddlOpinion.SelectedValue.ToString();
                        proyecto.Observaciones = txtObservaciones.Text;
                        //estas dos variables son las que dicen quien y cuando en la base de datos, hay que saegurarse que el procedimiento almacenado reciba estas variables tambien
                        proyecto.Donde = Session["usuarioIP"].ToString();
                        proyecto.Quien = Session["idUsuario"].ToString();

                        //proyecto.PROFESOR = ListBoxProfProy.SelectedItem.Text;
                        string valoresProfesores = crearValoresInsertarProfesores();
                        proyecto.ValuesInsert = valoresProfesores;

                        if (NegocioProyecto.Insertar(proyecto) > 0)
                        {
                            MessageBox.Show("Se inserto el proyecto correctamente");
                            Response.Redirect("DefaultProyecto.aspx", false);

                        }
                    }
                    else
                    {
                        MessageBox.Show("El numero de Cordinadores \n permitidos para el proyecto \n es de: " + numCheckboxSelect);
                    }
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(" faltan elementos por rellenar\n en el formulario o algo esta mal\n en el codigo de btnGuardarProy" + ex.Message + ex.StackTrace);
            }
            //AltaProyecto.Insertar(proyecto);
        }