示例#1
0
        private Domain.Menus GetMenuFromRawUrl(string rawUrl)
        {
            Domain.Menus menu = null;

            using (var session = new Data.DataSession())
            {
                var repo = new Data.MenusRepository(session.UnitOfWork);

                var menus = repo.GetAll();

                foreach (var m in menus)
                {
                    if ((rawUrl == "/" || rawUrl == "/Default") && m.Homepage.HasValue && m.Homepage.Value)
                    {
                        menu = m;
                        break;
                    }

                    if (m.RelativeUrl == null)
                    {
                        continue;
                    }

                    if (m.RelativeUrl == rawUrl || "/" + m.RelativeUrl == rawUrl)
                    {
                        menu = m;
                        break;
                    }
                }
            }

            return(menu);
        }
示例#2
0
        public List <Domain.Menus> GetMenusByParentControlId(string id)
        {
            var menus = new List <Domain.Menus>();

            using (var session = new Data.DataSession())
            {
                var repo = new Data.MenusRepository(session.UnitOfWork);

                menus = repo.GetMenusByParentControlId(id);
            }

            return(menus);
        }
示例#3
0
        public int AddEditMenu(int menuId, string parentControlId, string name, string relativeUrl, bool homepage, int parentId = 0)
        {
            using (var session = new Data.DataSession())
            {
                var repo = new Data.MenusRepository(session.UnitOfWork);

                Domain.Menus menu = null;

                if (menuId > 0)
                {
                    menu = repo.GetSingle(menuId);
                    if (menu != null)
                    {
                        menu.Name        = name;
                        menu.RelativeUrl = relativeUrl;
                        if (homepage)
                        {
                            menu.Homepage = homepage;
                        }
                        repo.Save(menu);
                        return(menu.Id);
                    }
                }

                menu = new Domain.Menus()
                {
                    CreatedAt   = DateTime.Now,
                    CreatedById = Authentication.Instance.GetUserId(),
                    Name        = name,
                    RelativeUrl = relativeUrl
                };
                if (homepage)
                {
                    menu.Homepage = homepage;
                }
                if (parentControlId != "")
                {
                    menu.ParentControlId = parentControlId;
                }
                if (parentId != 0)
                {
                    menu.ParentId = parentId;
                }

                return(repo.Save(menu));
            }
        }
        public void GetAllParents_NoFound()
        {
            session = new Data.DataSession(true);

            var uow = session.UnitOfWork;

            uow.Begin(IsolationLevel.ReadUncommitted);

            var menusRepo = new Data.MenusRepository(uow);

            var menu = new Domain.Menus()
            {
                Name        = "Test",
                CreatedAt   = DateTime.Now,
                CreatedById = 1
            };

            menu.Id = menusRepo.Save(menu);

            var parents = menusRepo.GetAllParentMenus();

            Assert.AreEqual(1, parents.Count);
        }
        public void TestConstructor()
        {
            session = new Data.DataSession(true);

            var uow = session.UnitOfWork;

            uow.Begin();

            var menusRepo = new Data.MenusRepository(uow);

            var menu = new Domain.Menus()
            {
                Name        = "Test",
                CreatedAt   = DateTime.Now,
                CreatedById = 1
            };

            menu.Id = menusRepo.Save(menu);

            var actual = menusRepo.GetSingle(menu.Id);

            Assert.AreEqual(menu.Name, actual.Name);
        }