private static List<Timelapse> GetListFromDataReader(SqlDataReader dr)
{
List<Timelapse> timelapses = new List<Timelapse>();
while (dr.Read())
{
var timelapse = new Timelapse();
if (!dr.IsDBNull(dr.GetOrdinal("Id")))
timelapse.ID = dr.GetInt32(dr.GetOrdinal("Id"));
if (!dr.IsDBNull(dr.GetOrdinal("UserId")))
timelapse.UserId = dr["UserId"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("CameraId")))
timelapse.CameraId = dr["CameraId"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("OauthToken")))
timelapse.OauthToken = dr["OauthToken"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("StatusTag")))
timelapse.StatusTag = dr["StatusTag"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("Code")))
timelapse.Code = dr["Code"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("Title")))
timelapse.Title = dr["Title"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("Status")))
timelapse.Status = dr.GetInt32(dr.GetOrdinal("Status"));
if (!dr.IsDBNull(dr.GetOrdinal("Privacy")))
timelapse.Privacy = dr.GetInt32(dr.GetOrdinal("Privacy"));
if (!dr.IsDBNull(dr.GetOrdinal("FromDT")))
timelapse.FromDT = dr.GetDateTime(dr.GetOrdinal("FromDT"));
if (!dr.IsDBNull(dr.GetOrdinal("ToDT")))
timelapse.ToDT = dr.GetDateTime(dr.GetOrdinal("ToDT"));
if (!dr.IsDBNull(dr.GetOrdinal("SnapsInterval")))
timelapse.SnapsInterval = dr.GetInt32(dr.GetOrdinal("SnapsInterval"));
if (!dr.IsDBNull(dr.GetOrdinal("SnapsCount")))
timelapse.SnapsCount = dr.GetInt32(dr.GetOrdinal("SnapsCount"));
if (!dr.IsDBNull(dr.GetOrdinal("FileSize")))
timelapse.FileSize = dr.GetInt64(dr.GetOrdinal("FileSize"));
if (!dr.IsDBNull(dr.GetOrdinal("Duration")))
timelapse.Duration = dr["Duration"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("Resolution")))
timelapse.Resolution = dr["Resolution"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("MaxResolution")))
timelapse.MaxResolution = dr.GetBoolean(dr.GetOrdinal("MaxResolution"));
if (!dr.IsDBNull(dr.GetOrdinal("ServerIP")))
timelapse.ServerIP = dr["ServerIP"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("TzId")))
timelapse.TzId = dr["TzId"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("TimeZone")))
timelapse.TimeZone = dr["TimeZone"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("EnableMD")))
timelapse.EnableMD = dr.GetBoolean(dr.GetOrdinal("EnableMD"));
if (!dr.IsDBNull(dr.GetOrdinal("MDThreshold")))
timelapse.MDThreshold = dr.GetInt32(dr.GetOrdinal("MDThreshold"));
if (!dr.IsDBNull(dr.GetOrdinal("ExcludeDark")))
timelapse.ExcludeDark = dr.GetBoolean(dr.GetOrdinal("ExcludeDark"));
if (!dr.IsDBNull(dr.GetOrdinal("DarkThreshold")))
timelapse.DarkThreshold = dr.GetInt32(dr.GetOrdinal("DarkThreshold"));
if (!dr.IsDBNull(dr.GetOrdinal("DateAlways")))
timelapse.DateAlways = dr.GetBoolean(dr.GetOrdinal("DateAlways"));
if (!dr.IsDBNull(dr.GetOrdinal("TimeAlways")))
timelapse.TimeAlways = dr.GetBoolean(dr.GetOrdinal("TimeAlways"));
if (!dr.IsDBNull(dr.GetOrdinal("FPS")))
timelapse.FPS = dr.GetInt32(dr.GetOrdinal("FPS"));
if (!dr.IsDBNull(dr.GetOrdinal("WatermarkImage")))
timelapse.WatermarkImage = dr["WatermarkImage"].ToString();
if (!dr.IsDBNull(dr.GetOrdinal("WatermarkPosition")))
timelapse.WatermarkPosition = int.Parse(dr["WatermarkPosition"].ToString());
if (!dr.IsDBNull(dr.GetOrdinal("IsRecording")))
timelapse.IsRecording = dr.GetBoolean(dr.GetOrdinal("IsRecording"));
if (!dr.IsDBNull(dr.GetOrdinal("IsDeleted")))
timelapse.IsDeleted = dr.GetBoolean(dr.GetOrdinal("IsDeleted"));
if (!dr.IsDBNull(dr.GetOrdinal("LastSnapDT")))
timelapse.LastSnapDT = dr.GetDateTime(dr.GetOrdinal("LastSnapDT"));
if (!dr.IsDBNull(dr.GetOrdinal("ModifiedDT")))
timelapse.ModifiedDT = dr.GetDateTime(dr.GetOrdinal("ModifiedDT"));
if (!dr.IsDBNull(dr.GetOrdinal("CreatedDT")))
timelapse.CreatedDT = dr.GetDateTime(dr.GetOrdinal("CreatedDT"));
if (!dr.IsDBNull(dr.GetOrdinal("RecreateHls")))
timelapse.RecreateHls = dr.GetBoolean(dr.GetOrdinal("RecreateHls"));
if (!dr.IsDBNull(dr.GetOrdinal("StartRecreateHls")))
timelapse.StartRecreateHls = dr.GetBoolean(dr.GetOrdinal("StartRecreateHls"));
if (!dr.IsDBNull(dr.GetOrdinal("TimelapsePath")))
timelapse.TimelapsePath = dr["TimelapsePath"].ToString();
timelapses.Add(timelapse);
}
dr.Close();
dr.Dispose();
return timelapses;
}