Exemplo n.º 1
0
        public IList <Dog> Get()
        {
            IList <Dog> result = MemoryCache.Get <IList <Dog> >(cacheName);

            if (result == null)
            {
                Task <IList <Dog> > dbFetchTask = new Task <IList <Dog> >(() => DogService.Get());

                bool isRunning = false;
                lock (ThreadWatcher)
                {
                    isRunning = ThreadWatcher.IsRunning(cacheName);
                }
                if (!isRunning)
                {
                    ThreadStartedEvent?.Invoke(this, new ThreadStartedEvent(cacheName)); // Fire:a event.
                    dbFetchTask.Start();                                                 // Starta bara tråden, om det inte redan körs en sådan.
                }

                dbFetchTask.ContinueWith(x =>
                {
                    MemoryCache.Set(cacheName, x.Result, options: MemoryCacheEntryOptions);
                    ThreadFinishedEvent?.Invoke(this, new ThreadFinishedEvent(cacheName)); // Tala om att tråden är klar
                });
            }
            else
            {
                Console.WriteLine($"Used MemoryCache for {cacheName}.");
            }

            return(result);
        }
Exemplo n.º 2
0
        public ActionResult <List <DogList> > Get()
        {
            User user = _userService.Find(User.Identity.Name);

            return(_dogService.Get(user.DeptNo).Select(dog => new DogList
            {
                Id = dog.Id,
                Name = dog.Name,
                AgeYear = dog.AgeYear,
                AgeMonth = dog.AgeMonth,
                Sex = dog.Sex,
                Description = dog.Description,
                IsAlive = dog.IsAlive,
                CollarColor = dog.CollarColor,
                Caretaker = dog.Caretaker
            }).ToList());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> GetById(int id)
        {
            var result = await _dogService.Get(id);

            if (result == null)
            {
                return(NotFound());
            }

            return(Ok(result));
        }
Exemplo n.º 4
0
 public async Task <IReadOnlyCollection <DogDTO> > Get()
 {
     return(await _service.Get());
 }
Exemplo n.º 5
0
        public IActionResult Get()
        {
            var dogs = _service.Get();

            return(Ok(dogs));
        }
Exemplo n.º 6
0
        public ActionResult <List <DogList> > Get()
        {
            if (GetClaim(User, ClaimEnum.UserType) == "A")
            {
                return(_dogService.Get().Select(dog => (DogList)dog).ToList());
            }

            return(_dogService.Get(int.Parse(GetClaim(User, ClaimEnum.DeptNo))).Select(dog => (DogList)dog).ToList());
        }