Ejemplo n.º 1
0
        public IHttpActionResult Get()
        {
            var cacheEntry = MemoryCacher.GetValue(CACHE_KEY);

            if (cacheEntry == null)
            {
                var organisations = Organisations.AllIncluding(u => u.RootUser)
                                    .OrderBy(u => u.Name)
                                    .ToList()
                                    .Select(u => Mapper.Map <OrganisationDTO>(u))
                                    .ToList();

                MemoryCacher.Add(CACHE_KEY, organisations, DateTimeOffset.UtcNow.AddMinutes(1));

                return(Ok(organisations));
            }
            else
            {
                var result = (List <OrganisationDTO>)cacheEntry;
                return(new CachedResult <List <OrganisationDTO> >(result, TimeSpan.FromMinutes(1), this));
            }
        }