Пример #1
0
 /// <summary>
 /// 获取录像
 /// </summary>
 /// <param name="start">开始时间</param>
 /// <param name="end">结束时间</param>
 /// <param name="page">页码</param>
 /// <param name="count">数量</param>
 /// <returns>录像列表</returns>
 public static List <Recording> GetRecordings(DateTime start, DateTime end, int page, int count)
 {
     try {
         using (var db = new RepositoyContext()) {
             if ((start == null) || (end == null))
             {
                 return(db.Set <Recording>()
                        .Where(r => r.startTime >= start)
                        .Where(r => r.startTime <= end)
                        .OrderByDescending(r => r.startTime)
                        .Skip((page - 1) * count).Take(count)
                        .ToList());
             }
             else
             {
                 return(db.Set <Recording>()
                        .OrderByDescending(r => r.startTime)
                        .Skip((page - 1) * count).Take(count)
                        .ToList());
             }
         }
     }
     catch (Exception e) {
         Tracker.LogE(e);
         return(null);
     }
 }
Пример #2
0
 /// <summary>
 /// 批量删除录像
 /// </summary>
 /// <param name="ids">索引列表</param>
 /// <returns>是否成功</returns>
 public static bool DeleteRecordings(List <int> ids)
 {
     try {
         using (var db = new RepositoyContext()) {
             var recordings = db.Set <Recording>().Where(r => ids.Contains(r.id)).ToList();
             db.Set <Recording>().RemoveRange(recordings);
             db.SaveChanges();
             return(true);
         }
     }
     catch (Exception e) {
         Tracker.LogE(e);
         return(false);
     }
 }
Пример #3
0
        /// <summary>
        /// 添加录像
        /// </summary>
        /// <param name="recording">录像</param>
        /// <returns>是否成功</returns>
        public static bool AddRecording(Recording recording)
        {
            try {
                using (var db = new RepositoyContext()) {
                    db.Set <Recording>().Add(recording);
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception e) {
                Tracker.LogE(e);
                return(false);
            }
        }
Пример #4
0
 /// <summary>
 /// 批量删除告警
 /// </summary>
 /// <param name="ids">索引列表</param>
 /// <returns>是否成功</returns>
 public static bool DeleteAlarms(List <int> ids)
 {
     try {
         using (var db = new RepositoyContext()) {
             var alarms = db.Set <Alarm>().Where(a => ids.Contains(a.id)).ToList();
             db.Set <Alarm>().RemoveRange(alarms);
             db.SaveChanges();
             return(true);
         }
     }
     catch (Exception e) {
         Tracker.LogE(e);
         return(false);
     }
 }
Пример #5
0
        /// <summary>
        /// 添加告警
        /// </summary>
        /// <param name="alarm">告警</param>
        /// <returns>是否成功</returns>
        public static bool AddAlarm(Alarm alarm)
        {
            try {
                using (var db = new RepositoyContext()) {
                    db.Set <Alarm>().Add(alarm);
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception e) {
                Tracker.LogE(e);
                return(false);
            }
        }
Пример #6
0
 /// <summary>
 /// 获取未删除录像
 /// </summary>
 /// <param name="count">数量</param>
 /// <returns>录像列表</returns>
 public static List <Recording> GetExistsRecordings(int count)
 {
     try {
         using (var db = new RepositoyContext()) {
             return(db.Set <Recording>()
                    .Where(r => r.deleted == false)
                    .OrderByDescending(a => a.startTime)
                    .Take(count)
                    .ToList());
         }
     }
     catch (Exception e) {
         Tracker.LogE(e);
         return(null);
     }
 }
Пример #7
0
 /// <summary>
 /// 获取最新告警
 /// </summary>
 /// <param name="start">开始时间</param>
 /// <param name="end">结束时间</param>
 /// <param name="count">数量</param>
 /// <returns>告警列表</returns>
 public static List <Alarm> GetLastAlarms(DateTime start, DateTime end, int count)
 {
     try {
         using (var db = new RepositoyContext()) {
             return(db.Set <Alarm>()
                    .Where(a => a.startTime >= start)
                    .Where(a => a.startTime <= end)
                    .OrderByDescending(a => a.startTime)
                    .Take(count).ToList());
         }
     }
     catch (Exception e) {
         Tracker.LogE(e);
         return(null);
     }
 }
Пример #8
0
        /// <summary>
        /// 更新录像
        /// </summary>
        /// <param name="recording">录像</param>
        /// <returns>是否成功</returns>
        public static bool UpdateRecording(Recording recording)
        {
            try {
                using (var db = new RepositoyContext()) {
                    var dst = db.Set <Recording>().FirstOrDefault(a => a.id == recording.id);
                    if (dst == null)
                    {
                        return(false);
                    }

                    MethodUtils.CopyProperties(recording, ref dst);
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception e) {
                Tracker.LogE(e);
                return(false);
            }
        }
Пример #9
0
 /// <summary>
 /// 获取录像数量
 /// </summary>
 /// <param name="start">开始时间</param>
 /// <param name="end">结束时间</param>
 /// <returns>录像数量</returns>
 public static int GetRecordingsCount(DateTime start, DateTime end)
 {
     try {
         using (var db = new RepositoyContext()) {
             if ((start != null) && (end != null))
             {
                 return(db.Set <Recording>()
                        .Where(r => r.startTime >= start)
                        .Where(r => r.startTime <= end)
                        .Count());
             }
             else
             {
                 return(db.Set <Recording>().Count());
             }
         }
     }
     catch (Exception e) {
         Tracker.LogE(e);
         return(0);
     }
 }