Example #1
0
        /// <summary>
        /// Save notification
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponseModel SaveNotificationInitialize(NotificationInitializeModel model)
        {
            Mapper.CreateMap <NotificationInitializeModel, Notification>();
            var notification = Mapper.Map <NotificationInitializeModel, Notification>(model);

            notification.Active = false;

            var response = Insert(notification);

            return(response.SetMessage(response.Success
                ? T("Notification_Message_CreateSuccessfully")
                : T("Notification_Message_CreateFailure")));
        }
        public ActionResult InitializeNotification(NotificationInitializeModel model)
        {
            if (ModelState.IsValid)
            {
                if (!model.NotificationConfiguration.DisableNotifyContacts)
                {
                    var response = _notificationService.SaveNotificationInitialize(model);
                    if (response.Success)
                    {
                        var id = (int)response.Data;
                        return(RedirectToAction("ContactGroup", new { id }));
                    }
                }
            }

            SetErrorMessage(ModelState.BuildValidationMessages());
            return(View("ShowMessageAndCloseFancyBox", new CloseFancyBoxViewModel
            {
                IsReload = false
            }));
        }
Example #3
0
        public PageManageModel()
        {
            _pageService         = HostContainer.GetInstance <IPageService>();
            _bodyTemplateService = HostContainer.GetInstance <IBodyTemplateService>();
            _pageTemplateService = HostContainer.GetInstance <IPageTemplateService>();
            _fileTemplateService = HostContainer.GetInstance <IFileTemplateService>();
            var styleService            = HostContainer.GetInstance <IStyleService>();
            var socialMediaTokenService = HostContainer.GetInstance <ISocialMediaTokenService>();

            int position;
            int relativePageId;
            var relativePages = _pageService.GetRelativePages(out position, out relativePageId);

            StatusList         = _pageService.GetStatus();
            Parents            = _pageService.GetPossibleParents();
            PageTemplates      = _pageTemplateService.GetPageTemplateSelectList();
            FileTemplates      = _fileTemplateService.GetFileTemplates();
            Positions          = EnumUtilities.GenerateSelectListItems <PageEnums.PagePosition>();
            PageSecurityModels = _pageService.GetPageSecurities();
            BodyTemplates      = _bodyTemplateService.GetBodyTemplates();
            IncludedStyles     = styleService.GetIncludedStyles();

            Position       = position;
            RelativePageId = relativePageId;
            RelativePages  = relativePages;

            IncludeInSiteNavigation  = true;
            DisableNavigationCascade = false;

            Log    = new SubscriptionLogManageModel();
            Notify = new NotificationInitializeModel(NotificationEnums.NotificationModule.Page, new NotificationPageParameterModel {
                Id = -1
            });

            SocialMessages = socialMediaTokenService.GetAvailableSocialMediaMessageModels();
            SEOScoring     = new SEOScoringModel();
        }
Example #4
0
        public PageManageModel(Page page)
            : this()
        {
            int position;
            int relativePageId;
            var relativePages = _pageService.GetRelativePages(out position, out relativePageId, page.Id, page.ParentId);

            Position       = position;
            Positions      = EnumUtilities.GenerateSelectListItems <PageEnums.PagePosition>();
            RelativePageId = relativePageId;
            RelativePages  = relativePages;

            Id = page.Id;

            if (page.Status == PageEnums.PageStatus.Draft)
            {
                Content  = page.ContentWorking;
                Abstract = page.AbstractWorking;
            }
            else
            {
                Content  = page.Content;
                Abstract = page.Abstract;
            }

            Title                    = page.Title;
            SeoTitle                 = page.SeoTitle;
            Keywords                 = page.Keywords;
            FriendlyUrl              = page.FriendlyUrl;
            Description              = page.Description;
            Status                   = page.Status;
            StatusList               = _pageService.GetStatus();
            ParentId                 = page.ParentId;
            Parents                  = _pageService.GetPossibleParents(page.Id);
            FileTemplateId           = page.FileTemplateId;
            FileTemplates            = _fileTemplateService.GetFileTemplates(page.FileTemplateId);
            PageTemplateId           = page.PageTemplateId;
            PageTemplates            = _pageTemplateService.GetPageTemplateSelectList(page.PageTemplateId);
            BodyTemplateId           = page.BodyTemplateId;
            BodyTemplates            = _bodyTemplateService.GetBodyTemplates(BodyTemplateId);
            IncludeInSiteNavigation  = page.IncludeInSiteNavigation;
            DisableNavigationCascade = page.DisableNavigationCascade;
            Tags = string.Join(",", page.PageTags.Select(t => t.Tag.Name));
            StartPublishingDate = page.StartPublishingDate;
            EndPublishingDate   = page.EndPublishingDate;
            RecordOrder         = page.RecordOrder;
            SSL = page.SSL;
            PageSecurityModels = _pageService.GetPageSecurities(page.Id);

            Log = new SubscriptionLogManageModel(SubscriptionEnums.SubscriptionModule.Page, new SubscriptionPageParameterModel {
                Id = page.Id
            });
            Notify = new NotificationInitializeModel(NotificationEnums.NotificationModule.Page, new NotificationPageParameterModel {
                Id = page.Id
            });

            var socialMessage = string.Format(SocialMessageFormat, page.Title, page.FriendlyUrl.ToAbsoluteUrl().ToTinyUrl());

            foreach (var item in SocialMessages)
            {
                item.PageTitle = page.Title;
                item.Message   = socialMessage;
            }

            SEOScoring = _pageService.GetSEOScoringModel(page.Title, page.Description, page.Content, page.Keywords);
        }