示例#1
0
        public async Task <IActionResult> Get([FromRoute] string panelId)
        {
            var panel = _panelRepository.GetPanelsByPanelId(panelId);

            //.FirstOrDefaultAsync(x => x.Serial.Equals(panelId, StringComparison.CurrentCultureIgnoreCase));


            if (panel == null)
            {
                return(Ok());
            }

            var analytics = await _analyticsRepository.Query()
                            .Where(x => x.PanelId.Equals(panelId, StringComparison.CurrentCultureIgnoreCase)).ToListAsync();

            var result = new OneHourElectricityListModel
            {
                OneHourElectricitys = analytics.Select(c => new OneHourElectricityModel
                {
                    Id       = c.Id,
                    KiloWatt = c.KiloWatt,
                    DateTime = c.DateTime
                })
            };

            return(Ok(result));
        }
        public async Task GetPanelsByPanelId_ShouldGetPanelist()
        {
            // Arrange
            var id = 1;
            await _analyticsRepository.GetAsync(id);

            var temp = new OneHourElectricity()
            {
                KiloWatt = 1,
                PanelId  = "AAAA1111BBBB2222",
                DateTime = DateTime.Now
            };
            await _analyticsRepository.InsertAsync(temp);

            // Act
            _analyticsRepository.GetOneDayMetrics(temp.PanelId);
            var panel = new Panel
            {
                Brand     = "Areva",
                Latitude  = 12.345678,
                Longitude = 98.7655432,
                Serial    = "AAAA1111BBBB2222"
            };
            await _panelRepository.InsertAsync(panel);

            // Act
            var result = _panelRepository.GetPanelsByPanelId(panel.Serial);

            // Assert
            Assert.NotNull(result);
        }