Beispiel #1
0
        private async Task SaveSubVariableDataInDbAsync(IEnumerable <SubVariableData> subVariableData)
        {
            foreach (var subVariableDataItem in subVariableData)
            {
                var subVariableDataQuery = new SubVariableDataQuery();
                subVariableDataQuery.RegionId               = subVariableDataItem.RegionId;
                subVariableDataQuery.ScenarioId             = subVariableDataItem.ScenarioId;
                subVariableDataQuery.VariableId             = subVariableDataItem.VariableId;
                subVariableDataQuery.SubVariableId          = subVariableDataItem.SubVariableId;
                subVariableDataQuery.KeyParameterId         = subVariableDataItem.KeyParameterId;
                subVariableDataQuery.KeyParameterLevelId    = subVariableDataItem.KeyParameterLevelId;
                subVariableDataQuery.RegionAgrigationTypeId = subVariableDataItem.RegionAgrigationTypeId;
                subVariableDataQuery.Year = subVariableDataItem.Year;

                var existSubVariableData = await _subVariableDataRepository.GetSubVariableData(subVariableDataQuery);

                if (existSubVariableData.TotalItems > 0)
                {
                    var subVariableDataItemFromDb = existSubVariableData.Items.FirstOrDefault();
                    subVariableDataItemFromDb.Value = subVariableDataItem.Value;
                    _subVariableDataRepository.Update(subVariableDataItemFromDb);
                }
                else
                {
                    _subVariableDataRepository.Add(subVariableDataItem);
                }
            }
            await _unitOfWork.CompleteAsync();
        }
        public void Remove(SubVariableDataQuery queryObj)
        {
            queryObj.IsPaging = false;
            var query = context.SubVariableData
                        .AsQueryable();

            query = query.ApplyFiltering(queryObj);

            context.SubVariableData.RemoveRange(query);
        }
        public void RemovePopulation(SubVariableDataQuery queryObj)
        {
            queryObj.IsPaging = false;
            var query = context.SubVariableData
                        .AsQueryable();

            query = query.ApplyFiltering(queryObj);
            query = query.Where(sv => sv.Variable.Name == NxsVariablesConstants.Variables.Population);

            context.SubVariableData.RemoveRange(query);
        }
        public async Task <QueryResult <SubVariableData> > GetSubVariableData(SubVariableDataQuery queryObj, bool includeRelated = false)
        {
            var result = new QueryResult <SubVariableData>();

            var query = getSubVariableData(queryObj, includeRelated);

            result.TotalItems = await query.CountAsync();

            result.Items = await query.ToListAsync();

            return(result);
        }
        public override async Task RemoveDataAsync()
        {
            var queryObj = new SubVariableDataQuery
            {
                RegionId            = CurrentRegionId,
                ScenarioId          = XlsImportVariableDataService.CurrentScenarioId,
                KeyParameterId      = XlsImportVariableDataService.CurrentKeyParameterId,
                KeyParameterLevelId = XlsImportVariableDataService.CurrentKeyParameterLevelId
            };

            _subVariableDataRepository.RemoveGeneral(queryObj);
            await _unitOfWork.CompleteAsync();
        }
        public void RemoveGeneral(SubVariableDataQuery queryObj)
        {
            queryObj.IsPaging = false;
            var query = context.SubVariableData
                        .AsQueryable();

            query = query.ApplyFiltering(queryObj);
            query = query.Where(sv => sv.Region.Name != RegionConstants.WorldRegionName &&
                                sv.Variable.Name != NxsVariablesConstants.Variables.Gdp &&
                                sv.Variable.Name != NxsVariablesConstants.Variables.Population);

            context.SubVariableData.RemoveRange(query);
        }
        private IQueryable <SubVariableData> getSubVariableData(SubVariableDataQuery queryObj, bool includeRelated = false)
        {
            var query = context.SubVariableData
                        .AsQueryable();

            query = query.ApplyFiltering(queryObj);
            query = query.ApplyPaging(queryObj);
            if (includeRelated)
            {
                query = query.Include(sv => sv.SubVariable);
            }

            return(query);
        }
Beispiel #8
0
        public static IQueryable <SubVariableData> ApplyFiltering(this IQueryable <SubVariableData> query, SubVariableDataQuery queryObj)
        {
            if (queryObj.ParentRegionId.HasValue)
            {
                query = query.Where(v => v.ParentRegionId == queryObj.ParentRegionId.Value);
            }

            if (queryObj.RegionId.HasValue)
            {
                query = query.Where(v => v.RegionId == queryObj.RegionId.Value);
            }
            else
            {
                query = query.Where(v => v.RegionId == null);
            }

            if (queryObj.RegionAgrigationTypeId.HasValue)
            {
                query = query.Where(v => v.RegionAgrigationTypeId == queryObj.RegionAgrigationTypeId.Value);
            }

            if (queryObj.ScenarioId.HasValue)
            {
                query = query.Where(v => v.ScenarioId == queryObj.ScenarioId.Value);
            }

            if (queryObj.VariableId.HasValue)
            {
                query = query.Where(v => v.VariableId == queryObj.VariableId.Value);
            }

            if (queryObj.SubVariableId.HasValue)
            {
                query = query.Where(v => v.SubVariableId == queryObj.SubVariableId.Value);
            }

            if (queryObj.KeyParameterId.HasValue)
            {
                query = query.Where(v => v.KeyParameterId == queryObj.KeyParameterId.Value);
            }

            if (queryObj.KeyParameterLevelId.HasValue)
            {
                query = query.Where(v => v.KeyParameterLevelId == queryObj.KeyParameterLevelId.Value);
            }

            if (!string.IsNullOrEmpty(queryObj.Year))
            {
                query = query.Where(v => v.Year == queryObj.Year);
            }

            return(query);
        }
        public async Task <QueryResult <SubVariableData> > GetSubVariableDataWithoutGdp(SubVariableDataQuery queryObj, bool includeRelated = false)
        {
            var result = new QueryResult <SubVariableData>();

            var query = getSubVariableData(queryObj, includeRelated);

            query = query.Where(sv => sv.Variable.Name != NxsVariablesConstants.Variables.Gdp);

            result.TotalItems = await query.CountAsync();

            result.Items = await query.ToListAsync();

            return(result);
        }
Beispiel #10
0
        public IEnumerable <SubVariableDailyData> GetSubVariableData(SubVariableDataQuery queryObj = null, bool includeRelated = false)
        {
            var query = SubVariableDailyData;

            return(query);
        }