private ForecastDataResponse ProcessGetForecastData(ForecastRequestData requestData)
        {
            var response = new ForecastDataResponse();

            try {
                var periodIds       = requestData.Periods;
                var hierarchyRowsId = requestData.HierarchyRows;
                int rowOffset       = int.TryParse(requestData.Offset, out rowOffset) ? rowOffset : 0;
                int hierarchyLevel  = hierarchyRowsId.Count();
                var pageableConfig  = new PageableConfig()
                {
                    RowCount           = requestData.Count,
                    RowsOffset         = rowOffset,
                    LastValue          = requestData.LastRow,
                    HierarchyRowsId    = hierarchyRowsId,
                    HierarchyLevel     = hierarchyLevel,
                    PrimaryFilterValue = HttpUtility.UrlDecode(requestData.FilterValue)
                };
                var data    = ForecastProvider.GetData(requestData.ForecastId, periodIds, pageableConfig);
                var columns = ForecastDataMapper.GetMapTableColumns(data);
                response.DataSource = ForecastDataMapper.GetMapTreeTableDataItems(data, columns);
                if (UserConnection.GetIsFeatureEnabled("ForecastSummaryFormula"))
                {
                    SummaryColumnCalculator.ApplySummaryColumns(UserConnection, columns);
                    SummaryColumnCalculator.ApplySummaryData(UserConnection, requestData.ForecastId,
                                                             response.DataSource);
                }
                FilterHiddenColumns(columns);
                response.Columns = columns;
            } catch (Exception ex) {
                response.Exception = ex;
            }
            return(response);
        }
Пример #2
0
        public async Task TestSend(ForecastRequestData data)
        {
            var paramsData = Mapper.Map <WeatherParamsData>(data);
            var id         = Context.ConnectionId;

            throw new NotImplementedException();
//            await Clients.Caller.SendAsync("updateWeather", data);
        }
Пример #3
0
        public async Task <IActionResult> WeatherForecast([FromQuery] ForecastRequestData data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var models = await _forecastProvider.GetWeatherForecast(data);

            return(Ok(models));
        }
        public async Task <IEnumerable <DailyForecastViewModel> > GetWeatherForecast(ForecastRequestData data)
        {
            var paramsData = Mapper.Map <WeatherParamsData>(data);

            IEnumerable <DailyWeatherForecastDTO> result;

            if (data.ProviderType == WeatherForecastProviderType.All)
            {
                result = await _weatherService.GetAverageWeatherForecastForPeriodByAllProviders(paramsData);
            }
            else
            {
                result = await _weatherService.GetWeatherForecastsForPeriod(paramsData, (WeatherProviderType)data.ProviderType);
            }

            return(Mapper.Map <IEnumerable <DailyForecastViewModel> >(result));
        }
        public ForecastDataResponse GetForecastDataByPostMethod(ForecastRequestData requestData)
        {
            var response = ProcessGetForecastData(requestData);

            return(response);
        }