Ejemplo n.º 1
0
        private string GetMenus(SPWeb web)
        {
            StringBuilder menusHtml = new StringBuilder();

            MenuPrincipalAdapter MenuPrincipalAdapter = new MenuPrincipalAdapter(web);

            IEnumerable <Framework.Domain.MenuPrincipal> allMenus = MenuPrincipalAdapter.GetByViewTitle(ViewTitle);

            IEnumerable <IGrouping <int, Framework.Domain.MenuPrincipal> > groupedMenus = allMenus.GroupBy(menu => menu.ParentID);

            menusHtml.Append(RenderMenus(groupedMenus));

            return(menusHtml.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// An item was added.
        /// </summary>
        public override void ItemAdded(SPItemEventProperties properties)
        {
            base.ItemAdded(properties);

            try
            {
                if (properties.ListItem.ContentTypeId.IsChildOf(new SPContentTypeId("0x01010901"))) //pagina de webparts
                {
                    if (MemoryPersisted.Contains(properties.Web.CurrentUser.ID, "NewPageActionReferrer"))
                    {
                        string urlReferrer = MemoryPersisted.Get <string>(properties.Web.CurrentUser.ID, "NewPageActionReferrer");
                        string secao       = MemoryPersisted.Get <string>(properties.Web.CurrentUser.ID, "SecaoMenu");

                        MenuPrincipalAdapter adapter = new MenuPrincipalAdapter(properties.Site.RootWeb);

                        IEnumerable <MenuPrincipal> referrerMenus = adapter.GetByQuery(
                            string.Format("<Where><And><Eq><FieldRef Name=\"{0}\" /><Value Type=\"Text\">{1}</Value></Eq><Contains><FieldRef Name=\"{2}\" /><Value Type=\"Text\">{3}</Value></Contains></And></Where>",
                                          MenuPrincipal.FieldNameURL, urlReferrer, MenuPrincipal.FieldNameSecao, secao));

                        MenuPrincipal referrerUrlMenu = referrerMenus.FirstOrDefault();

                        //if (referrerUrlMenu != null)
                        //{
                        MenuPrincipal newChildMenu = new MenuPrincipal();
                        newChildMenu.Title              = properties.ListItem.File.Name.Remove(properties.ListItem.File.Name.LastIndexOf('.'));
                        newChildMenu.URL                = properties.ListItem.File.ServerRelativeUrl;
                        newChildMenu.Destino            = EmbratelIntranet.Home.Core.Domain.Destino._self;
                        newChildMenu.Secao              = secao;
                        newChildMenu.ParentLookup.Value = referrerUrlMenu;

                        adapter.Add(newChildMenu);
                        //}
                    }
                }
            }
            catch { }
        }