Ejemplo n.º 1
0
        public List <SearchCallLogResult> Search(SearchCallLogCriteria cr)
        {
            if (!cr.CanSearch())
            {
                return(null);
            }

            using (var ctx = new NovaAlertContext())
            {
                var query = BuildCallLogSearchQuery(cr, ctx);
                var list  = new List <SearchCallLogResult>();

                List <CallLogDb> dbList;
                if (cr.NumOfRecords > 0)
                {
                    dbList = query.OrderByDescending(det => det.StartTime).Skip(cr.StartIndex).Take(cr.NumOfRecords).ToList();
                }
                else
                {
                    dbList = query.ToList();
                }

                foreach (var call in dbList)
                {
                    var result = new SearchCallLogResult();
                    Mapper.Map <CallLogDb, SearchCallLogResult>(call, result);
                    list.Add(result);
                }

                return(list);
            }
        }
        void INovaAlertConfigService.DeleteCallLog(SearchCallLogResult cl)
        {
            try
            {
                CallLogDal.Instance.DeleteCallLog(cl.CallLogId);

                var recordFolder = GlobalSetting.Instance.RecordFolder;
                // Delete file
                foreach (var det in cl.Details)
                {
                    var path = Path.Combine(recordFolder, det.GetRecordFileName());
                    if (File.Exists(path))
                    {
                        File.Delete(path);
                    }
                }
            }
            catch (Exception ex)
            {
                LogService.Logger.Error("DeleteCallLog", ex);
            }
        }