public PageLayout UpdatePageLayout(PageLayout pageLayout)
        {
            var layout       = ConvertToLayout(pageLayout);
            var resultLayout = _layoutRepository.UpdateLayout(layout);

            UpdatePageLayout(pageLayout.PageId, resultLayout.Id);
            var result = ConvertToPageLayout(resultLayout);

            return(result);
        }
예제 #2
0
        public IActionResult Delete(Guid id)
        {
            try
            {
                var layout = _layoutRepository.GetLayout(id);

                if (layout != null)
                {
                    if (layout.IsDeleted)
                    {
                        bool result = _layoutRepository.DeleteLayout(id);
                        if (result)
                        {
                            return(Ok());
                        }
                    }
                    else
                    {
                        layout.IsDeleted = true;
                        var result = _layoutRepository.UpdateLayout(layout);
                        if (result != null)
                        {
                            return(Ok(result));
                        }
                    }
                }
                return(BadRequest());
            }
            catch (Exception ex)
            {
                _logger.LogError(string.Format("Error occured while deleting the layout"), ex);
                return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
            }
        }
예제 #3
0
 public PageLayout UpdatePageLayout(PageLayout pageLayout)
 {
     try
     {
         //Not necessary, since layout and content has been seperated
         //if (pageLayout.IsChanged)
         //{
         //    DeleteModulesAndContent(pageLayout);
         //    CreateElement(pageLayout.ContentItems, pageLayout.PageId);
         //}
         var layout       = ConvertToLayout(pageLayout);
         var resultLayout = _layoutRepository.UpdateLayout(layout);
         UpdatePageLayout(pageLayout.PageId, resultLayout.Id);
         var result = ConvertToPageLayout(resultLayout);
         return(result);
     }
     catch (Exception ex)
     {
         _logger.LogError(string.Format("Error occured while updating page layout, LayoutName: ", pageLayout.Name), ex);
     }
     return(null);
 }
예제 #4
0
        public async Task <IAdminResult> Restore(RecycleItem item)
        {
            if (item == null)
            {
                return(null);
            }

            object resultItem = null;

            switch (item.RecycleItemType.Name)
            {
            case "Layouts":
                var layout = _layoutRepository.GetLayout(item.Id);
                layout.IsActive = true;
                resultItem      = _layoutRepository.UpdateLayout(layout);
                break;

            case "Page":
                var page = _pageRepository.GetPage(item.Id);
                page.IsActive = true;
                resultItem    = _pageRepository.UpdatePageActiveAndLayout(page);
                break;

            case "PageContent":
                resultItem = _pageContentRepository.RestorePageContent(item.Id);
                break;

            case "PageModule":
                var pageModule = _pageRepository.GetPageModule(item.Id);
                pageModule.IsActive = true;
                resultItem          = _pageRepository.UpdatePageModule(pageModule);
                break;
            }
            ;

            //_pageRepository.DeletePage();
            if (resultItem != null)
            {
                return(await Task.FromResult(new AdminResult(resultItem)
                {
                    IsSucceeded = true,
                    SuccessMessage = $"{item.RecycleItemType.Name} has been restored"
                }));
            }

            return(await Task.FromResult(new AdminResult(resultItem)
            {
                IsSucceeded = false,
                SuccessMessage = $"Unable to restore {item.RecycleItemType.Name}"
            }));
        }
예제 #5
0
 public Layout UpdateLayout(Layout entity)
 {
     return(_iLayoutRepository.UpdateLayout(entity));
 }