public GetBySiteResponse GetRangeBySiteId([FromBody] GetRangeBySiteIdRequest request) { if (request == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } DateTime begin = request.Begin ?? DateTime.MinValue; DateTime end = request.End ?? DateTime.MaxValue; int siteId = request.SiteId; string sensorType = request.SensorType; int interval = request.Interval ?? 0; Site site = SitesRepository.GetById(siteId); if (site == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var result = GraphDataService.GetRangeBySiteId(begin, end, interval, sensorType, siteId).ToList(); foreach (var graph in result) { graph.Data = graph.Data.ToList(); } var dateTimes = from graph in result from data in graph.Data select data.Timestamp; IEnumerable <WeatherResult> weatherResult = null; if (dateTimes.Count() != 0) { DateTime weatherBegin = dateTimes.Min(); DateTime weatherEnd = dateTimes.Max(); var data = from w in WeathersRepository.GetRange(weatherBegin, weatherEnd) orderby w.Timestamp ascending select w; weatherResult = WeathersRepository.FilterColumn(data.GroupBy(interval).ToList(), "Precipitation"); } return(new GetBySiteResponse { Site = new SiteValue { Id = site.Id, Latitude = site.Latitude, Longitude = site.Longitude, Name = site.Name, Number = site.Number }, Result = result, Weather = weatherResult }); }
public async Task GraphDataServicePassesTest() { var filterMock = new QueryFilter() { FromDate = DateTime.Now.AddDays(-1), ToDate = DateTime.Now, PageNumber = 1, PageSize = 25 }; var service = new GraphDataService( _query.Object, _predictionsService.Object, _logger.Object ); _query.Setup(q => q.GetGraphData( It.IsAny <QueryFilter>() )).ReturnsAsync(( new List <PositionsCountDto>() { new PositionsCountDto() { PositionsCount = new Random().Next(1, 100), RequestDate = $"{filterMock.FromDate:dd-MM-yyyy}" }, new PositionsCountDto() { PositionsCount = new Random().Next(1, 100), RequestDate = $"{filterMock.ToDate:dd-MM-yyyy}" }, }, new List <ViewsCountDto>() { new ViewsCountDto() { RequestDate = $"{filterMock.FromDate:dd-MM-yyyy}", ViewsCount = new Random().Next(1, 100) }, new ViewsCountDto() { RequestDate = $"{filterMock.ToDate:dd-MM-yyyy}", ViewsCount = new Random().Next(1, 100) } }) ); _predictionsService.Setup(p => p.GetPrediction(It.IsAny <int>(), It.IsAny <DateTime>())).Returns(It.IsAny <int>()); await service.GetGraohData(filterMock, $"{Guid.NewGuid()}"); _query.Verify(q => q.GetGraphData(It.IsAny <QueryFilter>()), Times.Once); _predictionsService.Verify(prop => prop.GetPrediction(It.IsAny <int>(), It.IsAny <DateTime>()), Times.AtLeastOnce); await Task.CompletedTask; }
void Key_ChangedCommited(object sender, EventArgs e) { var data = (DataVertex)sender; GraphDataService.UpdateVertex(data, (r, v, ex) => { if (ex != null) { ShowAlertMessage(ex.ToString()); } }); //throw new NotImplementedException(); }
public GetByDepthResponse GetRangeByDepth([FromBody] GetRangeByDepthRequest request) { if (request == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } DateTime begin = request.Begin ?? DateTime.MinValue; DateTime end = request.End ?? DateTime.MaxValue; float depth = request.Depth; string sensorType = request.SensorType; int interval = request.Interval ?? 0; var result = GraphDataService.GetRangeByDepth(begin, end, interval, sensorType, depth).ToList(); foreach (var graph in result) { graph.Data = graph.Data.ToList(); } var dateTimes = from graph in result from data in graph.Data select data.Timestamp; IEnumerable <WeatherResult> weatherResult = null; if (dateTimes.Count() != 0) { DateTime weatherBegin = dateTimes.Min(); DateTime weatherEnd = dateTimes.Max(); var data = from w in WeathersRepository.GetRange(weatherBegin, weatherEnd) orderby w.Timestamp ascending select w; weatherResult = WeathersRepository.FilterColumn(data.GroupBy(interval).ToList(), "Precipitation"); } return(new GetByDepthResponse { Depth = depth, Result = result, Weather = weatherResult }); }
private void ConfigureServices(IServiceCollection serviceCollection) { if (IsInDesignMode) { serviceCollection.AddSingleton <IAuthService, FakeAuthService>(); serviceCollection.AddSingleton <IGraphDataService, FakeGraphDataService>(); } else { var authService = new AuthService(SecretConfig.ClientId); serviceCollection.AddSingleton <IAuthService>(authService); var graphDataService = new GraphDataService(authService.GetServiceClient()); serviceCollection.AddSingleton <IGraphDataService>(graphDataService); } serviceCollection.AddSingleton <MainViewModel>(); }
private static IServiceProvider GetServices() { IServiceCollection serviceCollection = new ServiceCollection(); if (IsInDesignMode) { serviceCollection.AddSingleton <IAuthService, FakeAuthService>(); serviceCollection.AddSingleton <IGraphDataService, FakeGraphDataService>(); } else { var authService = new AuthService(SecretConfig.ClientId); serviceCollection.AddSingleton <IAuthService>(authService); var graphDataService = new GraphDataService(authService.GetServiceClient()); serviceCollection.AddSingleton <IGraphDataService>(graphDataService); } serviceCollection.AddSingleton <MainViewModel>(); return(serviceCollection.BuildServiceProvider()); }
private void tbnSaveChanges_Click(object sender, RoutedEventArgs e) { try { GraphDataService.UpdateEdges(Area.Graph.Edges, (result, error) => { if (!result && error != null) { ShowAlertMessage(error.Message); } }); GraphDataService.UpdateVertexes(Area.Graph.Vertices, (result, error) => { if (!result && error != null) { ShowAlertMessage(error.Message); } }); _selectedVertices.Clear(); //clear dirty flag _viewmodel.Commit(); tbtnCanEdit.IsChecked = false; UpdateIsInEditMode(Area.VertexList, tbtnCanEdit.IsChecked.Value); UpdateHighlightBehaviour(true); //GetEdges(); } catch (Exception ex) { ShowAlertMessage(ex.Message);; } }
void OnEdgeLoaded(IEnumerable <DataEdge> edges) { Edges = edges; GraphDataService.GetVertexes(OnVertexesLoaded, OnError); }
void GetEdges() { GraphDataService.GetEdges(OnEdgeLoaded, OnError); }