// <--- Método #5: Retornar mensajes de error en el formulario de registro de actividades. ---> // public string ctrlActLog(actividades activity) // Recibe como parámetro una variable del tipo "actividades". { Model model = new Model(); // Objeto de la clase "Model". // Declaración de variable. Esta almacenará los mensajes de error que correspondan. string errorMessage = ""; // <--- Validación #1: Llenar todos los campos de formulario de registro. ---> // // Condición que se activará sí y sólo sí alguno de los campos están vacíos. /* * ".IsNullOrEmpty() verifica que el campo esté vacío o sea "nulo". de ser así, la condición se cumple. */ if (string.IsNullOrEmpty(activity.Name1) || string.IsNullOrEmpty(activity.Type1) || string.IsNullOrEmpty(Convert.ToString(activity.Start1)) || string.IsNullOrEmpty(Convert.ToString(activity.End1))) { errorMessage = "Debe llenar todos los campos."; // Mensaje de error. } else { activity.Id_Username = Session.id; // A la propiedad "Id_Username" se le asignará el "Id" del usuario que tiene su sesión iniciada. /* * Se llama al método "registro" de la clase "model" que se le enviará el objeto "usuario", * ya que, ese objeto contiene todos los datos registrados por el usuario. */ model.newAct(activity); } return(errorMessage); // Retorno del mensaje de error. }
// <---------------------------------------> // // <---------- BOTONES / BUTTONS ----------> // // <---------------------------------------> // // <--- Botón "btnAgregar". ---> // // Botón que permite agregar una actividad a la tabla. private void btnAgregarAct_Click(object sender, EventArgs e) { actividades activity = new actividades(); // Creación de un objeto de la clase "actividades". /* * Asiganción de los datos de los "textbox" del formulario de registro a las propiedades * del objeto "usuario". */ activity.Name1 = txtName.Text; activity.Type1 = ComboBType.SelectedItem.ToString(); activity.Start1 = Convert.ToDateTime(txtStart.Text); activity.End1 = Convert.ToDateTime(txtEnd.Text); try{ Control control = new Control(); // Creación de un objeto de la clase "Control". string errorMessage = control.ctrlActLog(activity); // Llamada al método "ctrlRegistroAct", enviandole como parámetro el objeto "actividad". if (errorMessage.Length > 0) { // "MessageBox" que se mostrará al usuario para avisar de algun error. MessageBox.Show(errorMessage, "Aviso.", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { // "MessageBox" que se mostrará al usuario para confirmar su registro. MessageBox.Show("¡Actividad registrada con éxito!", "Datos registrados.", MessageBoxButtons.OK, MessageBoxIcon.Information); Clean(); // Llamada al método para limpiar los textbox. ReloadActTable(null); // Llamada al método que permite actualizar la tabla. } } // Catch que sólo se activará si el administrador presenta algún tipo de error al registrar un usuario. catch (Exception ex) { MessageBox.Show(ex.Message); // Mensaje de error. } }
// <--- Método #9: Asignación de las actividades registradas en la base de datos a una lista ---> // public List <object> ActQuery(string act) { // Este objeto permite leer todos los datos que se encuentren en la base de datos. MySqlDataReader reader; // Creación d eun objeto de la clase "Lista<Object>". List <object> List = new List <object>(); // Variable para inserción a Sql. string sql; /* * La inserción a "MySQL" es la siguiente: * De la tabla "actividades" se seleccionan dichos campos, en donde el "id" sea igual al "id" * del usuario que tiene la sesión activa. */ if (act == null) { sql = "SELECT id, Name, Type, Start, End, id_Username FROM actividades WHERE id_Username LIKE '" + Session.id + "'"; } else { sql = "SELECT id, Name, Type, Start, End, id_Username FROM actividades WHERE id_Username LIKE '" + Session.id + "'"; } try{ MySqlConnection connection = SQLConnection.getConnection(); connection.Open(); // Esta función permite abrir la conexión. // Se crea un objeto de la clase "MySqlCommand", enviandole como parámetros "sql" y "conexion". MySqlCommand command = new MySqlCommand(sql, connection); reader = command.ExecuteReader(); // ".ExecuteReader() es el método que permite realizar la lectura de datos. while (reader.Read()) { // Creación de un objeto de la clase "actividades". actividades Activity = new actividades(); // Asignación de propiedades. Activity.Id = Convert.ToInt32(reader.GetString(0)); Activity.Name1 = reader[1].ToString(); Activity.Type1 = reader[2].ToString(); Activity.Start1 = Convert.ToDateTime(reader.GetString(3)); Activity.End1 = Convert.ToDateTime(reader.GetString(4)); Activity.Id_Username = Convert.ToInt32(reader.GetString(5)); List.Add(Activity); // Los datos que se leyeron se agregarán a la lista. } } // "catch" que sólo se activará si se presenta algún tipo de excepción de MySql. catch (MySqlException ex) { Console.WriteLine(ex.Message.ToString()); // Mensaje de error. } return(List); // Retorno de la lista. }
// <--- Método #5: Validación de datos y registro de actividades. ---> // public int newAct(actividades activity) // Recibe como parámetro una variable del tipo "registro_usuarios". // Referencia a la clase de nombre "SQLConnection". { MySqlConnection conexion = SQLConnection.getConnection(); conexion.Open(); // Esta función permite abrir la conexión. // Inserción a "SQL". /* * "INSERT INTO" se utiliza para "seleccionar" los campos de la tabla "actividades" * donde se insertarán los datos que registre el usuario. * "VALUES" son los valores que se van a registrar en la tabla de "MySql". */ string sql = "INSERT INTO actividades (Name, Type, Start, End, id_Username) VALUES (@Name, @Type, @Start, @End, @id_Username)"; // Se crea un objeto de la clase "MySqlCommand", enviandole como parámetros "sql" y "conexion". MySqlCommand command = new MySqlCommand(sql, conexion); /* * Se crean "comandos" que realizan la acción de enviar los datos que el ususario registre * a "MySql", permitiendo así, guardar su información. * * ".AddWithValue() recibe dos parámetros, el primero es el valor que recibirá el comando * (Valores con "@") y el segundo es el dato que el usuario haya ingresado (un dato de tipo "actividad" * con la propiedad de la clase "actividades"). */ command.Parameters.AddWithValue("@Name", activity.Name1); // Comando para el campo "Name". command.Parameters.AddWithValue("@Type", activity.Type1); // Comando para el campo "Type". command.Parameters.AddWithValue("@Start", activity.Start1); // Comando para el campo "Start". command.Parameters.AddWithValue("@End", activity.End1); // Comando para el campo "End". command.Parameters.AddWithValue("@id_Username", activity.Id_Username); // Comando para el campo "Id_Username". // Declaración de variables. int resultado = command.ExecuteNonQuery(); // Te devuelve el número de "filas" que se hayan insertado. return(resultado); // Retorno de valor. }