コード例 #1
0
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            _logger.LogInformation("Starting daemon: " + _config.Value.DaemonName);

            using (var scope = _services.CreateScope())
            {
                _enviromentVariableService = scope.ServiceProvider.GetRequiredService <IEnviromentVariableService>();
                _measurementService        = scope.ServiceProvider.GetRequiredService <IMeasurementService>();
                _enviromentVariableService.CreateIfNotExists("COMPUTER_ID", Guid.NewGuid().ToString());
                _measurementRepository = scope.ServiceProvider.GetRequiredService <IMeasurementRepository>();
                while (true)
                {
                    _logger.LogInformation($"{DateTime.Now}: Timed Background Service is running:");
                    try
                    {
                        await DoWorkAsync();
                    }
                    catch (Exception ex)
                    {
                        _logger.LogCritical(ex.Message);
                    }
                    await Task.Delay(_config.Value.TickInterval);
                }
            }
        }
コード例 #2
0
 public PmsSummaryController(IPmsSummaryService pmsSummaryService, IDropdownService dropdownService, IMeasurementService measurementService, IArtifactService artifactService)
 {
     _pmsSummaryService = pmsSummaryService;
     _dropdownService = dropdownService;
     _measurementService = measurementService;
     _artifactService = artifactService;
 }
コード例 #3
0
 public PmsSummaryController(IPmsSummaryService pmsSummaryService, IDropdownService dropdownService, IMeasurementService measurementService, IArtifactService artifactService)
 {
     _pmsSummaryService  = pmsSummaryService;
     _dropdownService    = dropdownService;
     _measurementService = measurementService;
     _artifactService    = artifactService;
 }
コード例 #4
0
 public NoteRenderStrategy(IMeasurementService measurementService, IAlterationService alterationService, IScoreService scoreService, IBeamingService beamingService)
 {
     this.measurementService = measurementService;
     this.alterationService  = alterationService;
     this.scoreService       = scoreService;
     this.beamingService     = beamingService;
 }
コード例 #5
0
ファイル: OutputConfigController.cs プロジェクト: fazar/Pear
 public OutputConfigController(IMeasurementService measurementService, IOutputCategoryService outputCategoryService,
     IOutputConfigService outputConfigService, IScenarioService scenarioService)
 {
     _measurementService = measurementService;
     _outputCategoryService = outputCategoryService;
     _outputConfigService = outputConfigService;
     _scenarioService = scenarioService;
 }
コード例 #6
0
 public DerLayoutController(IDropdownService dropdownService, IDerService derService, IMeasurementService measurementService, IHighlightService highlightService, ISelectService selectService, IUserService userService)
 {
     _dropdownService    = dropdownService;
     _derService         = derService;
     _measurementService = measurementService;
     _selectService      = selectService;
     _userService        = userService;
 }
コード例 #7
0
ファイル: DerLayoutController.cs プロジェクト: cobianwae/Pear
 public DerLayoutController(IDropdownService dropdownService, IDerService derService, IMeasurementService measurementService, IHighlightService highlightService, ISelectService selectService)
 {
     _dropdownService = dropdownService;
     _derService = derService;
     _measurementService = measurementService;
     _highlightService = highlightService;
     _selectService = selectService;
 }
コード例 #8
0
        private static double GetAverageStemLength(IEnumerable <Note> notes, IMeasurementService measurementService)
        {
            var    elementsUnderTupletForAverageStemLength = notes.Where(n => MusicalSymbol.DirectionToPlacement(n.StemDirection) == measurementService.TupletState.TupletPlacement).ToList();
            double averageStemLength = elementsUnderTupletForAverageStemLength.Count == 0 ? 0 : elementsUnderTupletForAverageStemLength.Average(n => n.ActualStemLength);

            averageStemLength += 10;    //Add space
            return(averageStemLength);
        }
コード例 #9
0
 public OutputConfigController(IMeasurementService measurementService, IOutputCategoryService outputCategoryService,
                               IOutputConfigService outputConfigService, IScenarioService scenarioService)
 {
     _measurementService    = measurementService;
     _outputCategoryService = outputCategoryService;
     _outputConfigService   = outputConfigService;
     _scenarioService       = scenarioService;
 }
コード例 #10
0
ファイル: ArtifactController.cs プロジェクト: irhamkarim/Pear
 public ArtifactController(IMeasurementService measurementService,
     IKpiService kpiService,
     IArtifactService artifactServcie)
 {
     _measurementService = measurementService;
     _kpiService = kpiService;
     _artifactServie = artifactServcie;
 }
コード例 #11
0
 public DevicesViewModel(IDeviceService deviceService, IMeasurementService measurementService, IKellerFileService fileService, IViewNavigationService navigationService)
 {
     _deviceService      = deviceService;
     _measurementService = measurementService;
     _fileService        = fileService;
     _navigationService  = navigationService;
     LocalMeasurements   = new ObservableCollection <MeasurementFileFormatHeader>();
     LoadLocal();
 }
コード例 #12
0
 public ProductController(IDateTimeHelper dateTimeHelper, IProductService productService,
                          ILocalizationService localizationService, ICategoryService categoryService,
                          IMeasurementService measurementService)
 {
     _dateTimeHelper      = dateTimeHelper;
     _productService      = productService;
     _localizationService = localizationService;
     _categoryService     = categoryService;
     _measurementService  = measurementService;
 }
コード例 #13
0
 public VisualizeViewModel(IKellerFileService fileService,
                           IMeasurementService measurementService,
                           IViewNavigationService navigationService,
                           IExportService exportService)
 {
     _fileService        = fileService;
     _measurementService = measurementService;
     _navigationService  = navigationService;
     _exportService      = exportService;
     SelectedRecord.Instance.SelectedRecordChanged += HandleChangedRecord;
 }
コード例 #14
0
        public WateringRulesEngine(
            IMeasurementService measurementService, 
            IWateringService wateringService, 
            IInternetOfThingsService internetOfThingsService)
        {
            _measurementService = measurementService;
            _wateringService = wateringService;
            _internetOfThingsService = internetOfThingsService;

            _timer = new Timer(new TimeSpan(0, 0, 0, 20));
            _timer.Tick += timer_Tick;
        }
コード例 #15
0
        public static void TupletMark(IMeasurementService measurementService, IScoreService scoreService, ScoreRendererBase renderer, NoteOrRest element, int beamLoop)
        {
            if (measurementService.TupletState == null)
            {
                throw new Exception("DrawTupletMark was called but no tuplet is currently open in staff.");
            }
            Staff staff = scoreService.CurrentStaff;

            NoteOrRest           firstElementInTuplet = staff.Peek <NoteOrRest>(element, PeekType.BeginningOfTuplet);
            int                  index = staff.Elements.IndexOf(firstElementInTuplet);
            List <MusicalSymbol> elementsUnderTuplet = staff.Elements.GetRange(index, staff.Elements.IndexOf(element) - index);
            var                  elementsUnderTupletForAverageStemLength = elementsUnderTuplet.OfType <Note>().Where(n => MusicalSymbol.DirectionToPlacement(n.StemDirection) == measurementService.TupletState.TupletPlacement).ToList();
            double               averageStemLength = elementsUnderTupletForAverageStemLength.Count == 0 ? 0 : elementsUnderTupletForAverageStemLength.Average(n => n.ActualStemLength);

            averageStemLength += 10;                //Add space
            int    placementMod = measurementService.TupletState.TupletPlacement == VerticalPlacement.Above ? -1 : 1;
            double tupletBracketStartXPosition = firstElementInTuplet.TextBlockLocation.X + 6;
            double tupletBracketStartYPosition = firstElementInTuplet.TextBlockLocation.Y + 25 + averageStemLength * placementMod;
            double tupletBracketEndXPosition   = element.TextBlockLocation.X + 12;
            double tupletBracketEndYPosition   = element.TextBlockLocation.Y + 25 + averageStemLength * placementMod;

            if (measurementService.TupletState.AreSingleBeamsPresentUnderTuplet)                //Draw tuplet bracket
            {
                renderer.DrawLine(new Point(tupletBracketStartXPosition, tupletBracketStartYPosition),
                                  new Point(tupletBracketEndXPosition, tupletBracketEndYPosition), element);
                renderer.DrawLine(new Point(tupletBracketStartXPosition, tupletBracketStartYPosition),
                                  new Point(tupletBracketStartXPosition, firstElementInTuplet.TextBlockLocation.Y + 25 + (averageStemLength - 4) * placementMod), element);
                renderer.DrawLine(new Point(tupletBracketEndXPosition, tupletBracketEndYPosition),
                                  new Point(tupletBracketEndXPosition, element.TextBlockLocation.Y + 25 + (averageStemLength - 4) * placementMod), element);
            }

            double numberOfNotesYTranslation = 0;

            if (measurementService.TupletState.TupletPlacement == VerticalPlacement.Above)
            {
                numberOfNotesYTranslation -= 18;                                                                                        //If text should appear above the tuplet, move a bit to up
            }
            //If bracket is not drawn, move up or down to fill space
            if (!measurementService.TupletState.AreSingleBeamsPresentUnderTuplet)
            {
                numberOfNotesYTranslation += 10 * (measurementService.TupletState.TupletPlacement == VerticalPlacement.Above ? 1 : -1);
            }

            var allElementsUnderTuplet = elementsUnderTuplet.OfType <NoteOrRest>().ToList();

            allElementsUnderTuplet.Add(element);
            var tupletNumber = CalculateTupletNumber(allElementsUnderTuplet);

            renderer.DrawString(Convert.ToString(tupletNumber), MusicFontStyles.LyricsFont,
                                new Point(tupletBracketStartXPosition + (tupletBracketEndXPosition - tupletBracketStartXPosition) / 2 - 6,
                                          tupletBracketStartYPosition + (tupletBracketEndYPosition - tupletBracketStartYPosition) / 2 + numberOfNotesYTranslation), element);
        }
コード例 #16
0
        /// <summary>
        /// Draws tuplet mark
        /// </summary>
        /// <param name="measurementService"></param>
        /// <param name="scoreService"></param>
        /// <param name="renderer"></param>
        /// <param name="element"></param>
        public static void TupletMark(IMeasurementService measurementService, IScoreService scoreService, ScoreRendererBase renderer, NoteOrRest element)
        {
            if (measurementService.TupletState == null)
            {
                throw new Exception("DrawTupletMark was called but no tuplet is currently open in staff.");
            }

            var   tupletBracketPen = renderer.CreatePenFromDefaults(element, "tupletBracketThickness", s => s.DefaultTupletBracketThickness);
            Staff staff            = scoreService.CurrentStaff;

            NoteOrRest           firstElementInTuplet = staff.Peek <NoteOrRest>(element, PeekType.BeginningOfTuplet);
            int                  index = staff.Elements.IndexOf(firstElementInTuplet);
            List <MusicalSymbol> elementsUnderTuplet = staff.Elements.GetRange(index, staff.Elements.IndexOf(element) - index + 1);

            var noteGroupBounds = elementsUnderTuplet.OfType <Note>().GetBounds(renderer);

            if (IsDebugMode)
            {
                DrawNoteGroupOutline(renderer, noteGroupBounds, element);
            }

            var boundsOnOneSide = measurementService.TupletState.TupletPlacement == VerticalPlacement.Above ?
                                  new Tuple <Point, Point>(noteGroupBounds.NW, noteGroupBounds.NE) :
                                  new Tuple <Point, Point>(noteGroupBounds.SW, noteGroupBounds.SE);

            int placementMod      = measurementService.TupletState.TupletPlacement == VerticalPlacement.Above ? -1 : 1;
            var bracketDefinition = new TupletBracketDefinition(
                boundsOnOneSide.Item1.X,
                boundsOnOneSide.Item1.Y + renderer.LinespacesToPixels(2) * placementMod,
                boundsOnOneSide.Item2.X,
                boundsOnOneSide.Item2.Y + renderer.LinespacesToPixels(2) * placementMod);

            if (measurementService.TupletState.AreSingleBeamsPresentUnderTuplet)    //Draw tuplet bracket
            {
                renderer.DrawLine(bracketDefinition.StartPoint, bracketDefinition.Point25, tupletBracketPen, element);
                renderer.DrawLine(bracketDefinition.Point75, bracketDefinition.EndPoint, tupletBracketPen, element);
                renderer.DrawLine(bracketDefinition.StartPoint, bracketDefinition.StartPoint.Translate(0, renderer.LinespacesToPixels(-1) * placementMod), tupletBracketPen, element);
                renderer.DrawLine(bracketDefinition.EndPoint, bracketDefinition.EndPoint.Translate(0, renderer.LinespacesToPixels(-1) * placementMod), tupletBracketPen, element);
            }

            var tupletNumber = CalculateTupletNumber(elementsUnderTuplet.OfType <NoteOrRest>());

            var textToWrite  = renderer.Settings.MusicFontProfile.MusicFont.BuildTupletNumber(tupletNumber);
            var fontStyle    = renderer.IsSMuFLFont ? MusicFontStyles.MusicFont : MusicFontStyles.LyricsFont;
            var textSize     = renderer.CanMeasureString ? renderer.MeasureString(fontStyle, textToWrite) : new Size();
            var textPosition = renderer.CanMeasureString ?
                               bracketDefinition.MidPoint.Translate(textSize.Width / -2, textSize.Height / 2) :
                               bracketDefinition.MidPoint.Translate(-3.7, 4.7);

            renderer.DrawString(textToWrite, fontStyle, textPosition, element);
        }
コード例 #17
0
 public DerLoadingScheduleController(IVesselScheduleService vesselScheduleService, 
     IVesselService vesselService, 
     IBuyerService buyerService, 
     ISelectService selectService, 
     IMeasurementService measurementService,
     INLSService nlsService,
     IHighlightOrderService highlightOrderService,
     IDerLoadingScheduleService derLoadingScheduleService)
 {
     _vesselScheduleService = vesselScheduleService;
     _vesselService = vesselService;
     _buyerService = buyerService;
     _selectService = selectService;
     _measurementService = measurementService;
     _nlsService = nlsService;
     _highlightOrderService = highlightOrderService;
     _derLoadingScheduleService = derLoadingScheduleService;
 }
コード例 #18
0
ファイル: Program.cs プロジェクト: Tinamous/GardenSprinkler
        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            Debug.Print("Program Started");

            //var tinamousService = new TinamousService();
            _tinamousService = new TinamousMqttService();
            //_tinamousService = new NullIoTService();
            _tinamousService.WaterRequested += tinamousService_WaterRequested;

            SetupEthernet();

            _measurementService = new MeasurementService(moisture, lightSense, _tinamousService);

            _wateringService = new WateringService(relayX1, _tinamousService);

            _wateringRulesEngine = new WateringRulesEngine(_measurementService, _wateringService, _tinamousService);
            _wateringRulesEngine.Start();
        }
コード例 #19
0
 public DerLoadingScheduleController(IVesselScheduleService vesselScheduleService,
                                     IVesselService vesselService,
                                     IBuyerService buyerService,
                                     ISelectService selectService,
                                     IMeasurementService measurementService,
                                     INLSService nlsService,
                                     IHighlightOrderService highlightOrderService,
                                     IDerLoadingScheduleService derLoadingScheduleService)
 {
     _vesselScheduleService     = vesselScheduleService;
     _vesselService             = vesselService;
     _buyerService              = buyerService;
     _selectService             = selectService;
     _measurementService        = measurementService;
     _nlsService                = nlsService;
     _highlightOrderService     = highlightOrderService;
     _derLoadingScheduleService = derLoadingScheduleService;
 }
コード例 #20
0
        /// <summary>
        /// Draws note flag
        /// </summary>
        /// <param name="beamingService"></param>
        /// <param name="measurementService"></param>
        /// <param name="scoreService"></param>
        /// <param name="renderer"></param>
        /// <param name="element"></param>
        /// <param name="beamSpaceDirection"></param>
        /// <param name="beamNumber"></param>
        /// <param name="beamOffset"></param>
        public static void Flag(IBeamingService beamingService, IMeasurementService measurementService, IScoreService scoreService, ScoreRendererBase renderer, Note element, int beamSpaceDirection, int beamNumber, int beamOffset)
        {
            //Rysuj chorągiewkę tylko najniższego dźwięku w akordzie
            //Draw a hook only of the lowest element in a chord
            double xPos = beamingService.CurrentStemPositionX;

            if (element.StemDirection == VerticalDirection.Down)
            {
                if (element.IsGraceNote || element.IsCueNote)
                {
                    renderer.DrawCharacter(element.GetNoteFlagCharacter(renderer.Settings.MusicFontProfile.MusicFont, true), MusicFontStyles.GraceNoteFont, new Point(xPos, beamingService.CurrentStemEndPositionY), element);
                }
                else
                {
                    renderer.DrawCharacter(element.GetNoteFlagCharacter(renderer.Settings.MusicFontProfile.MusicFont, true), MusicFontStyles.MusicFont, new Point(xPos, beamingService.CurrentStemEndPositionY), element);
                }
            }
            else
            {
                if (element.IsGraceNote || element.IsCueNote)
                {
                    renderer.DrawCharacter(element.GetNoteFlagCharacter(renderer.Settings.MusicFontProfile.MusicFont, false), MusicFontStyles.GraceNoteFont, new Point(xPos, beamingService.CurrentStemEndPositionY), element);
                }
                else
                {
                    renderer.DrawCharacter(element.GetNoteFlagCharacter(renderer.Settings.MusicFontProfile.MusicFont, false), MusicFontStyles.MusicFont, new Point(xPos, beamingService.CurrentStemEndPositionY), element);
                }
            }
            if (measurementService.TupletState != null)
            {
                measurementService.TupletState.AreSingleBeamsPresentUnderTuplet = true;
                if (element.Tuplet == TupletType.Stop)
                {
                    TupletMark(measurementService, scoreService, renderer, element);
                    measurementService.TupletState = null;
                }
            }
        }
コード例 #21
0
        public MeasurementController(IAuthenticationProvider authenticationProvider,
                                     IMeasurementService measurementService,
                                     IViewModelFactory factory)
        {
            if (authenticationProvider == null)
            {
                throw new ArgumentNullException(nameof(authenticationProvider));
            }

            if (measurementService == null)
            {
                throw new ArgumentNullException(nameof(measurementService));
            }

            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            this.authenticationProvider = authenticationProvider;
            this.measurementService     = measurementService;
            this.factory = factory;
        }
コード例 #22
0
 /// <summary>
 /// Get the appropriate parser by evaluating the text of the archetype
 /// </summary>
 /// <param name="archetype">Text format of the archetype. This can be adl or xml.</param>
 /// <param name="measurementService"></param>
 /// <returns>An implementation of the archetype parser.</returns>
 public IArchetypeParser GetArchetypeParser(string archetype, IMeasurementService measurementService)
 {
     //TODO: throw notimplementedexception for adl parser.
     return(new ArchetypeXmlParser());
 }
コード例 #23
0
ファイル: VesselController.cs プロジェクト: fazar/Pear
 public VesselController(IVesselService vesselService, IMeasurementService measurementService)
 {
     _vesselService = vesselService;
     _measurementService = measurementService;
 }
コード例 #24
0
 public MeasurementController(IMeasurementService measurementService)
 {
     _measurementService = measurementService;
 }
コード例 #25
0
 /// <summary>
 /// Constructor to initialize variables
 /// </summary>
 /// <param name="measurementService">measurementService</param>
 public DevicesController(IMeasurementService measurementService)
 {
     this.measurementService = measurementService;
 }
コード例 #26
0
 public MeasurementController(IMeasurementService MeasurementSvc, IDataModel data)
 {
     _MeasurementSvc = MeasurementSvc;
     _data           = data;
 }
コード例 #27
0
ファイル: ParserFactory.cs プロジェクト: nickvane/vela
 /// <summary>
 /// Get the appropriate parser by evaluating the text of the archetype
 /// </summary>
 /// <param name="archetype">Text format of the archetype. This can be adl or xml.</param>
 /// <param name="measurementService"></param>
 /// <returns>An implementation of the archetype parser.</returns>
 public IArchetypeParser GetArchetypeParser(string archetype, IMeasurementService measurementService)
 {
     //TODO: throw notimplementedexception for adl parser.
     return new ArchetypeXmlParser();
 }
コード例 #28
0
 public ConversionController(IConversionService conversionService, IMeasurementService measurementService)
 {
     _conversionService  = conversionService;
     _measurementService = measurementService;
 }
コード例 #29
0
 public HomeController(IMeasurementService service)
 {
     _service = service;
 }
コード例 #30
0
ファイル: MeasurementController.cs プロジェクト: fazar/Pear
 public MeasurementController(IMeasurementService measurementService)
 {
     _measurementService = measurementService;
 }
コード例 #31
0
 public MainViewModel(IMeasurementService measurementService = null)
 {
     _measurementService = measurementService ?? new MeasurementService();
 }
コード例 #32
0
 /// <summary>
 /// Initializes a new instance of SlurRenderStrategy with specific services.
 /// </summary>
 /// <param name="measurementService">Measurement service</param>
 /// <param name="scoreService">Score service</param>
 protected SlurRenderStrategy(IMeasurementService measurementService, IScoreService scoreService)
 {
     this.measurementService = measurementService;
     this.scoreService       = scoreService;
 }
コード例 #33
0
 /// <summary>
 /// Get the appropriate parser by evaluating the text of the operational template
 /// </summary>
 /// <param name="template">Text format of the operational template. This can be adl or xml.</param>
 /// <param name="measurementService"></param>
 /// <returns>An implementation of the operational template parser.</returns>
 public IOperationalTemplateParser GetOperationalTemplateParser(string template, IMeasurementService measurementService)
 {
     return(new OperationalTemplateXmlParser());
 }
コード例 #34
0
 /// <summary>
 /// Initializes a new instance of RestRenderStrategy
 /// </summary>
 /// <param name="measurementService"></param>
 /// <param name="scoreService"></param>
 public RestRenderStrategy(IMeasurementService measurementService, IScoreService scoreService) : base(scoreService)
 {
     this.measurementService = measurementService;
 }
コード例 #35
0
 public BaseViewModel()
 {
     _service = TinyIoCContainer.Current.Resolve <IMeasurementService>();
 }
コード例 #36
0
 public CustomerController(IMapper mapper, ICustomerService customerSevice, IMeasurementService measurementService)
 {
     _mapper             = mapper;
     _customerService    = customerSevice;
     _measurementService = measurementService;
 }
コード例 #37
0
 public BarlineRenderStrategy(IMeasurementService measurementService, IAlterationService alterationService, IScoreService scoreService)
 {
     this.measurementService = measurementService;
     this.alterationService  = alterationService;
     this.scoreService       = scoreService;
 }
コード例 #38
0
 public UserController(IUserService userService, IMeasurementService measurementService)
 {
     _userService        = userService;
     _measurementService = measurementService;
 }
コード例 #39
0
ファイル: ParserFactory.cs プロジェクト: nickvane/vela
 /// <summary>
 /// Get the appropriate parser by evaluating the text of the operational template
 /// </summary>
 /// <param name="template">Text format of the operational template. This can be adl or xml.</param>
 /// <param name="measurementService"></param>
 /// <returns>An implementation of the operational template parser.</returns>
 public IOperationalTemplateParser GetOperationalTemplateParser(string template, IMeasurementService measurementService)
 {
     return new OperationalTemplateXmlParser();
 }
コード例 #40
0
 public MeasurementController(IMeasurementService MS)
 {
     measurementService = MS;
 }
コード例 #41
0
ファイル: ConversionController.cs プロジェクト: fazar/Pear
 public ConversionController(IConversionService conversionService, IMeasurementService measurementService)
 {
     _conversionService = conversionService;
     _measurementService = measurementService;
 }
コード例 #42
0
 public MeasurementController(IMeasurementService measurement)
 {
     this.measurement = measurement;
 }