コード例 #1
0
 public ObserverCrowd(
     IOptions <AppOptions> options,
     IObserverOperationFactory operationFactory)
 {
     _operationFactory = NamedNullException.Assert(operationFactory, nameof(operationFactory));
     _gps = NamedNullException.Assert(options, nameof(options)).Value.Groups;
 }
コード例 #2
0
 public NewFileScanHostedService(
     IPathMonitorCrowd monitorCrowd,
     IObserverProvider observerProvider)
 {
     _monitor          = NamedNullException.Assert(monitorCrowd, nameof(monitorCrowd));
     _observerProvider = NamedNullException.Assert(observerProvider, nameof(observerProvider));
 }
コード例 #3
0
 public OptionsStorageBase(IWritableOptions <TOptions> options,
                           TModel model)
 {
     _options = NamedNullException.Assert(options, nameof(options));
     _model   = NamedNullException.Assert(model, nameof(model));
     _model.PropertyChanged += OnModelPropertyChanged;
 }
コード例 #4
0
 public ProcessSingletonService(
     IConfiguration config,
     IHostLifetime hostLifetime)
 {
     _config       = NamedNullException.Assert(config, nameof(config));
     _hostLifetime = NamedNullException.Assert(hostLifetime, nameof(hostLifetime));
 }
コード例 #5
0
        public static void PostAction(AppOptions mo)
        {
            NamedNullException.Assert(mo, nameof(mo));

            var defaultMonitor   = mo.Default?.Monitor;
            var defaultOperation = mo.Default?.Operation;

            NumberOutOfRangeException <int> .Assert(
                mo.FileReadSpinWaitTimeout,
                0, AppOptions.MaxFileReadSpinWaitTimeout,
                nameof(mo.FileReadSpinWaitTimeout));

            var groups = NamedNullException.Assert(mo.Groups, nameof(mo.Groups));

            foreach (var group in groups)
            {
                NamedNullException.Assert(group, nameof(group));
                StringNullOrEmptyException.Assert(group.Name, nameof(group.Name));

                group.Monitor = postMonitor(group.Monitor, in defaultMonitor);

                NamedNullException.Assert(group.Operations, nameof(group.Operations));
                NotTrueException.Assert(group.Operations.Count() > 0, nameof(group.Operations));

                foreach (var op in group.Operations)
                {
                    postOperation(op, defaultOperation);
                }
            }
        }
コード例 #6
0
 public DefaultOperationFactoryExtension(
     IFileTask fileMan,
     ILoggerFactory loggerFactory)
 {
     _man           = NamedNullException.Assert(fileMan, nameof(fileMan));
     _loggerFactory = NamedNullException.Assert(loggerFactory, nameof(loggerFactory));
 }
コード例 #7
0
        public static BitmapSource ShowROI(this BitmapSource source, Rect[] defectRects, int penThick = 3)
        {
            var brush = Brushes.Red;

            NamedNullException.Assert(source, nameof(source));
            NamedNullException.Assert(defectRects, nameof(defectRects));
            if (defectRects.Length == 0)
            {
                return(source);
            }

            var dv = new DrawingVisual();
            var dc = dv.RenderOpen();

            dc.DrawImage(source, source.FullRect());
            foreach (var defect in defectRects)
            {
                dc.DrawRectangle(null, new Pen(brush, penThick), Rect.Intersect(defect, source.FullRect()));
            }
            dc.Close();

            var renderedBmp = new RenderTargetBitmap(
                source.PixelWidth,
                source.PixelHeight,
                96, 96,
                PixelFormats.Default);

            renderedBmp.Render(dv);
            return(renderedBmp);
        }
コード例 #8
0
 public DeleteFileOperation(
     IFileTask man,
     OperationOptions options)
 {
     _man = NamedNullException.Assert(man, nameof(man));
     NamedNullException.Assert(options, nameof(options));
     NotTrueException.Assert(options.DoDelete, nameof(options.DoDelete));
 }
コード例 #9
0
 public static void EnsureValid(FtpOptions ftp)
 {
     NamedNullException.Assert(ftp, nameof(ftp));
     StringNullOrEmptyException.Assert(ftp.FtpRoot, nameof(ftp.FtpRoot));
     StringNullOrEmptyException.Assert(ftp.UserName, nameof(ftp.UserName));
     NotTrueException.Assert(ftp.Timeout.HasValue, nameof(ftp.Timeout.HasValue));
     NumberOutOfRangeException <int> .Assert(ftp.Timeout.Value, 0, MaxFtpTimeout, nameof(ftp.Timeout.Value));
 }
コード例 #10
0
        public TimedRefreshControl(IControl control, int timeInMillisecond)
        {
            var time = Math.Max(20, timeInMillisecond);

            _timer   = new Timer(timerCallback, new object(), 5000, time);
            _sb      = new StringBuilder();
            _synObj  = new object();
            _control = NamedNullException.Assert(control, nameof(control));
        }
コード例 #11
0
        public static IEnumerable <T> Filter <T>(this IEnumerable <T> items, string key,
                                                 IEnumerable <Func <T, string> > propertyToFilters,
                                                 int maxDisplayCount)
        {
            NamedNullException.Assert(propertyToFilters, nameof(propertyToFilters));

            return(items.Filter(key,
                                (item, k) => propertyToFilters.Any(p => p(item).InternalContainsKey(k)),
                                maxDisplayCount));
        }
コード例 #12
0
        public static IEnumerable <T> Filter <T>(this IEnumerable <T> items, string key,
                                                 Func <T, string> contentSelector,
                                                 int maxDisplayCount)
        {
            NamedNullException.Assert(contentSelector, nameof(contentSelector));

            return(items.Filter(key,
                                (item, k) => contentSelector(item).InternalContainsKey(k),
                                maxDisplayCount));
        }
コード例 #13
0
 public CompositeOperation(params IObserverOperation[] operations)
 {
     _operations = new List <IObserverOperation>();
     //var _lockResource = false;
     for (var index = 0; index < operations.Length; ++index)
     {
         _operations.Add(NamedNullException.Assert(operations[index], "operation"));
         //_lockResource |= _operations[index].LockResource;
     }
     //LockResource = _lockResource;
 }
コード例 #14
0
        public IBlobCache GetMedia(string name)
        {
            NamedNullException.Assert(name, nameof(name));

            if (!_caches.ContainsKey(name))
            {
                throw new DoNotExistSuchNameMediaException(name);
            }

            return(_caches[name]);
        }
コード例 #15
0
        public MoveFileOperation(
            IFileTask man,
            OperationOptions options)
        {
            _man = NamedNullException.Assert(man, nameof(man));
            NamedNullException.Assert(options, nameof(options));
            NotTrueException.Assert(options.DoMove, nameof(options.DoMove));
            StringNullOrEmptyException.Assert(options.MovePath, nameof(options.MovePath));

            _options = options;
        }
コード例 #16
0
        public BackupOperation(
            string groupName,
            IFileTask man,
            OperationOptions options)
        {
            _backupDirLinks = StringNullOrEmptyException.Assert(groupName, nameof(groupName));
            _man            = NamedNullException.Assert(man, nameof(man));
            NamedNullException.Assert(options, nameof(options));
            NotTrueException.Assert(options.DoBackup, nameof(options.DoBackup));
            StringNullOrEmptyException.Assert(options.BackupPath, nameof(options.BackupPath));

            _options = options;
        }
コード例 #17
0
 public WpfLifetime(
     Application app,
     IOptions <WpfLifetimeOptions> options,
     IHostEnvironment environment,
     IHostApplicationLifetime applicationLifetime,
     ILogger <WpfLifetime> logger)
 {
     Options             = NamedNullException.Assert(options?.Value, nameof(options));
     Environment         = NamedNullException.Assert(environment, nameof(environment));
     ApplicationLifetime = NamedNullException.Assert(applicationLifetime, nameof(applicationLifetime));
     _logger             = NamedNullException.Assert(logger, nameof(logger));
     _app = NamedNullException.Assert(app, nameof(app));
 }
コード例 #18
0
 public static IServiceCollection AddAkaCache(this IServiceCollection services, params AkaCacheOptions[] options)
 {
     NamedNullException.Assert(services, nameof(services));
     services.AddSingleton <IAkavacheManager>(_ =>
     {
         var mgr = new DefaultAkavacheManager();
         for (var index = 0; index < options.Length; ++index)
         {
             mgr.AddPersistenceMedia(options[index]);
         }
         return(mgr);
     });
     return(services);
 }
コード例 #19
0
        public static IEnumerable <T> Filter <T>(this IEnumerable <T> items, string key,
                                                 Func <T, string, bool> judger,
                                                 int maxDisplayCount)
        {
            NamedNullException.Assert(items, nameof(items));
            NamedNullException.Assert(judger, nameof(judger));

            maxDisplayCount = maxDisplayCount > 0 ? maxDisplayCount : int.MaxValue;

            return(string.IsNullOrWhiteSpace(key) ? items.Take(maxDisplayCount).ToArray() :
                   items.Where(x => judger(x, key))
                   .Take(maxDisplayCount)
                   .ToArray());
        }
コード例 #20
0
        public FtpTransferOperation(
            OperationOptions oo,
            ILoggerFactory loggerFactory)
        {
            _options = NamedNullException.Assert(oo, nameof(oo));
            var fo = _options.Ftp;

            NamedNullException.Assert(fo, nameof(fo));
            _timeout   = fo.Timeout.HasValue ? fo.Timeout.Value : FtpOptions.MaxFtpTimeout;
            _ftpClient = new SimpleFtpClient(fo.FtpRoot, fo.UserName, fo.Password, _timeout);

            _logger        = NamedNullException.Assert(loggerFactory, nameof(loggerFactory)).CreateLogger <FtpTransferOperation>();
            _timeoutPolicy = Policy.TimeoutAsync(TimeSpan.FromMilliseconds(_timeout), TimeoutStrategy.Pessimistic);
        }
コード例 #21
0
ファイル: MonitorCrowd.cs プロジェクト: DaneSpiritGOD/Scanner
        public MonitorCrowd(
            IOptions <AppOptions> options,
            ILogger <MonitorCrowd> log)
        {
            NamedNullException.Assert(options, nameof(options));

            _readSpinTimeout = options.Value.FileReadSpinWaitTimeout;
            _scs             = options.Value.Groups.Select(x => x.Monitor).ToList();
            _log             = NamedNullException.Assert(log, nameof(log));
            _monitors        = _scs.Select(x => x.Path.ToMonitoredPath())
                               .Distinct(MonitoredPath.Comparer)
                               .Select(x => new PathMonitor(x))
                               .ToList();
            _observers = new List <IPathObserver>();
        }
コード例 #22
0
        public void AddPersistenceMedia(AkaCacheOptions options)
        {
            NamedNullException.Assert(options, nameof(options));

            var name = StringNullOrWhiteSpaceException.Assert(options.Name, nameof(options.Name));

            if (_caches.ContainsKey(name))
            {
                throw new CreateSameNameMediaException(name);
            }

            var path = Path.GetFullPath(options.PersistenceMediaDirPath);

            path.EnsureDirExists();

            var full = Path.Combine(path, $"{name}.db");

            _caches[name] = options.NeedEncryption ? new SQLiteEncryptedBlobCache(full) : new SqlRawPersistentBlobCache(full);
        }
コード例 #23
0
 public CacheProvider(IMemoryCache cache)
 {
     _cache = NamedNullException.Assert(cache, nameof(cache));
     _keys  = new ConcurrentDictionary <string, string>();
 }
コード例 #24
0
 public TextBoxControl(TextBox textBox)
 {
     _textBox = NamedNullException.Assert(textBox, nameof(textBox));
 }
コード例 #25
0
ファイル: ControlLogger.cs プロジェクト: DaneSpiritGOD/Suites
 public ControlLogger(string name, Func <string, LogLevel, bool> filter, IControl control)
 {
     _control = NamedNullException.Assert(control, nameof(control));
     _name    = (string.IsNullOrEmpty(name) ? "ControlLogger" : name);
     _filter  = filter;
 }
コード例 #26
0
        public XmlFoldingHelper(TextEditor editor)
        {
            _textEditor = NamedNullException.Assert(editor, nameof(editor));

            _init();
        }
コード例 #27
0
 public AutoClearControl(IControl control, int maxCount)
 {
     _condition = maxCount >= 1 ? new Condition(maxCount) : default;
     _control   = NamedNullException.Assert(control, nameof(control));
 }
コード例 #28
0
 public ControlLoggerProvider(IControl control)
 {
     _filter  = null;
     _control = NamedNullException.Assert(control, nameof(control));
 }
コード例 #29
0
 public DefaultHttpApiFactory(IServiceProvider provider)
 {
     _serviceProvider = NamedNullException.Assert(provider, nameof(provider));
 }
コード例 #30
0
 public static IServiceCollection AddAkaCache(this IServiceCollection services)
 {
     NamedNullException.Assert(services, nameof(services));
     services.AddSingleton <IAkavacheManager, DefaultAkavacheManager>();
     return(services);
 }