public static QueryComparator GetInComparator(string columnName, DatabaseQuery subquery) { QueryComparator comparator = new QueryComparator(); comparator.Source = new QueryElement(columnName); comparator.Operand = new QueryElement(subquery); return(comparator); }
public static QueryComparator GetLikeComparator(string columnName, object value) { QueryComparator comparator = new QueryComparator(); comparator.Source = new QueryElement(columnName); comparator.Operand = new QueryElement(null, String.Format("%{0}%", value)); comparator.Like = true; return(comparator); }
public static QueryComparator GetAndComparator(QueryComparator source, QueryComparator operand) { QueryComparator comparator = new QueryComparator(); comparator.Source = source; comparator.Operand = operand; comparator.And = true; return(comparator); }
// Convenience comparators public static QueryComparator GetEqualComparator(string columnName, object value) { QueryComparator comparator = new QueryComparator(); comparator.Source = new QueryElement(columnName); comparator.Operand = new QueryElement(null, value); comparator.Equal = true; return(comparator); }
public static List <Appointment> GetAppointments(int staffId, int patientId) { QueryComparator comparator = new QueryComparator(); QueryComparator prescriberComparator = new QueryComparator(); QueryComparator patientComparator = new QueryComparator(); prescriberComparator.Source = new QueryElement(Database.Tables.Appointments.MedicalStaffId); prescriberComparator.Operand = new QueryElement(null, staffId); prescriberComparator.Equal = true; patientComparator.Source = new QueryElement(Database.Tables.Appointments.PatientId); patientComparator.Operand = new QueryElement(null, patientId); patientComparator.Equal = true; comparator.Source = prescriberComparator; comparator.Operand = patientComparator; comparator.And = true; return(AppointmentManager.Merge(Database.Tables.APPOINTMENTS, comparator)); }
// Multi-Valued Getters public static List <Prescription> GetPrescriptions(int staffId, int patientId) { QueryComparator comparator = new QueryComparator(); QueryComparator prescriberComparator = new QueryComparator(); QueryComparator patientComparator = new QueryComparator(); prescriberComparator.Source = new QueryElement(Database.Tables.Prescriptions.PrescriberId); prescriberComparator.Operand = new QueryElement(null, staffId); prescriberComparator.Equal = true; patientComparator.Source = new QueryElement(Database.Tables.Prescriptions.PatientId); patientComparator.Operand = new QueryElement(null, patientId); patientComparator.Equal = true; comparator.Source = prescriberComparator; comparator.Operand = patientComparator; comparator.And = true; return(PrescriptionManager.Merge(Database.Tables.PRESCRIPTIONS, comparator)); }
// Merge the list of objects from the database. public List <T> Merge(string tableName, QueryComparator comparator) { DatabaseQuery query = new DatabaseQuery(tableName); query.Comparator = comparator; query.Add(Database.Tables.Generic.ID); List <T> results = new List <T>(); Console.WriteLine(query.Select); MySqlCommand command = new MySqlCommand(query.Select, Database.Connection); MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int id = reader.GetInt32(0); T obj = Get(id); results.Add(obj); } reader.Close(); return(results); }