Esempio n. 1
0
        public async Task <List <SiteList> > GetLists(bool isAdmin)
        {
            var siteListCache = new SiteListCache(Cache);

            var cacheResult = await siteListCache.GetSiteListsFromCache(isAdmin);

            if (cacheResult != null)
            {
                return(cacheResult);
            }

            List <SiteList> listOfLists;

            using (var uow = new UnitOfWork(Context))
            {
                var repo = new SiteListRepository(uow);

                var listOfListsRequest = repo.GetAll(isAdmin);

                listOfLists = await listOfListsRequest.ToListAsync();
            }

            if (listOfLists != null)
            {
                await siteListCache.AddSiteListToCache(listOfLists, isAdmin);
            }

            return(listOfLists);
        }
Esempio n. 2
0
        public async Task <SiteList> UpdateList(SiteList list)
        {
            var existingList = await GetListById(list.SiteListId, true);

            if (existingList == null)
            {
                throw new CallerException("Cannot find SiteList to update");
            }

            existingList.Name      = list.Name;
            existingList.Visible   = list.Visible;
            existingList.UpdatedBy = list.UpdatedBy;

            using (var uow = new UnitOfWork(Context))
            {
                var repo = new SiteListRepository(uow);

                existingList = await repo.Update(existingList);
            }

            var siteListCache = new SiteListCache(Cache);

            await siteListCache.InvalidateSiteListCache();

            return(existingList);
        }
Esempio n. 3
0
        public async Task Delete(int listId)
        {
            using (var uow = new UnitOfWork(Context))
            {
                var repo = new SiteListRepository(uow);

                await repo.Delete(listId);
            }

            var siteListCache = new SiteListCache(Cache);

            await siteListCache.InvalidateSiteListCache();
        }
Esempio n. 4
0
        public async Task <SiteList> CreateSiteList(SiteList list)
        {
            var existingList = await GetLists(true, list.Name);

            if (existingList != null && existingList.Count > 0)
            {
                throw new CallerException("List name already exists");
            }

            SiteList createdList;

            using (var uow = new UnitOfWork(Context))
            {
                var repo = new SiteListRepository(uow);

                createdList = await repo.Create(list);
            }

            var siteListCache = new SiteListCache(Cache);

            await siteListCache.InvalidateSiteListCache();

            return(createdList);
        }