public static RoleNavigationMenu ToRoleNavigationEntity(this RoleNavigationMenuEntity dto)
 {
     if (dto == null)
     {
         return(null);
     }
     return(new RoleNavigationMenu()
     {
         RoleId = dto.RoleId,
         NavigationId = dto.NavigationId
     });
 }
Example #2
0
        public async Task <ApplicationIdentityResult> AddNavigationToRolesAsync(int navigationId, IList <string> roles)
        {
            if (roles == null)
            {
                return(new ApplicationIdentityResult(new[] { "Bad Request" }, false));
            }

            var roleDtos = (await _roleManager.GetRolesAsync()).ToList();

            foreach (var role in roles)
            {
                var roleDto = roleDtos.Find(X => X.Name.Equals(role));
                var roleNavigationMenuEntity = new RoleNavigationMenuEntity
                {
                    NavigationId = navigationId,
                    RoleId       = roleDto.Id
                };
                _roleNavigationRepository.Insert(roleNavigationMenuEntity);
            }
            await _unitOfWork.SaveChangesAsync();

            return(new ApplicationIdentityResult(new[] { "" }, true));
        }
        protected void InitNavigationMenus(ApplicationDbContext context)
        {
            var MainMenuType   = "MainMenu";
            var navigationType = new string[3] {
                "GroupTitle",
                MainMenuType,
                "InternalMenu"
            };

            foreach (var type in navigationType)
            {
                if (context.NavigationTypes.Where(x => x.NavigationTypeName == type).FirstOrDefault() == null)
                {
                    context.Entry(new NavigationTypeEntity()
                    {
                        NavigationTypeName = type
                    }).State = EntityState.Added;
                }
            }
            context.SaveChanges();


            var navTypeEntity  = context.NavigationTypes.Where(x => x.NavigationTypeName == MainMenuType).FirstOrDefault();
            var superUserId    = context.Users.Where(x => x.UserName == _SuperUserEmail).FirstOrDefault().Id;
            var currentUtcDate = DateTime.UtcNow;

            var roleMenu = new RoleNavigationMenuEntity()
            {
                RoleId = context.Roles.Where(x => x.Name == SystemRole.SuperUser.ToString()).FirstOrDefault().Id
            };
            var menu = new NavigationMenuEntity();

            if (context.NavigationMenus.Where(x => x.Name == "Home").FirstOrDefault() == null)
            {
                menu                    = new NavigationMenuEntity();
                menu.Name               = "Home";
                menu.DisplayName        = "Home";
                menu.ControllerName     = "Home";
                menu.ActionName         = "Index";
                menu.DisplayOrder       = 2;
                menu.LastModifiedUserId = superUserId;
                menu.InsertedOnUtc      = currentUtcDate;
                menu.NavigationType     = navTypeEntity;

                context.Entry(menu).State = EntityState.Added;
                context.SaveChanges();

                roleMenu.NavigationId         = menu.Id;
                context.Entry(roleMenu).State = EntityState.Added;
                context.SaveChanges();
            }

            if (context.NavigationMenus.Where(x => x.Name == "NavigationMenu").FirstOrDefault() == null)
            {
                menu                      = new NavigationMenuEntity();
                menu.Name                 = "NavigationMenu";
                menu.DisplayName          = "Navigation Menu";
                menu.ControllerName       = "Navigation";
                menu.ActionName           = "Index";
                menu.DisplayOrder         = 2;
                menu.LastModifiedUserId   = superUserId;
                menu.InsertedOnUtc        = currentUtcDate;
                menu.NavigationType       = navTypeEntity;
                context.Entry(menu).State = EntityState.Added;
                context.SaveChanges();

                roleMenu.NavigationId         = menu.Id;
                context.Entry(roleMenu).State = EntityState.Added;
                context.SaveChanges();
            }

            if (context.NavigationMenus.Where(x => x.Name == "Users").FirstOrDefault() == null)
            {
                menu                      = new NavigationMenuEntity();
                menu.Name                 = "Users";
                menu.DisplayName          = "Users";
                menu.ControllerName       = "UserAdmin";
                menu.ActionName           = "Index";
                menu.DisplayOrder         = 3;
                menu.LastModifiedUserId   = superUserId;
                menu.InsertedOnUtc        = currentUtcDate;
                menu.NavigationType       = navTypeEntity;
                context.Entry(menu).State = EntityState.Added;
                context.SaveChanges();

                roleMenu.NavigationId         = menu.Id;
                context.Entry(roleMenu).State = EntityState.Added;
                context.SaveChanges();
            }
            if (context.NavigationMenus.Where(x => x.Name == "Roles").FirstOrDefault() == null)
            {
                menu                      = new NavigationMenuEntity();
                menu.Name                 = "Roles";
                menu.DisplayName          = "Roles";
                menu.ControllerName       = "RoleAdmin";
                menu.ActionName           = "Index";
                menu.DisplayOrder         = 4;
                menu.LastModifiedUserId   = superUserId;
                menu.InsertedOnUtc        = currentUtcDate;
                menu.NavigationType       = navTypeEntity;
                context.Entry(menu).State = EntityState.Added;
                context.SaveChanges();

                roleMenu.NavigationId         = menu.Id;
                context.Entry(roleMenu).State = EntityState.Added;
                context.SaveChanges();
            }
        }