public IActionResult Get(MetaFilter filter) { var registers = _siriusService.GetRegistersByFilter(filter); if (registers != null) { return(Ok(registers)); } return(NotFound()); }
/// <summary> /// Получение регистров по фильтру /// </summary> /// <param name="filter"></param> /// <returns></returns> public object GetRegistersByFilter(MetaFilter filter) { if (filter.FinishDate != DateTime.MinValue) { filter.FinishDate = filter.FinishDate.AddMinutes(59).AddHours(23); } Expression <Func <Register, bool> > f = x => (filter.ItemId != Guid.Empty ? x.ItemId == filter.ItemId : true) && (filter.CategoryId != Guid.Empty ? x.Item.CategoryId == filter.CategoryId : true) && (filter.StartDate != DateTime.MinValue ? x.Invoice.Date >= filter.StartDate : true) && (filter.FinishDate != DateTime.MinValue ? x.Invoice.Date <= filter.FinishDate : true) && (filter.TypeId != Guid.Empty ? x.Invoice.TypeId == filter.TypeId : true) && (x.Invoice.IsFixed == true); return(_unitOfWork.RegisterRepository.GetAll(f)); }
private void OnChanged(object source, FileSystemEventArgs e) { try { watcherRestartCount = 0; if (store != null && icomparer.Equals(e.FullPath, store.StoreFile.FullName)) { return; } var ext = string.Empty; if (!string.IsNullOrEmpty(e.FullPath)) { ext = Path.GetExtension(e.FullPath); ext = string.IsNullOrEmpty(ext) ? string.Empty : ext.Substring(1); } if (!Filter.Filtered(ext)) { // Check if this is a meta data filter file and there are files in the same folder if (MetaFilter.Filtered(ext) && e.ChangeType != WatcherChangeTypes.Deleted) { var affectedFiles = Directory.GetFiles(Path.GetDirectoryName(e.FullPath)).Where(f => Filter.Filtered(Path.GetExtension(f).Substring(1))); var refreshFiles = new ConcurrentQueue <WeakReference>(); foreach (var file in affectedFiles) { // Add the files to the pending files list var type = DlnaMaps.Ext2Dlna[Path.GetExtension(file).ToUpperInvariant().Substring(1)]; if (store != null) { var item = store.MaybeGetFile(this, new FileInfo(file), type); if (item != null) { refreshFiles.Enqueue(new WeakReference(item)); } } } BackgroundCacher.AddFiles(store, refreshFiles); DebugFormat("Found {0} affected files from metadata file {1}", affectedFiles.Count(), e.FullPath); } else { DebugFormat( "Skipping name {0} {1}", e.Name, Path.GetExtension(e.FullPath)); } return; } DebugFormat( "File System changed ({1}): {0}", e.FullPath, e.ChangeType); lock (ids) { var master = ids.GetItemById(Identifiers.GENERAL_ROOT) as VirtualFolder; if (master != null) { switch (e.ChangeType) { case WatcherChangeTypes.Changed: if (HandleFileDeleted(e.FullPath, master) && HandleFileAdded(e.FullPath)) { ReaddRoot(master); return; } break; case WatcherChangeTypes.Created: if (HandleFileAdded(e.FullPath)) { ReaddRoot(master); return; } break; case WatcherChangeTypes.Deleted: if (HandleFileDeleted(e.FullPath, master)) { ReaddRoot(master); return; } break; } } } DelayedRescan(e.ChangeType); } catch (Exception ex) { Error("OnChanged failed", ex); } }