Exemplo n.º 1
0
        public async Task SaveAsync(Models.AdminMenu tree)
        {
            if (tree.IsReadonly)
            {
                throw new ArgumentException("The object is read-only");
            }

            var adminMenuList = await LoadAdminMenuListAsync();

            var preexisting = adminMenuList.AdminMenu.FirstOrDefault(x => String.Equals(x.Id, tree.Id, StringComparison.OrdinalIgnoreCase));

            // it's new? add it
            if (preexisting == null)
            {
                adminMenuList.AdminMenu.Add(tree);
            }
            else // not new: replace it
            {
                var index = adminMenuList.AdminMenu.IndexOf(preexisting);
                adminMenuList.AdminMenu[index] = tree;
            }

            _session.Save(adminMenuList);
            _signal.DeferredSignalToken(AdminMenuCacheKey);
        }
Exemplo n.º 2
0
        public async Task SaveAsync(Models.AdminMenu tree)
        {
            var adminMenuList = await GetAdminMenuList();

            var session = GetSession();


            var preexisting = adminMenuList.AdminMenu.Where(x => x.Id == tree.Id).FirstOrDefault();

            // it's new? add it
            if (preexisting == null)
            {
                adminMenuList.AdminMenu.Add(tree);
            }
            else // not new: replace it
            {
                var index = adminMenuList.AdminMenu.IndexOf(preexisting);
                adminMenuList.AdminMenu[index] = tree;
            }

            session.Save(adminMenuList);

            _memoryCache.Set(AdminMenuCacheKey, adminMenuList);
            _signal.SignalToken(AdminMenuCacheKey);
        }
Exemplo n.º 3
0
        public async Task <int> DeleteAsync(Models.AdminMenu tree)
        {
            var adminMenuList = await GetAdminMenuList();

            var session = GetSession();

            var count = adminMenuList.AdminMenu.RemoveAll(x => String.Equals(x.Id, tree.Id));

            session.Save(adminMenuList);

            _memoryCache.Set(AdminMenuCacheKey, adminMenuList);
            _signal.SignalToken(AdminMenuCacheKey);

            return(count);
        }
Exemplo n.º 4
0
        public async Task <int> DeleteAsync(Models.AdminMenu tree)
        {
            if (tree.IsReadonly)
            {
                throw new ArgumentException("The object is read-only");
            }

            var adminMenuList = await LoadAdminMenuListAsync();

            var count = adminMenuList.AdminMenu.RemoveAll(x => String.Equals(x.Id, tree.Id, StringComparison.OrdinalIgnoreCase));

            _session.Save(adminMenuList);
            _signal.DeferredSignalToken(AdminMenuCacheKey);

            return(count);
        }