/// <summary>
        /// Creates an instance of the class, opening a connection to the Windows
        /// File History service.
        /// </summary>
        public FileHistoryService(IJ4JLogger <FileHistoryService> logger)
        {
            _logger = logger ?? throw new NullReferenceException(nameof(logger));

            try
            {
                FhServiceOpenPipe(true, ref _pipe);

                if (_pipe.Equals(IntPtr.Zero))
                {
                    _logger.Fatal(NoPipeError);
                    throw new NullReferenceException("failed to open pipe to File History Service");
                }

                _logger.Information("Opened pipe to File History Service");

                _svcCtrl = new ServiceController(ServiceName);
                _logger.Information("Created service controller");
            }
            catch (Exception e)
            {
                var error = FileHistoryErrors.GetError(e);
                _logger.Fatal(error);

                throw e;
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            _services = ConfigureServices();

            var loggerFactory = _services.GetRequiredService <IJ4JLoggerFactory>();

            _logger = loggerFactory.CreateLogger(typeof(Program));

            _context = _services.GetRequiredService <SimulationContext>();

            if (!_context.Initialize(args))
            {
                Environment.ExitCode = 1;
                return;
            }

            OutputAssumptions();

            PressAnyKey("Press any key to run simulations");

            _simulator = _services.GetRequiredService <Simulator>();
            _simulator.Run(_context);

            OutputToExcel(_simulator);
        }
Exemplo n.º 3
0
 public FileHistoryShareTarget(IJ4JLogger <FileHistoryShareTarget> logger, IShareConfiguration config)
     : base((IJ4JLogger <FileHistoryTarget>)logger, config)
 {
     _timer          = new System.Timers.Timer();
     _timer.Elapsed += _timer_Elapsed;
     Logger.Information("set up interval timer");
 }
Exemplo n.º 4
0
        public ExcelTable(
            ExcelSheet excelSheet,
            IJ4JLoggerFactory loggerFactory,
            TableOrientation orientation = TableOrientation.ColumnHeaders,
            int?row = null,
            int?col = null
            )
        {
            _logger = loggerFactory?.CreateLogger(typeof(ExcelTable)) ??
                      throw new NullReferenceException(nameof(loggerFactory));

            _orientation = orientation;

            ExcelSheet = excelSheet ?? throw new NullReferenceException(nameof(excelSheet));

            if (row.HasValue && col.HasValue)
            {
                UpperLeftColumn = col.Value;
                UpperLeftRow    = row.Value;
            }
            else
            {
                UpperLeftRow    = ExcelSheet.ActiveRowNumber;
                UpperLeftColumn = ExcelSheet.ActiveColumnNumber;
            }
        }
 public ExcelExporter(
     IJ4JLoggerFactory loggerFactory
     )
 {
     _loggerFactory = loggerFactory ?? throw new NullReferenceException(nameof(loggerFactory));
     _logger        = _loggerFactory.CreateLogger(typeof(ExcelExporter));
 }
Exemplo n.º 6
0
        public RouteApp(
            AppConfig config,
            IHostApplicationLifetime lifetime,
            IIndex <string, IConfigurationUpdater> configUpdaters,
            IIndex <ImportType, IImporter> importers,
            IIndex <ExportType, IExporter> exporters,
            IIndex <ProcessorType, IRouteProcessor> snapProcessors,
            IJ4JLogger logger
            )
        {
            _config    = config;
            _lifetime  = lifetime;
            _importers = importers;

            _exporter = exporters[config.ExportType];

            _distProc = snapProcessors[ProcessorType.Distance];
            _distProc.PointsProcessed += PointsProcessedHandler;

            _logger = logger;
            _logger.SetLoggedType(GetType());

            if (configUpdaters.TryGetValue(AutofacKey, out var updater) &&
                updater.Update(_config))
            {
                _routeProc = snapProcessors[config.ProcessorType];
                _routeProc.PointsProcessed += PointsProcessedHandler;

                return;
            }

            _logger.Fatal("Incomplete configuration, aborting");
            _lifetime.StopApplication();
        }
Exemplo n.º 7
0
        private async Task <int> OnExecuteAsync(
            CommandLineApplication app,
            CancellationToken cancellationToken = default
            )
        {
            _logger = AppServiceProvider.Instance.GetRequiredService <IJ4JLogger>();
            _logger.SetLoggedType <Program>();

            Configuration = AppServiceProvider.Instance.GetRequiredService <AppConfiguration>();

            if (Retrieve)
            {
                return(RetrieveDataFromAlphaVantage());
            }

            if (!String.IsNullOrEmpty(PathToSecuritiesFile))
            {
                return(UpdateSecurities());
            }

            if (!String.IsNullOrEmpty(PathToPriceFile))
            {
                return(ExportDataToCSV());
            }

            // shouldn't get here; something weird happened
            _logger.Error("Unexpected termination");
            return(-1);
        }
Exemplo n.º 8
0
 public JsonProjectAssetsConverter(
     ITypedListCreator listBuilder,
     IJ4JLogger <JsonProjectAssetsConverter> logger
     )
 {
     _listBuilder = listBuilder ?? throw new NullReferenceException(nameof(listBuilder));
     _logger      = logger ?? throw new NullReferenceException(nameof(logger));
 }
Exemplo n.º 9
0
 protected LibraryInfo(
     ReferenceType refType,
     IJ4JLogger <LibraryInfo> logger
     )
     : base(logger)
 {
     Type = refType;
 }
Exemplo n.º 10
0
 public ReferenceInfo(
     Func <DependencyInfo> diCreator,
     IJ4JLogger <ReferenceInfo> logger
     )
     : base(logger)
 {
     _diCreator = diCreator ?? throw new NullReferenceException(nameof(diCreator));
 }
Exemplo n.º 11
0
 public TargetInfo(
     Func <ReferenceInfo> refCreator,
     IJ4JLogger <TargetInfo> logger
     )
     : base(logger)
 {
     _refCreator = refCreator ?? throw new NullReferenceException(nameof(refCreator));
 }
 public ProjectFileDependencyGroup(
     Func <RestrictedDependencyInfo> depCreator,
     IJ4JLogger <ProjectFileDependencyGroup> logger
     )
     : base(logger)
 {
     _depCreator = depCreator ?? throw new NullReferenceException(nameof(depCreator));
 }
Exemplo n.º 13
0
 public FrameworkReferences(
     Func <ProjectReference> refCreator,
     IJ4JLogger <ProjectAssetsBase> logger
     )
     : base(logger)
 {
     _refCreator = refCreator ?? throw new NullReferenceException(nameof(refCreator));
 }
Exemplo n.º 14
0
        public DataRetriever(
            AlphaVantageContext dbContext,
            IJ4JLogger logger)
        {
            DbContext = dbContext;

            Logger = logger;
            Logger.SetLoggedType(this.GetType());
        }
        public DataRetriever(
            Configuration config,
            IJ4JLogger logger)
        {
            _config = config ?? throw new NullReferenceException(nameof(config));
            _logger = logger ?? throw new NullReferenceException(nameof(logger));

            //_logger.SetLoggedType<DataRetriever>();
        }
        public SimulationContext(IJ4JLoggerFactory loggerFactory)
            : base("Investment Simulator")
        {
            _logger = loggerFactory?.CreateLogger(typeof(SimulationContext)) ??
                      throw new NullReferenceException(nameof(loggerFactory));

            Betas = new BetaDistribution(this, loggerFactory);

            ChildModels.Add(Betas);
        }
Exemplo n.º 17
0
        public ExcelSheet(
            ISheet sheet,
            IJ4JLoggerFactory loggerFactory
            )
        {
            _loggerFactory = loggerFactory ?? throw new NullReferenceException(nameof(loggerFactory));
            _logger        = _loggerFactory.CreateLogger(typeof(ExcelSheet));

            Sheet = sheet ?? throw new NullReferenceException(nameof(sheet));
        }
Exemplo n.º 18
0
 public FrameworkDependencies(
     Func <DependencyList> depListCreator,
     Func <FrameworkLibraryReference> fwlCreator,
     IJ4JLogger <ProjectAssetsBase> logger
     )
     : base(logger)
 {
     _depListCreator = depListCreator ?? throw new NullReferenceException(nameof(depListCreator));
     _fwlCreator     = fwlCreator ?? throw new NullReferenceException(nameof(fwlCreator));
 }
Exemplo n.º 19
0
 public ProjectInfo(
     Func <RestoreInfo> restoreCreator,
     Func <FrameworkReferences> fwCreator,
     Func <WarningProperty> wpCreator,
     IJ4JLogger <ProjectInfo> logger
     )
     : base(logger)
 {
     _restoreCreator = restoreCreator ?? throw new NullReferenceException(nameof(restoreCreator));
     _fwCreator      = fwCreator ?? throw new NullReferenceException(nameof(fwCreator));
     _wpCreator      = wpCreator ?? throw new NullReferenceException(nameof(wpCreator));
 }
Exemplo n.º 20
0
        public static bool TryParseSemanticVersion <TCaller>(string text, out SemanticVersion result,
                                                             IJ4JLogger <TCaller> logger = null)
        {
            var pattern = @"(\d *)\.?(\d *)?\.?(\d *)?";
            var matches = Regex.Match(text, pattern);

            if (!matches.Success || matches.Groups.Count < 2)
            {
                logger?.Error($"Couldn't match '{text}' against the regex pattern '{pattern}' ");
                result = null;

                return(false);
            }

            string unparsedText = null;

            var numbers = matches.Groups
                          .Where((g, idx) => idx > 0 && !String.IsNullOrEmpty(g.Value))
                          .Select(g =>
            {
                if (int.TryParse(g.Value, out var number))
                {
                    return(number);
                }

                unparsedText = g.Value;

                return(0);
            })
                          .ToList();

            if (unparsedText != null)
            {
                logger?.Error($"Couldn't parse version component '{unparsedText}' to a {typeof( int )}");
                result = null;

                return(false);
            }

            for (int idx = 0; idx < 3; idx++)
            {
                if (idx >= numbers.Count)
                {
                    numbers.Add(0);
                }
            }

            result = new SemanticVersion(numbers[0], numbers[1], numbers[2]);

            return(true);
        }
Exemplo n.º 21
0
 public ProjectAssets(
     JsonProjectAssetsConverter paConverter,
     Func <TargetInfo> tgtCreator,
     Func <PackageLibrary> pkgLibCreator,
     Func <ProjectLibrary> projLibCreator,
     Func <ProjectFileDependencyGroup> pfdgCreator,
     Func <ProjectInfo> projCreator,
     IJ4JLogger <ProjectAssets> logger
     )
     : base(logger)
 {
     _paConverter    = paConverter ?? throw new NullReferenceException(nameof(paConverter));
     _tgtCreator     = tgtCreator ?? throw new NullReferenceException(nameof(tgtCreator));
     _pkgLibCreator  = pkgLibCreator ?? throw new NullReferenceException(nameof(pkgLibCreator));
     _projLibCreator = projLibCreator ?? throw new NullReferenceException(nameof(projLibCreator));
     _pfdgCreator    = pfdgCreator ?? throw new NullReferenceException(nameof(pfdgCreator));
     _projCreator    = projCreator ?? throw new NullReferenceException(nameof(projCreator));
 }
Exemplo n.º 22
0
        static void Main(string[] args)
        {
            ConfigureServices();

            _logger = _svcProvider.GetService <IJ4JLogger>() !;
            _logger.SetLoggedType <Program>();

            var retriever = _svcProvider.GetService <DataRetriever>();

            var priceData = retriever !.GetPrices()
                            .OrderBy(d => d.MoneydanceAccount)
                            .ToList();

            var config = _svcProvider.GetService <Configuration>();

            if (File.Exists(config !.OutputFilePath))
            {
                File.Delete(config.OutputFilePath);
            }

            File.WriteAllText(config.OutputFilePath, priceData.ToCsv());
        }
Exemplo n.º 23
0
        public FileHistoryConfiguration(IJ4JLogger <FileHistoryConfiguration> histLogger, IJ4JLogger <FileHistoryService> svcLogger)
        {
            _logger = histLogger ?? throw new NullReferenceException(nameof(histLogger));

            if (svcLogger == null)
            {
                throw new NullReferenceException(nameof(svcLogger));
            }

            _fhMgr = new FHManager() as IFHManager;
            if (_fhMgr != null)
            {
                try
                {
                    _fhMgr.LoadConfiguration();

                    _logger.Information("Loaded File History configuration");
                    _logger.Information(
                        "Backing up to {TargetName} ({TargetUrl}) -- {TargetType}", TargetName, TargetUrl, propertyValue2: TargetType);
                }
                catch (Exception e)
                {
                    var error = FileHistoryErrors.GetError(e);
                    _logger.Fatal(error);

                    throw new NullReferenceException("Could not load File History configuration");
                }
            }
            else
            {
                _logger.Error(NoConfigError);
                throw new NullReferenceException("Could not load File History configuration");
            }

            _fhSvc = new FileHistoryService(svcLogger);
        }
Exemplo n.º 24
0
 public ProjectAssetsBase(
     IJ4JLogger <ProjectAssetsBase> logger
     )
 {
     Logger = logger ?? throw new NullReferenceException(nameof(logger));
 }
Exemplo n.º 25
0
 protected DependencyInfoBase(IJ4JLogger <DependencyInfoBase> logger)
     : base(logger)
 {
 }
Exemplo n.º 26
0
 public ProjectReference(IJ4JLogger <ProjectAssetsBase> logger)
     : base(logger)
 {
 }
Exemplo n.º 27
0
        public static bool CreateTargetFramework <TCaller>(string text, out TargetFramework result, IJ4JLogger <TCaller> logger = null)
        {
            result = new TargetFramework();

            return(result.Initialize(text, logger));
        }
 public RestrictedDependencyInfo(IJ4JLogger <RestrictedDependencyInfo> logger)
     : base(logger)
 {
 }
Exemplo n.º 29
0
 protected FrameworkBase(IJ4JLogger <ProjectAssetsBase> logger)
     : base(logger)
 {
 }
Exemplo n.º 30
0
 public FrameworkLibraryReference(IJ4JLogger <ProjectAssetsBase> logger)
     : base(logger)
 {
 }