protected void _btnGuardar_Click(object sender, EventArgs e) { try { _sesion = new Sesion(); _cookieActual = _sesion.verificarValidez(Request.Cookies["PS"]); if (_cookieActual == null) // Si la cookie expira redirecciona a la pantalla de Login Response.Redirect("../Autentificacion/Login.aspx"); // else // Volver a crear la cookie en el cliente, con el nuevo tiempo de expiración Response.SetCookie(_cookieActual); Control controlEditable; //Textbox que se enceuntra en cada celda del grid, se utiliza para poder editar la celda List<List<object>> turnos = new List<List<object>>(); List<object> turno; for (int k = 0; k < _gridHorario.Rows.Count; k++) { for (int i = 2; i < _gridHorario.Rows[k].Cells.Count; i++) { controlEditable = _gridHorario.Rows[k].Cells[i].Controls[3]; if (!((TextBox)controlEditable).Text.Equals("")) { turno = new List<object>(); turno.Add((int)ViewState["IH"]); //Obtener el PK del horario // Obtener el día switch (i) { case 2: turno.Add('L'); break; case 3: turno.Add('K'); break; case 4: turno.Add('M'); break; case 5: turno.Add('J'); break; case 6: turno.Add('V'); break; case 7: turno.Add('S'); break; } //Obtener las hora switch (k) { case 0: turno.Add("7:30"); turno.Add("11:30"); break; case 1: turno.Add("11:30"); turno.Add("15:30"); break; case 2: turno.Add("15:30"); turno.Add("19:30"); break; case 3: turno.Add("19:30"); turno.Add("22:30"); break; } turno.Add(((TextBox)controlEditable).Text); //Obtener el nombre turno.Add(_sesion.obtenerLoginUsuario(Request.Cookies["PS"])); //Obtener el login turnos.Add(turno); //Agregar el turno a la lista de turnos } } } // Se revisa que haya al menos un turno en el horario if (turnos.Count > 0) { _controlador = new ControladorHorario(); bool completado = _controlador.insertarTurnosDisponibilidad(turnos); if (completado) { _imgMensaje.ImageUrl = "~/Imagenes/ok.png"; _lblMensaje.Text = "Se ha guardado su horario con exito."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } else { _imgMensaje.ImageUrl = "~/Imagenes/Error.png"; _lblMensaje.Text = "No se pudo guardar su horario. Por favor buelva a intentar más tarde."; _imgMensaje.Visible = true; _lblMensaje.Visible = true; } Session["turnosUsuari"] = new List<List<object>>(); //Limpiar los turnos para que no los buelva a cargar _gridHorario.DataSource = cargarHorarioDisponibilidad((int)ViewState["IH"]); _gridHorario.DataBind(); _btnHorario.Enabled = true; _btnGuardar.Enabled = false; } } catch (Exception ex) // Si algo falla se reporta el error en la Bitácora de Errores del sistema { _controlador = new ControladorHorario(); _controlador.insertarBitacoraError(ex.ToString(), ""); } }