public List<Event> Select(string sql)
{
List<Event> events = new List<Event>();
DataTable dt = database.GetDataTable(sql);
foreach(DataRow dr in dt.Rows){
Event e = new Event(LocalRepository.CreateInstance(int.Parse(dr[14].ToString())));
e.Id = int.Parse (dr[0].ToString());
e.Item = repositoryItemDAO.GetById (int.Parse (dr[1].ToString()));
e.EventType = (EventType) Enum.Parse(typeof(EventType), dr[2].ToString());
e.RepositoryType = (RepositoryType) Enum.Parse(typeof(RepositoryType),dr[3].ToString());
e.Synchronized = bool.Parse (dr[4].ToString());
e.InsertTime = Convert.ToDateTime(dr[5].ToString()).ToUniversalTime();
e.User = dr[6].ToString();
e.Application = dr[7].ToString();
e.ApplicationVersion = dr[8].ToString();
e.DeviceId = dr[9].ToString();
e.OS = dr[10].ToString();
e.Bucket = dr[11].ToString();
e.TryQnt = int.Parse (dr[12].ToString());
e.Response = (RESPONSE) Enum.Parse(typeof(RESPONSE),dr[13].ToString());
events.Add (e);
}
return events;
}