示例#1
0
        public static T ToContent <T>(this IDataReader dataReader, T content)
            where T : ContentBase
        {
            ITimeZoneHelper timeZoneHelper = EngineContext.Current.Resolve <ITimeZoneHelper>();

            for (int i = 0; i < dataReader.FieldCount; i++)
            {
                var fieldName = dataReader.GetName(i);
                var value     = dataReader.GetValue(i);
                if (value is DateTime)
                {
                    var dt = new DateTime(((DateTime)value).Ticks, DateTimeKind.Utc);
                    value = timeZoneHelper.ConvertToLocalTime(dt, TimeZoneInfo.Utc);
                }
                if (value == DBNull.Value)
                {
                    value = null;
                }
                if (dataReader.GetFieldType(i) == typeof(ulong))
                {
                    value = dataReader.GetValue(i);
                    if (value == DBNull.Value)
                    {
                        value = null;
                    }
                    else
                    {
                        value = Convert.ToBoolean(value);
                    }
                }
                content[fieldName] = value;
            }
            return(content);
        }
 public ManageController(
     SiteContext currentSite,
     SiteUserManager <SiteUser> userManager,
     SignInManager <SiteUser> signInManager,
     IAccountService accountService,
     //ISmsSender smsSender,
     IStringLocalizer <CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper,
     IHandleCustomUserInfo customUserInfo,
     ILogger <ManageController> logger,
     UrlEncoder urlEncoder
     )
 {
     CurrentSite        = currentSite;
     UserManager        = userManager;
     SignInManager      = signInManager;
     AccountService     = accountService;
     StringLocalizer    = localizer;
     TimeZoneIdResolver = timeZoneIdResolver;
     TimeZoneHelper     = timeZoneHelper;
     CustomUserInfo     = customUserInfo;
     Log        = logger;
     UrlEncoder = urlEncoder;
 }
示例#3
0
 public UpdateTemplatedPostHandler(
     IProjectService projectService,
     IBlogService blogService,
     IOptions <BlogEditOptions> configOptionsAccessor,
     IContentHistoryCommands historyCommands,
     ITimeZoneHelper timeZoneHelper,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITeaserService teaserService,
     IEnumerable <IModelSerializer> serializers,
     IEnumerable <IParseModelFromForm> formParsers,
     IEnumerable <IValidateTemplateModel> modelValidators,
     ViewRenderer viewRenderer,
     IStringLocalizer <cloudscribe.SimpleContent.Web.SimpleContent> localizer,
     ILogger <UpdateTemplatedPostHandler> logger
     )
 {
     _projectService     = projectService;
     _blogService        = blogService;
     _editOptions        = configOptionsAccessor.Value;
     _historyCommands    = historyCommands;
     _timeZoneHelper     = timeZoneHelper;
     _timeZoneIdResolver = timeZoneIdResolver;
     _teaserService      = teaserService;
     _serializers        = serializers;
     _formParsers        = formParsers;
     _modelValidators    = modelValidators;
     _viewRenderer       = viewRenderer;
     _localizer          = localizer;
     _log = logger;
 }
 public BlogController(
     IProjectService projectService,
     IBlogService blogService,
     IBlogRoutes blogRoutes,
     IHtmlProcessor htmlProcessor,
     IProjectEmailService emailService,
     IAuthorizationService authorizationService,
     IAuthorNameResolver authorNameResolver,
     ITimeZoneHelper timeZoneHelper,
     IStringLocalizer <SimpleContent> localizer,
     IOptions <SimpleContentConfig> configOptionsAccessor,
     ILogger <BlogController> logger
     )
 {
     this.projectService       = projectService;
     this.blogService          = blogService;
     this.htmlProcessor        = htmlProcessor;
     this.blogRoutes           = blogRoutes;
     this.authorNameResolver   = authorNameResolver;
     this.emailService         = emailService;
     this.authorizationService = authorizationService;
     this.timeZoneHelper       = timeZoneHelper;
     sr     = localizer;
     log    = logger;
     config = configOptionsAccessor.Value;
 }
 public MetaWeblogService(
     IProjectService projectService,
     IProjectSecurityResolver security,
     IContentHistoryCommands contentHistoryCommands,
     IPageUrlResolver pageUrlResolver,
     IBlogUrlResolver blogUrlResolver,
     IMediaProcessor mediaProcessor,
     ITimeZoneHelper timeZoneHelper,
     ITreeCache treeCache,
     ILogger <MetaWeblogService> logger,
     IBlogService blogService = null,
     IPageService pageService = null
     )
 {
     _projectService         = projectService;
     _security               = security;
     _contentHistoryCommands = contentHistoryCommands;
     _pageUrlResolver        = pageUrlResolver;
     _blogUrlResolver        = blogUrlResolver;
     _timeZoneHelper         = timeZoneHelper;
     _blogService            = blogService ?? new NotImplementedBlogService();
     _pageService            = pageService ?? new NotImplementedPageService();
     _mediaProcessor         = mediaProcessor;
     _mapper          = new MetaWeblogModelMapper();
     _navigationCache = treeCache;
     _log             = logger;
 }
示例#6
0
        public BlogController(
            IProjectService projectService,
            IBlogService blogService,
            IBlogRoutes blogRoutes,
            IContentProcessor contentProcessor,
            IProjectEmailService emailService,
            IAuthorizationService authorizationService,
            IAuthorNameResolver authorNameResolver,
            ITimeZoneHelper timeZoneHelper,
            IRecaptchaServerSideValidator recaptchaServerSideValidator,
            IStringLocalizer <SimpleContent> localizer,
            IOptions <SimpleContentConfig> configOptionsAccessor,
            ILogger <BlogController> logger

            )
        {
            ProjectService       = projectService;
            BlogService          = blogService;
            ContentProcessor     = contentProcessor;
            BlogRoutes           = blogRoutes;
            AuthorNameResolver   = authorNameResolver;
            EmailService         = emailService;
            AuthorizationService = authorizationService;
            TimeZoneHelper       = timeZoneHelper;
            StringLocalizer      = localizer;
            Log            = logger;
            ContentOptions = configOptionsAccessor.Value;
            RecaptchaServerSideValidator = recaptchaServerSideValidator;
        }
 public UpdateTemplatedPageHandler(
     IProjectService projectService,
     IPageService pageService,
     ITreeCache treeCache,
     IContentHistoryCommands historyCommands,
     ITimeZoneHelper timeZoneHelper,
     ITimeZoneIdResolver timeZoneIdResolver,
     IEnumerable <IModelSerializer> serializers,
     IEnumerable <IParseModelFromForm> formParsers,
     IEnumerable <IValidateTemplateModel> modelValidators,
     ViewRenderer viewRenderer,
     IStringLocalizer <cloudscribe.SimpleContent.Web.SimpleContent> localizer,
     ILogger <UpdateTemplatedPageHandler> logger
     )
 {
     _projectService     = projectService;
     _pageService        = pageService;
     _navigationCache    = treeCache;
     _historyCommands    = historyCommands;
     _timeZoneHelper     = timeZoneHelper;
     _timeZoneIdResolver = timeZoneIdResolver;
     _serializers        = serializers;
     _formParsers        = formParsers;
     _modelValidators    = modelValidators;
     _viewRenderer       = viewRenderer;
     _localizer          = localizer;
     _log = logger;
 }
示例#8
0
 public SiteTimeZoneService(
     ITimeZoneHelper timeZoneHelper,
     ITimeZoneIdResolver timeZoneIdResolver
     )
 {
     _timeZoneHelper     = timeZoneHelper;
     _timeZoneIdResolver = timeZoneIdResolver;
 }
 public FeaturedPostsViewComponent(
     IProjectService projectService,
     IPostQueries postQueries,
     ITimeZoneHelper timeZoneHelper
     )
 {
     this.projectService = projectService;
     this.postQueries    = postQueries;
     this.timeZoneHelper = timeZoneHelper;
 }
示例#10
0
 public RecentPostsViewComponent(
     IProjectService projectService,
     IPostQueries postQueries,
     IContentProcessor contentProcessor,
     ITimeZoneHelper timeZoneHelper
     )
 {
     this.projectService   = projectService;
     this.postQueries      = postQueries;
     this.timeZoneHelper   = timeZoneHelper;
     this.contentProcessor = contentProcessor;
 }
示例#11
0
 public FeaturedPostsViewComponent(
     IProjectService projectService,
     IPostQueries postQueries,
     IContentProcessor contentProcessor,
     ITimeZoneHelper timeZoneHelper
     )
 {
     _projectService   = projectService;
     _postQueries      = postQueries;
     _timeZoneHelper   = timeZoneHelper;
     _contentProcessor = contentProcessor;
 }
示例#12
0
 public PageController(
     IProjectService projectService,
     IPageService blogService,
     IAuthorizationService authorizationService,
     ITimeZoneHelper timeZoneHelper,
     ILogger <PageController> logger)
 {
     this.projectService       = projectService;
     this.pageService          = blogService;
     this.authorizationService = authorizationService;
     this.timeZoneHelper       = timeZoneHelper;
     log = logger;
 }
 public PageController(
     IProjectService projectService,
     IPageService blogService,
     IPageRoutes pageRoutes,
     IAuthorizationService authorizationService,
     ITimeZoneHelper timeZoneHelper,
     IStringLocalizer <SimpleContent> localizer,
     ILogger <PageController> logger)
 {
     this.projectService       = projectService;
     this.pageService          = blogService;
     this.authorizationService = authorizationService;
     this.timeZoneHelper       = timeZoneHelper;
     this.pageRoutes           = pageRoutes;
     sr  = localizer;
     log = logger;
 }
示例#14
0
 public UserAdminController(
     SiteManager siteManager,
     SiteUserManager <SiteUser> userManager,
     ISiteMessageEmailSender emailSender,
     IOptions <UIOptions> uiOptionsAccessor,
     IStringLocalizer <CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper
     )
 {
     UserManager      = userManager;
     this.siteManager = siteManager;
     this.emailSender = emailSender;
     uiOptions        = uiOptionsAccessor.Value;
     sr = localizer;
     this.timeZoneIdResolver = timeZoneIdResolver;
     tzHelper = timeZoneHelper;
 }
示例#15
0
 public BlogController(
     IProjectService projectService,
     IBlogService blogService,
     IBlogRoutes blogRoutes,
     IProjectEmailService emailService,
     IAuthorizationService authorizationService,
     ITimeZoneHelper timeZoneHelper,
     ILogger <BlogController> logger
     )
 {
     this.projectService       = projectService;
     this.blogService          = blogService;
     this.blogRoutes           = blogRoutes;
     this.emailService         = emailService;
     this.authorizationService = authorizationService;
     this.timeZoneHelper       = timeZoneHelper;
     log = logger;
 }
示例#16
0
 public ManageController(
     SiteContext currentSite,
     SiteUserManager <SiteUser> userManager,
     SiteSignInManager <SiteUser> signInManager,
     ISmsSender smsSender,
     IStringLocalizer <CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper
     )
 {
     Site               = currentSite;
     this.userManager   = userManager;
     this.signInManager = signInManager;
     this.smsSender     = smsSender;
     sr = localizer;
     this.timeZoneIdResolver = timeZoneIdResolver;
     tzHelper = timeZoneHelper;
 }
示例#17
0
 public CreateOrUpdatePageHandler(
     IProjectService projectService,
     IPageService pageService,
     ITimeZoneHelper timeZoneHelper,
     ITimeZoneIdResolver timeZoneIdResolver,
     IContentHistoryCommands historyCommands,
     IStringLocalizer <cloudscribe.SimpleContent.Web.SimpleContent> localizer,
     ILogger <CreateOrUpdatePageHandler> logger
     )
 {
     _projectService     = projectService;
     _pageService        = pageService;
     _historyCommands    = historyCommands;
     _timeZoneHelper     = timeZoneHelper;
     _timeZoneIdResolver = timeZoneIdResolver;
     _localizer          = localizer;
     _log = logger;
 }
示例#18
0
 public ManageController(
     SiteContext currentSite,
     SiteUserManager<SiteUser> userManager,
     SiteSignInManager<SiteUser> signInManager,
     ISmsSender smsSender,
     IStringLocalizer<CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper
     )
 {
     Site = currentSite; 
     this.userManager = userManager;
     this.signInManager = signInManager;
     this.smsSender = smsSender;
     sr = localizer;
     this.timeZoneIdResolver = timeZoneIdResolver;
     tzHelper = timeZoneHelper;
 }
 public UserAdminController(
     SiteManager siteManager,
     SiteUserManager<SiteUser> userManager,
     ISiteMessageEmailSender emailSender,
     IOptions<UIOptions> uiOptionsAccessor,
     IStringLocalizer<CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper
     )
 {
    
     UserManager = userManager;
     this.siteManager = siteManager;
     this.emailSender = emailSender;
     uiOptions = uiOptionsAccessor.Value;
     sr = localizer;
     this.timeZoneIdResolver = timeZoneIdResolver;
     tzHelper = timeZoneHelper;
 }
示例#20
0
        public static TextContent ConvertToLocalTime(this TextContent textContent)
        {
            ITimeZoneHelper timeZoneHelper = Kooboo.CMS.Common.Runtime.EngineContext.Current.Resolve <ITimeZoneHelper>();
            TextContent     newTextContent = new TextContent(textContent);

            foreach (var key in newTextContent.Keys.ToArray())
            {
                if (newTextContent[key] is DateTime)
                {
                    DateTime dt = (DateTime)newTextContent[key];
                    if (dt.Kind != DateTimeKind.Local)
                    {
                        newTextContent[key] = timeZoneHelper.ConvertToLocalTime(dt, TimeZoneInfo.Utc);
                    }
                }
            }

            return(newTextContent);
        }
示例#21
0
 public UserAdminController(
     SiteManager siteManager,
     SiteUserManager <SiteUser> userManager,
     ISiteMessageEmailSender emailSender,
     IOptions <UIOptions> uiOptionsAccessor,
     IStringLocalizer <CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper,
     IHandleCustomUserInfoAdmin customUserEdit
     )
 {
     _userManager        = userManager;
     _siteManager        = siteManager;
     _emailSender        = emailSender;
     _uiOptions          = uiOptionsAccessor.Value;
     _sr                 = localizer;
     _timeZoneIdResolver = timeZoneIdResolver;
     _tzHelper           = timeZoneHelper;
     _customUserInfo     = customUserEdit;
 }
示例#22
0
 public CreateOrUpdatePostHandler(
     IProjectService projectService,
     IBlogService blogService,
     IContentHistoryCommands historyCommands,
     ITimeZoneHelper timeZoneHelper,
     ITimeZoneIdResolver timeZoneIdResolver,
     IOptions <BlogEditOptions> configOptionsAccessor,
     IStringLocalizer <SimpleContent> localizer,
     ILogger <CreateOrUpdatePostHandler> logger
     )
 {
     _projectService     = projectService;
     _blogService        = blogService;
     _historyCommands    = historyCommands;
     _timeZoneHelper     = timeZoneHelper;
     _timeZoneIdResolver = timeZoneIdResolver;
     _editOptions        = configOptionsAccessor.Value;
     _localizer          = localizer;
     _log = logger;
 }
示例#23
0
 public PageController(
     IProjectService projectService,
     IPageService blogService,
     IHtmlProcessor htmlProcessor,
     IPageRoutes pageRoutes,
     IAuthorizationService authorizationService,
     ITimeZoneHelper timeZoneHelper,
     IAuthorNameResolver authorNameResolver,
     IStringLocalizer <SimpleContent> localizer,
     IOptions <PageEditOptions> pageEditOptionsAccessor,
     ILogger <PageController> logger)
 {
     this.projectService       = projectService;
     this.pageService          = blogService;
     this.htmlProcessor        = htmlProcessor;
     this.authorizationService = authorizationService;
     this.authorNameResolver   = authorNameResolver;
     this.timeZoneHelper       = timeZoneHelper;
     this.pageRoutes           = pageRoutes;
     editOptions = pageEditOptionsAccessor.Value;
     sr          = localizer;
     log         = logger;
 }
示例#24
0
 public PageController(
     IProjectService projectService,
     IPageService blogService,
     IContentProcessor contentProcessor,
     IPageRoutes pageRoutes,
     IAuthorizationService authorizationService,
     ITimeZoneHelper timeZoneHelper,
     IAuthorNameResolver authorNameResolver,
     IStringLocalizer <SimpleContent> localizer,
     IOptions <PageEditOptions> pageEditOptionsAccessor,
     ILogger <PageController> logger)
 {
     ProjectService       = projectService;
     PageService          = blogService;
     ContentProcessor     = contentProcessor;
     AuthorizationService = authorizationService;
     AuthorNameResolver   = authorNameResolver;
     TimeZoneHelper       = timeZoneHelper;
     PageRoutes           = pageRoutes;
     EditOptions          = pageEditOptionsAccessor.Value;
     StringLocalizer      = localizer;
     Log = logger;
 }
示例#25
0
 public ManageController(
     SiteContext currentSite,
     SiteUserManager <SiteUser> userManager,
     SignInManager <SiteUser> signInManager,
     //ISmsSender smsSender,
     IStringLocalizer <CloudscribeCore> localizer,
     ITimeZoneIdResolver timeZoneIdResolver,
     ITimeZoneHelper timeZoneHelper,
     IHandleCustomUserInfo customUserInfo,
     ILogger <ManageController> logger,
     UrlEncoder urlEncoder
     )
 {
     _currentSite        = currentSite;
     _userManager        = userManager;
     _signInManager      = signInManager;
     _sr                 = localizer;
     _timeZoneIdResolver = timeZoneIdResolver;
     _tzHelper           = timeZoneHelper;
     _customUserInfo     = customUserInfo;
     _logger             = logger;
     _urlEncoder         = urlEncoder;
 }
        public SiteAdminController(
            SiteManager siteManager,
            GeoDataManager geoDataManager,
            IOptions<MultiTenantOptions> multiTenantOptions,
            IOptions<UIOptions> uiOptionsAccessor,
            IThemeListBuilder layoutListBuilder,
            IStringLocalizer<CloudscribeCore> localizer,
            ITimeZoneHelper timeZoneHelper
            )
        {
            if (siteManager == null) { throw new ArgumentNullException(nameof(siteManager)); }
            if (geoDataManager == null) { throw new ArgumentNullException(nameof(geoDataManager)); }
            if (multiTenantOptions == null) { throw new ArgumentNullException(nameof(multiTenantOptions)); }

            this.multiTenantOptions = multiTenantOptions.Value;
            
            this.siteManager = siteManager;
            this.geoDataManager = geoDataManager;
            uiOptions = uiOptionsAccessor.Value;
            this.layoutListBuilder = layoutListBuilder;
            sr = localizer;
            tzHelper = timeZoneHelper;
        }
示例#27
0
 public TimeZonesDataSource(ITimeZoneHelper timeZoneHelper)
 {
     _timeZoneHelper = timeZoneHelper;
 }
示例#28
0
 public TimeZonesDataSource(ITimeZoneHelper timeZoneHelper)
 {
     _timeZoneHelper = timeZoneHelper;
 }