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); } }