예제 #1
0
        public async Task <IAdminResult <RecycleItem> > DeleteItem(string itemId)
        {
            var id              = Guid.Parse(itemId);
            var recycleItems    = GetRecycleItems();
            var itemToBeDeleted = recycleItems.FirstOrDefault(ri => ri.Id == id);
            var isDeleted       = false;

            if (itemToBeDeleted == null)
            {
                return(null);
            }

            isDeleted = itemToBeDeleted.RecycleItemType.Name switch
            {
                "Layouts" => _layoutRepository.DeleteLayout(itemToBeDeleted.Id),
                "Page" => _pageRepository.DeletePage(itemToBeDeleted.Id),
                "PageContent" => _pageContentRepository.DeletePageContentPermanent(itemToBeDeleted.Id),
                "PageModule" => _pageRepository.DeletePageModule(itemToBeDeleted.Id),
                _ => isDeleted
            };

            //_pageRepository.DeletePage();
            if (isDeleted)
            {
                return(await Task.FromResult(new AdminResult <RecycleItem>(itemToBeDeleted)
                {
                    IsSucceeded = true,
                    SuccessMessage = $"{itemToBeDeleted.RecycleItemType.Name} has been deleted"
                }));
            }

            return(await Task.FromResult(new AdminResult <RecycleItem>(itemToBeDeleted)
            {
                IsSucceeded = false,
                SuccessMessage = $"Unable to delete {itemToBeDeleted.RecycleItemType.Name}"
            }));
        }
        public bool DeletePageContent(Guid id)
        {
            var result = _pageContentRepository.DeletePageContentPermanent(id);

            return(result);
        }