public virtual DBResult ProjectsGet(out ProjectList projects) { projects = new ProjectList(); DBResult result; QueryString sql = DB.Format( $"SELECT * FROM timekeep.projects ORDER by name"); DatabaseDataReader reader; result = DB.Query(sql, out reader); using (reader) { if (result.ResultCode == DBResult.Result.Success) { while (reader.Read()) { Project_DO project = DataReaderConverter.CreateClassFromDataReader <Project_DO>(reader); projects.Add(project); } } } return(result); }
public virtual DBResult EntriesForDateGet(DateTime day, out TimeCardEntryList entries) { entries = new TimeCardEntryList(); DBResult result; QueryString sql = DB.Format( $"SELECT \n" + $"E.id as entry_id, \n" + $"E.start_time as start_time, \n" + $"E.end_time as end_time, \n" + $"E.memo as memo, \n" + $"P.id as project_id, \n" + $"P.name as project_name \n" + $"FROM timekeep.entries E \n" + $"JOIN timekeep.projects P ON E.project_id = P.id \n" + $"WHERE \n" + $" (start_time >= '{day.Date.ToMySqlString()}' AND start_time <= '{(day.Date + TimeSpan.FromDays(1)).ToMySqlString()}') OR \n" + $" (end_time >= '{day.Date.ToMySqlString()}' AND end_time <= '{(day.Date + TimeSpan.FromDays(1)).ToMySqlString()}') \n" + $"ORDER BY start_time ASC"); DatabaseDataReader reader; result = DB.Query(sql, out reader); using (reader) { if (result.ResultCode == DBResult.Result.Success) { while (reader.Read()) { TimeCardEntry_DO entry = DataReaderConverter.CreateClassFromDataReader <TimeCardEntry_DO>(reader); entry.Project = DataReaderConverter.CreateClassFromDataReader <Project_DO>(reader); entries.Add(entry); } } } return(result); }