Beispiel #1
0
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            var itemDataModel  = geMenuItemInput.ItemDataModel;
            var moduleId       = itemDataModel.Id;
            var currentRequest = geMenuItemInput.CurrentRequest;
            var propertyName   = itemDataModel.PropertyName;

            var isPrivate = NewsItemBusinessModule.IsPrivate(propertyName);

            if (isPrivate && geMenuItemInput.IsSitemap)
            {
                return;
            }

            var menuItem = await NewsItemBusinessModule.GetMenuItemAsync(_urlProvider, itemDataModel, currentRequest, ModuleName, isPrivate);

            if (menuItem != null)
            {
                var expendoMenu = CacheProvider.ToExpando(menuItem);
                {
                    var items =
                        await
                        geMenuItemInput.DataFactory.ItemRepository.GetItemsAsync(itemDataModel.SiteId,
                                                                                 new ItemFilters { ParentId = moduleId });

                    await
                    CacheProvider.GetChildsAsync(_businessModuleFactory, geMenuItemInput.CurrentRequest, items,
                                                 expendoMenu,
                                                 geMenuItemInput.DataFactory);
                }

                ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, expendoMenu,
                                  itemDataModel.PropertyType);
            }
        }
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            var itemDataModel    = geMenuItemInput.ItemDataModel;
            var seoBusinessModel = (SeoBusinessModel)geMenuItemInput.ItemDataModel.Data;

            ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, seoBusinessModel,
                              itemDataModel.PropertyType);
        }
Beispiel #3
0
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            var itemDataModel  = geMenuItemInput.ItemDataModel;
            var moduleId       = itemDataModel.Id;
            var currentRequest = geMenuItemInput.CurrentRequest;

            var menuItem = new MenuItemBusiness();

            var title = GetTitle(itemDataModel);

            var normalizedTitle = UrlHelper.NormalizeTextForUrl(title);

            menuItem.Title      = title;
            menuItem.RouteDatas = GetRouteData("Index", ModuleName, normalizedTitle, moduleId);

            var urlInfo = await _urlHelper.GetUrlAsync(currentRequest, "Index", ModuleName,
                                                       new { title = normalizedTitle, moduleId });

            menuItem.Url       = urlInfo.Path;
            menuItem.RoutePath = urlInfo.RoutePath;
            menuItem.RoutePathWithoutHomePage = urlInfo.RoutePathWithoutHomePage;
            menuItem.Route          = urlInfo.Route;
            menuItem.ModuleId       = moduleId;
            menuItem.ModuleName     = ModuleName;
            menuItem.Seo            = new SeoBusiness();
            menuItem.Seo.UpdateDate = itemDataModel.UpdateDate.HasValue
                ? itemDataModel.UpdateDate.Value
                : itemDataModel.CreateDate;
            menuItem.Seo.SitemapFrequence = SitemapFrequence.Yearly;

            menuItem.Childs = new List <MenuItemBusiness>();

            var menuItemChild = new MenuItemBusiness();

            menuItemChild.Title      = title;
            menuItemChild.RouteDatas = GetRouteData("Authentification", ModuleName, normalizedTitle, moduleId);

            var urlInfoChild = await _urlHelper.GetUrlAsync(currentRequest, "Authentification", ModuleName,
                                                            new { title = normalizedTitle, moduleId });

            menuItemChild.Url       = urlInfoChild.Path;
            menuItemChild.RoutePath = urlInfoChild.RoutePath;
            menuItemChild.RoutePathWithoutHomePage = urlInfoChild.RoutePathWithoutHomePage;
            menuItemChild.Route          = urlInfoChild.Route;
            menuItemChild.ModuleId       = moduleId;
            menuItemChild.ModuleName     = ModuleName;
            menuItemChild.Seo            = new SeoBusiness();
            menuItemChild.Seo.UpdateDate = itemDataModel.UpdateDate.HasValue
                ? itemDataModel.UpdateDate.Value
                : itemDataModel.CreateDate;
            menuItemChild.Seo.SitemapFrequence = SitemapFrequence.Yearly;

            menuItem.Childs.Add(menuItemChild);

            ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, menuItem, itemDataModel.PropertyType);
        }
Beispiel #4
0
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            var itemDataModel  = geMenuItemInput.ItemDataModel;
            var currentRequest = geMenuItemInput.CurrentRequest;
            var propertyName   = itemDataModel.PropertyName;

            var isPrivate = NewsItemBusinessModule.IsPrivate(propertyName);

            if (isPrivate && geMenuItemInput.IsSitemap)
            {
                return;
            }

            var menuItem = await NewsItemBusinessModule.GetMenuItemAsync(_urlProvider, itemDataModel, currentRequest, ModuleName, isPrivate);

            if (menuItem != null)
            {
                //var expendoMenu = CacheProvider.ToExpando(menuItem);
                {
                    var items =
                        await
                        geMenuItemInput.DataFactory.ItemRepository.GetItemsAsync(itemDataModel.SiteId,
                                                                                 new ItemFilters
                    {
                        ParentId        = itemDataModel.Id,
                        ExcludedModules = new List <string>()
                        {
                            "Image", "Video"
                        }
                    });

                    foreach (var dataModel in items)
                    {
                        var menuItemChild = await NewsItemBusinessModule.GetMenuItemAsync(_urlProvider, dataModel,
                                                                                          currentRequest, dataModel.Module, isPrivate);

                        if (menuItemChild != null)
                        {
                            if (menuItem.Childs == null)
                            {
                                menuItem.Childs = new List <MenuItemBusiness>();
                            }
                            menuItem.Childs.Add(menuItemChild);
                        }
                    }
                }

                ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, menuItem,
                                  itemDataModel.PropertyType);
            }
        }
Beispiel #5
0
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            var itemDataModel  = geMenuItemInput.ItemDataModel;
            var currentRequest = geMenuItemInput.CurrentRequest;

            var propertyName = itemDataModel.PropertyName;
            var isPrivate    = IsPrivate(propertyName);

            if (isPrivate && geMenuItemInput.IsSitemap)
            {
                return;
            }

            var menuItem = await GetMenuItemAsync(_urlProvider, itemDataModel, currentRequest, ModuleName, isPrivate);

            if (menuItem != null)
            {
                ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, menuItem,
                                  itemDataModel.PropertyType);
            }
        }
 public abstract Task GetInfoAsync(GeMenuItemInput geMenuItemInput);
Beispiel #7
0
 public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
 {
 }
Beispiel #8
0
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            var itemDataModel = geMenuItemInput.ItemDataModel;
            var moduleFree    = (MasterBusinessModel)geMenuItemInput.ItemDataModel.Data;

            var masterInfo = new Master();

            masterInfo.Id = itemDataModel.Id;

            masterInfo.ImageIcones = GetImages(moduleFree, "ImageIcone");
            if (masterInfo.ImageIcones != null && masterInfo.ImageIcones.Count > 0)
            {
                var imageIcone = masterInfo.ImageIcones.First();
                masterInfo.ImageIconeId       = imageIcone.Id;
                masterInfo.ImageIconeFileName = imageIcone.Name;
            }
            masterInfo.ImageLogos = GetImages(moduleFree, "ImageLogo");
            if (masterInfo.ImageLogos != null && masterInfo.ImageLogos.Count > 0)
            {
                var imageLogo = masterInfo.ImageLogos.First();
                masterInfo.ImageLogoId       = imageLogo.Id;
                masterInfo.ImageLogoFileName = imageLogo.Name;
            }

            var jumbotron = moduleFree.Elements.FirstOrDefault(e => e.Property == "Jumbotron");

            if (jumbotron != null)
            {
                masterInfo.IsJumbotron = jumbotron.Data == "true";
            }

            masterInfo.Title = moduleFree.Elements.First(e => e.Property == "Title").Data;
            var colorBackgroundMenu = GetData(moduleFree, "ColorBackgroundMenu");

            masterInfo.ColorBackgroundMenu         = colorBackgroundMenu;
            masterInfo.ColorHoverBackgroundMenu    = ColorHelper.Grayer(colorBackgroundMenu, 50);
            masterInfo.ColorSelectedBackgroundMenu = ColorHelper.Grayer(colorBackgroundMenu, 32);
            masterInfo.ColorH1                   = GetData(moduleFree, "ColorH1");
            masterInfo.ColorH2                   = GetData(moduleFree, "ColorH2");
            masterInfo.ColorH3                   = GetData(moduleFree, "ColorH3");
            masterInfo.ColorJumbotron            = GetData(moduleFree, "ColorJumbotron");
            masterInfo.ColorBackgroundMenuBottom = GetData(moduleFree, "ColorBackgroundMenuBottom");
            var color = GetData(moduleFree, "Color");

            masterInfo.Color = color;
            var colorBackground = GetData(moduleFree, "ColorBackground");

            masterInfo.ColorBackground = colorBackground;
            var colorH1 = GetData(moduleFree, "ColorH1");

            var styleModel = new StyleModel
            {
                Color                       = color,
                ColorBackground             = colorBackground,
                ColorBackgroundMenu         = colorBackgroundMenu,
                ColorHoverBackgroundMenu    = ColorHelper.Grayer(colorBackgroundMenu, 50),
                ColorBackgroundTableHeader  = ColorHelper.Grayer(colorBackgroundMenu, -20),
                ColorBackgroundTableFooter  = ColorHelper.Grayer(colorBackgroundMenu, -40),
                ColorSelectedBackgroundMenu = ColorHelper.Grayer(colorBackgroundMenu, 32),
                ColorH1                     = colorH1,
                ColorH2                     = GetData(moduleFree, "ColorH2"),
                ColorJumbotron              = GetData(moduleFree, "ColorJumbotron"),
                ColorBackgroundMenuBottom   = GetData(moduleFree, "ColorBackgroundMenuBottom"),
                ColorLoader                 = ColorHelper.Grayer(colorBackgroundMenu, -20),
                ColorSeparator              = ColorHelper.Grayer(colorBackgroundMenu, -70, 0, 220)
            };

            var template      = ResourcesLoader.Load(Path.Combine("Renderers", "Style.st"));
            var styleTemplate = new StringTemplateRenderer().Render(template, styleModel);

            masterInfo.StyleTemplate = styleTemplate;

            //var theme = moduleFree.Elements.FirstOrDefault(e => e.Property == "Theme");
            //TODO
            masterInfo.Theme = "theme1";

            /* if (theme != null)
             * {
             *   masterInfo.Theme = theme.Data;
             * }
             * else
             * {
             *   masterInfo.Theme = "default";
             * }*/

            masterInfo.Seo = new SeoBusinessMaster();


            masterInfo.FacebookAuthenticationAppId =
                _routeProvider.Domains.Where(d => d.Id == geMenuItemInput.CurrentRequest.DomainId)
                .Select(d => d.FacebookAppId)
                .FirstOrDefault();

            ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, masterInfo, itemDataModel.PropertyType);
        }
        public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput)
        {
            if (geMenuItemInput.IsSitemap)
            {
                return;
            }

            var itemDataModel  = geMenuItemInput.ItemDataModel;
            var moduleId       = itemDataModel.Id;
            var currentRequest = geMenuItemInput.CurrentRequest;
            var moduleSocial   = (SocialBusinessModel)geMenuItemInput.ItemDataModel.Data;

            string title;

            if (string.IsNullOrEmpty(moduleSocial.Title))
            {
                switch (moduleSocial.Socials)
                {
                case Socials.Phone:
                    title = moduleSocial.Url;
                    break;

                case Socials.Email:
                    title = moduleSocial.Url;
                    break;

                default:
                    title = moduleSocial.Socials.ToString();
                    break;
                }
            }
            else
            {
                title = moduleSocial.Title;
            }

            var normalizedTitle = UrlHelper.NormalizeTextForUrl(title);

            var    isPrivate = NewsItemBusinessModule.IsPrivate(itemDataModel.PropertyName);
            object o         = new { title = normalizedTitle, moduleId };

            if (isPrivate)
            {
                o = new { title = normalizedTitle, moduleId, @private = "privee" };
            }

            var urlInfo = await _urlProvider.GetUrlAsync(currentRequest, "Index", ModuleName, o);

            var menuItem = new MenuItemBusiness();

            menuItem.Title        = title;
            menuItem.RouteDatas   = NewsItemBusinessModule.GetRouteData(moduleSocial.Socials.ToString(), ModuleName, normalizedTitle, moduleId, itemDataModel.PropertyName);
            menuItem.TypeMenuItem = TypeMenuItem.Link;
            string socialUrl = String.IsNullOrEmpty(moduleSocial.Url) ? "#" : moduleSocial.Url;
            string url       = null;

            if (moduleSocial.Socials == Socials.Phone)
            {
                url = "tel:" + socialUrl;
            }
            else if (moduleSocial.Socials == Socials.Phone)
            {
                url = "mailto:" + socialUrl;
            }
            else
            {
                url = socialUrl;
            }
            menuItem.Url       = url;
            menuItem.RoutePath = url;
            menuItem.RoutePathWithoutHomePage = urlInfo.RoutePathWithoutHomePage;
            menuItem.ModuleId   = itemDataModel.Id;
            menuItem.ModuleName = ModuleName;

            ModuleManager.Add(geMenuItemInput.Master, itemDataModel.PropertyName, menuItem, itemDataModel.PropertyType);
        }