Esempio n. 1
0
        public async Task <Dictionary <string, CompanyModel> > GetCompanies([FromBody] UserFilter filter)
        {
            return(await cache.GetValueOrCreateAsync(GetCacheKey("companies", filter), CacheSeconds, async() =>
            {
                var ageFilter = GetAgeFilter(filter);
                var communityFilter = GetCommunityFilter(filter);
                UpdateLanguagesFilter(filter);

                var result = await surveyService.GetCompanyModels(
                    filter.Year,
                    ageFilter,
                    filter.cities,
                    filter.educations,
                    filter.experiences,
                    filter.professions,
                    filter.languages,
                    communityFilter);

                return result.ToDictionary(cm => cm.Name, cm => cm);
            }));
        }