예제 #1
0
        public async Task <PageViewModel> UpdatePageAsync(PageViewModel pageViewModel)
        {
            if (pageViewModel == null)
            {
                throw new ArgumentNullException(nameof(pageViewModel));
            }

            var page = await _pageStore.GetPageByIdAsync(pageViewModel.Id);

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

            page.Name       = pageViewModel.Name;
            page.Active     = pageViewModel.Active;
            page.OrderIndex = pageViewModel.OrderIndex;
            page.LastUpdate = DateTime.UtcNow;
            if (!string.IsNullOrWhiteSpace(pageViewModel.Url))
            {
                page.Url = pageViewModel.Url;
            }

            await _pageStore.UpdatePageAsync(page);

            var result = _mapper.Map <PageViewModel>(page);

            return(result);
        }