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); }
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); }
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); } }
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);
public override async Task GetInfoAsync(GeMenuItemInput geMenuItemInput) { }
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); }