Beispiel #1
0
        private void LoadTimeCardsForDate(DateTime date)
        {
            DBResult result = DataSource.EntriesForDateGet(date, out DisplayItems);

            if (result.ResultCode == DBResult.Result.Success)
            {
            }
            else if (result.ResultCode == DBResult.Result.NoData)
            {
                DisplayItems = new TimeCardEntryList();
            }
            else
            {
                throw new Exception("Bad database response");
            }
            ReloadLineItems();
            textCurDate.Text = date.ToString("ddd MMMM d, yyyy");
        }
Beispiel #2
0
        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);
        }