// <--- Método #8: 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. SqlDataReader 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 "SQL" es la siguiente: * De la tabla "Activities" se seleccionan dichos campos, en donde el "usrId" sea igual al "id" * del usuario que tiene la sesión activa. */ if (act == null) { sql = "SELECT actId, actName, actType, actStart, actEND, actUserid FROM Activities WHERE actUserid LIKE '" + Session.id + "'"; } else { sql = "SELECT actId, actName, actType, actStart, actEND, actUserid FROM Activities WHERE actUserid LIKE '" + Session.id + "'"; } try{ SqlConnection 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". SqlCommand command = new SqlCommand(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 "Activities". Activities Activity = new Activities { // Asignación de propiedades. ActId = (int)reader[0], ActName = reader[1].ToString(), ActType = reader[2].ToString(), ActStart = (DateTime)reader[3], ActEnd = (DateTime)reader[4], ActUserid = (int)reader[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 #6: Validación de datos y registro de actividades. ---> // public int newAct(Activities activity) // Recibe como parámetro una variable de tipo "Activities". /* * Creación de una instancia de la clase "SqlConnection", la cual llamará al método que realiza * la conexión a "SQL Server". */ { SqlConnection connection = SQLConnection.getConnection(); connection.Open(); // Esta función permite abrir la conexión. // Inserción a "SQL". /* * "INSERT INTO" se utiliza para "seleccionar" los campos de la tabla "Activities" * donde se insertarán los datos que registre el usuario. * "VALUES" son los valores que se van a registrar en la tabla de "SQL". */ string sql = "INSERT INTO Activities (actName, actType, actStart, actEND, actUserid) VALUES (@actName, @actType, @actStart, @actEnd, @actUserid)"; // Se crea un objeto de la clase "SqlCommand", enviandole como parámetros "sql" y "connection". SqlCommand command = new SqlCommand(sql, connection); /* * Se crean "comandos" que realizan la acción de enviar los datos que el ususario registre * a "SQL", 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 "activity" * con la propiedad de la clase "Activities"). */ command.Parameters.AddWithValue("@actName", activity.ActName); // Comando para el campo "ctName". command.Parameters.AddWithValue("@actType", activity.ActType); // Comando para el campo "actType". command.Parameters.AddWithValue("@actStart", activity.ActStart); // Comando para el campo "actStart". command.Parameters.AddWithValue("@actEnd", activity.ActEnd); // Comando para el campo "actEnd". command.Parameters.AddWithValue("@actUserid", activity.ActUserid); // Comando para el campo "actUserid". // Declaración de variables. int result = command.ExecuteNonQuery(); // Te devuelve el número de "filas" que se hayan insertado. return(result); // Retorno de valor. }
// <--- Método #7: Retornar mensajes de error en el formulario de registro de actividades. ---> // public string ctrlActLog(Activities 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.ActName) || string.IsNullOrEmpty(activity.ActType) || string.IsNullOrEmpty(Convert.ToString(activity.ActStart)) || string.IsNullOrEmpty(Convert.ToString(activity.ActEnd))) { errorMessage = "All fields are required."; // Mensaje de error. } // <--- Validación #2: Verificar el registro de valores predeterminados ---> // // Condición que se activará sí y sólo sí alguno de los campos tienen el texto predeterminado. else if (activity.ActName == "ACTIVITY NAME" || activity.ActType == "---SELECT---" || Convert.ToString(activity.actStart) == "START" || Convert.ToString(activity.actEnd) == "END") { errorMessage = "All fields are required."; // Mensaje de error. } else { activity.ActUserid = Session.id; // A la propiedad "ActUserid" 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 "activity", * ya que, ese objeto contiene todos los datos de la actividad registrada. */ model.newAct(activity); } return(errorMessage); // Retorno del mensaje de error. }