Пример #1
0
        /// <summary>
        /// Step 4
        ///     - Init default theme
        /// </summary>
        /// <param name="siteName"></param>
        /// <param name="_context"></param>
        /// <param name="_transaction"></param>
        /// <returns></returns>
        public async Task <RepositoryResponse <bool> > InitThemesAsync(string siteName
                                                                       , MixCmsContext _context = null, IDbContextTransaction _transaction = null)
        {
            UnitOfWorkHelper <MixCmsContext> .InitTransaction(_context, _transaction, out MixCmsContext context, out IDbContextTransaction transaction, out bool isRoot);

            var result = new RepositoryResponse <bool>()
            {
                IsSucceed = true
            };
            var getThemes = ViewModels.MixThemes.InitViewModel.Repository.GetModelList(_context: context, _transaction: transaction);

            if (!context.MixTheme.Any())
            {
                ViewModels.MixThemes.InitViewModel theme = new ViewModels.MixThemes.InitViewModel(new MixTheme()
                {
                    Id              = 1,
                    Title           = siteName,
                    Name            = SeoHelper.GetSEOString(siteName),
                    CreatedDateTime = DateTime.UtcNow,
                    CreatedBy       = "Admin",
                    Status          = (int)MixContentStatus.Published,
                }, context, transaction);

                var saveResult = await theme.SaveModelAsync(true, context, transaction);

                ViewModelHelper.HandleResult(saveResult, ref result);
            }
            UnitOfWorkHelper <MixCmsContext> .HandleTransaction(result.IsSucceed, isRoot, transaction);

            return(new RepositoryResponse <bool>()
            {
                IsSucceed = result.IsSucceed
            });
        }
Пример #2
0
        private async Task <RepositoryResponse <ViewModels.MixThemes.InitViewModel> > InitThemesAsync(string siteName, MixCmsContext context, IDbContextTransaction transaction)
        {
            var getThemes = ViewModels.MixThemes.InitViewModel.Repository.GetModelList(_context: context, _transaction: transaction);

            if (!context.MixTheme.Any())
            {
                ViewModels.MixThemes.InitViewModel theme = new ViewModels.MixThemes.InitViewModel(new MixTheme()
                {
                    Id              = 1,
                    Title           = siteName,
                    Name            = SeoHelper.GetSEOString(siteName),
                    CreatedDateTime = DateTime.UtcNow,
                    CreatedBy       = "Admin",
                    Status          = (int)MixContentStatus.Published,
                }, context, transaction);

                return(await theme.SaveModelAsync(true, context, transaction));
            }

            return(new RepositoryResponse <ViewModels.MixThemes.InitViewModel>()
            {
                IsSucceed = true
            });
        }