public OnlineLoggingData([NotNull] DateStampCreator dsc, [NotNull] IInputDataLogger idl,
                          [NotNull] CalcParameters calcParameters)
 {
     _dsc            = dsc;
     _idl            = idl;
     _calcParameters = calcParameters;
     _columnEntries  = new List <ColumnEntry>();
     _lists.Add(_columnEntries);
     _affordanceActivationEntries = new List <DeviceActivationEntry>();
     _lists.Add(_affordanceActivationEntries);
     _transportationStatuses = new List <TransportationStatus>();
     _lists.Add(_transportationStatuses);
     _transportationDeviceState = new List <TransportationDeviceStateEntry>();
     _lists.Add(_transportationDeviceState);
     _transportationEvents = new List <TransportationEventEntry>();
     _lists.Add(_transportationEvents);
     _locationEntries = new List <LocationEntry>();
     _lists.Add(_locationEntries);
     _personStatus = new List <PersonStatus>();
     _lists.Add(_personStatus);
     _chargingStationStates = new List <ChargingStationState>();
     _lists.Add(_chargingStationStates);
     _variableEntries = new List <CalcVariableEntry>();
     _lists.Add(_variableEntries);
 }
Пример #2
0
 public CalcRepo(
     [CanBeNull] IOnlineDeviceActivationProcessor odap = null,
     [CanBeNull] Random rnd = null,
     [CanBeNull] CalcParameters calcParameters        = null,
     [CanBeNull] IOnlineLoggingData onlineLoggingData = null,
     [CanBeNull] NormalRandom normalRandom            = null,
     [CanBeNull] ILogFile lf = null,
     [CanBeNull] SqlResultLoggingService srls            = null,
     [CanBeNull] IInputDataLogger inputDataLogger        = null,
     [CanBeNull] CalculationProfiler calculationProfiler = null,
     [CanBeNull] FileFactoryAndTracker fft = null,
     [CanBeNull] DateStampCreator dsc      = null)
 {
     _dateStampCreator = dsc;
     _fft               = fft;
     _odap              = odap;
     _rnd               = rnd;
     _calcParameters    = calcParameters;
     _onlineLoggingData = onlineLoggingData;
     _normalRandom      = normalRandom;
     _lf                  = lf;
     _srls                = srls;
     _inputDataLogger     = inputDataLogger;
     _calculationProfiler = calculationProfiler;
 }
Пример #3
0
 public MakeActionsEachTimestep([NotNull] ICalculationProfiler calculationProfiler,
                                [NotNull] CalcDataRepository repository,
                                [NotNull] IInputDataLogger inputDataLogger) : base(repository,
                                                                                   AutomationUtili.GetOptionList(CalcOption.ActionsEachTimestep), calculationProfiler,
                                                                                   "Make Actions Each Timestep List", 0)
 {
     _repository          = repository;
     _inputDataLogger     = inputDataLogger;
     _calculationProfiler = calculationProfiler;
 }
        //[JetBrains.Annotations.NotNull]private readonly Dictionary<HouseholdKey, StreamWriter> _files;

        public MakeTotalsPerLoadtype(
            [NotNull] CalcDataRepository repository,
            [NotNull] ICalculationProfiler profiler,
            [NotNull] IInputDataLogger inputDataLogger)
            : base(repository, AutomationUtili.GetOptionList(CalcOption.TotalsPerLoadtype), profiler,
                   "Totals per LoadType")
        {
            _inputDataLogger = inputDataLogger;
            //   _files = new Dictionary<HouseholdKey, StreamWriter>();
        }
 public MakeActivationsPerFrequencies([NotNull] IFileFactoryAndTracker fft,
                                      [NotNull] CalcDataRepository repository,
                                      [NotNull] ICalculationProfiler profiler,
                                      [NotNull] IInputDataLogger logger) : base(repository,
                                                                                AutomationUtili.GetOptionList(CalcOption.ActivationFrequencies),
                                                                                profiler,
                                                                                "Activation Frequency Analysis", 0)
 {
     _dataLogger = logger;
     _fft        = fft;
 }
 public MakeTotalsPerDevice([NotNull] CalcDataRepository repository,
                            [NotNull] ICalculationProfiler profiler,
                            [NotNull] IFileFactoryAndTracker fft,
                            IInputDataLogger inputDataLogger) : base(repository,
                                                                     AutomationUtili.GetOptionList(CalcOption.TotalsPerDevice),
                                                                     profiler,
                                                                     "Totals per Device")
 {
     _inputDataLogger = inputDataLogger;
     _fft             = fft;
 }
 public MakeBodilyActivityLevelStatistics([NotNull] ICalculationProfiler calculationProfiler,
                                          [NotNull] CalcDataRepository repository,
                                          [NotNull] IInputDataLogger inputDataLogger) : base(repository,
                                                                                             AutomationUtili.GetOptionList(CalcOption.BodilyActivityStatistics),
                                                                                             calculationProfiler,
                                                                                             "Make Bodily Activity Level Statistics", 1)
 {
     _calculationProfiler = calculationProfiler;
     _repository          = repository;
     _inputDataLogger     = inputDataLogger;
 }
        public FileFactoryAndTracker([NotNull] string resultpath, [NotNull] string calcObjectName,
                                     [NotNull] IInputDataLogger inputDataLogger,
                                     [CanBeNull] IGetStreams sw = null)
        {
            ResultFileList = new ResultFileList(calcObjectName, resultpath);
            if (sw == null)
            {
                _getStream = new GetFileStreamGetter();
            }
            else
            {
                _getStream = sw;
            }
            _baseResultpath  = resultpath;
            _calcObjectName  = calcObjectName;
            _inputDataLogger = inputDataLogger;
            ResultFileList.CalcObjectName = calcObjectName;

            var invalidPathChars = Path.GetInvalidPathChars();

            foreach (var invalidPathChar in invalidPathChars)
            {
                if (_baseResultpath.IndexOf(invalidPathChar) > -1)
                {
                    _baseResultpath = _baseResultpath.Replace(invalidPathChar, '_');
                }
            }

            foreach (TargetDirectory dir in Enum.GetValues(typeof(TargetDirectory)))
            {
                if (dir != TargetDirectory.Undefined)
                {
                    if (!Directory.Exists(GetFullPathForTargetdirectry(dir)))
                    {
                        Directory.CreateDirectory(GetFullPathForTargetdirectry(dir));
                    }
                }
            }
            //ResultFileList.ResultFiles = new Dictionary<string, ResultFileEntry>();
            foreach (var rfid in Enum.GetValues(typeof(ResultFileID)))
            {
                var id = (int)rfid;
                if (_allValidIds.Contains(id))
                {
                    throw new LPGException("RFID " + rfid + " duplicate id.");
                }
                _allValidIds.Add(id);
            }
            //ResultFileList.OriginalPath = resultpath;
            //ResultFileList.HouseholdNameByHouseholdKey.Add(Constants.GeneralHouseholdKey.Key,"General Result Files");
            //ResultFileList.HouseholdNameByHouseholdKey.Add(Constants.TotalsKey.Key, "Totals Files");
        }
        public AffordanceStatisticsWriter([JetBrains.Annotations.NotNull] CalcDataRepository repository,
                                          [JetBrains.Annotations.NotNull] ICalculationProfiler profiler, [JetBrains.Annotations.NotNull] IInputDataLogger logger)
            : base(repository, AutomationUtili.GetOptionList(CalcOption.AffordanceEnergyUse), profiler, "Affordance Energy Use")
        {
            _logger = logger;

            /*   EnergyUseByHouseholdAffordanceAndLoadtype =
             *     new Dictionary<HouseholdKey, Dictionary<CalcLoadTypeDto, Dictionary<string, double>>>();
             * _energyUseListByHouseholdAffordanceAndLoadtype =
             *     new Dictionary<HouseholdKey, Dictionary<CalcLoadTypeDto, Dictionary<string, List<double>>>>();
             * _energyUseListByHouseholdAffordancePersonAndLoadtype =
             *     new Dictionary<HouseholdKey,
             *         Dictionary<CalcLoadTypeDto, Dictionary<string, Dictionary<string, double>>>>();
             */
        }
Пример #10
0
        public static CalcRepo Make([NotNull] CalcParameters calcParameters, [NotNull] IInputDataLogger idl,
                                    [NotNull] string resultPath, [NotNull] string calcObjectName,
                                    CalculationProfiler calculationProfiler)
        {
            DateStampCreator      dsc = new DateStampCreator(calcParameters);
            OnlineLoggingData     old = new OnlineLoggingData(dsc, idl, calcParameters);
            FileFactoryAndTracker fft = new FileFactoryAndTracker(resultPath, calcObjectName, idl);
            LogFile lf = new LogFile(calcParameters, fft);
            OnlineDeviceActivationProcessor odap = new OnlineDeviceActivationProcessor(old, calcParameters, fft);
            Random                  rnd          = new Random(calcParameters.ActualRandomSeed);
            NormalRandom            nr           = new NormalRandom(0, 0.1, rnd);
            SqlResultLoggingService srls         = new SqlResultLoggingService(resultPath);
            CalcRepo                cr           = new CalcRepo(odap, rnd, calcParameters, old, nr, lf, srls,
                                                                idl, calculationProfiler, fft, dsc);

            return(cr);
        }
 public TransportationStatisticsWriter([JetBrains.Annotations.NotNull] CalcDataRepository repository,
                                       [JetBrains.Annotations.NotNull] ICalculationProfiler profiler, [JetBrains.Annotations.NotNull] IInputDataLogger logger)
     : base(repository,
            AutomationUtili.GetOptionList(CalcOption.TransportationStatistics),
            profiler, "Transportation Statistics Use", 0) =>
        public void RegisterHousehold([NotNull] HouseholdKey key, [NotNull] string name, HouseholdKeyType type, [NotNull] IInputDataLogger idl, [NotNull] string description,
                                      [CanBeNull] string houseName, [CanBeNull] string houseDescription)
        {
            if (_householdKeys.Contains(key))
            {
                return;
                //throw new LPGException("Key was already registered: " + key.Key);
            }

            HouseholdKeyEntry hhke = new HouseholdKeyEntry(key, name, type, description, houseName, houseDescription);

            _householdKeys.Add(key);
            //_householdEntries.Add(hhke);
            idl.Save(hhke);
        }