public void Save(RoleMenuItemRelation entity)
 {
     try
     {
         LogEventManager.Logger.Error("Save(RoleMenuItemRelation entity) execution has started");
         if (entity.Role != null && entity.Role.Id == 0 && !entity.RoleId.HasValue && !string.IsNullOrEmpty(entity.Role.Name))
         {
             entity.Role = Db.Set <Role>().Single(it => it.Name.Equals(entity.Role.Name));
         }
         Db.Set <RoleMenuItemRelation>().Add(entity);
         if (Db.Set <RoleMenuItemRelation>().Any(it => it.Id == entity.Id))
         {
             Db.Entry(entity).State = EntityState.Modified;
         }
         Db.SaveChanges();
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Error("Save(RoleMenuItemRelation entity) execution has finished");
     }
 }
 public void SaveById(RoleMenuItemRelation entity)
 {
     try
     {
         LogEventManager.Logger.Error("SaveById(RoleMenuItemRelation entity) execution has started");
         throw new NotImplementedException();
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Error("SaveById(RoleMenuItemRelation entity) execution has finished");
     }
 }
        public ActionResult SaveMenuItemRelation(MenuItemRelationAdminVm <int> vm, string oper)
        {
            try
            {
                if (oper.Equals("del"))
                {
                    _menuRelationRepository.Delete(vm.Id);
                    return(Json(new { success = 1 }));
                }
                var menuItem = _menuItemRepository.Get()
                               .Single(it => it.Code.Equals(vm.MenuCode, StringComparison.OrdinalIgnoreCase));
                var routeName     = _routeNameRepository.Get().Single(it => it.Code.Equals(vm.RouteCode, StringComparison.OrdinalIgnoreCase));
                var relationGroup = _menuItemRelationGroupRepository.Get().Single(it => it.Code.Equals(vm.MenuItemRelationGroupCode, StringComparison.OrdinalIgnoreCase));
                var menuRelation  = new RoleMenuItemRelation
                {
                    Id                      = vm.Id,
                    IsDocked                = vm.IsDocked,
                    RouteNameId             = routeName.Id,
                    MenuItemRelationGroupId = relationGroup.Id,
                    MenuItemId              = menuItem.Id,
                };
                if (vm.RoleName != "Is public menu" && !string.IsNullOrEmpty(vm.RoleName))
                {
                    menuRelation.Role = new Role
                    {
                        Name = vm.RoleName
                    }
                }
                ;

                _menuRelationRepository.Save(menuRelation);
                return(Json(new { success = 1 }));
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                return(Json(new { success = false }));
            }
            finally
            {
            }
        }
 public void Delete(RoleMenuItemRelation entity)
 {
     try
     {
         LogEventManager.Logger.Error("Delete(RoleMenuItemRelation entity) execution has started");
         //  Db.Set<RoleMenuItemRelation>().Add(entity);
         var victim = Db.Set <RoleMenuItemRelation>().SingleOrDefault(it => it.Id == entity.Id);
         Db.Set <RoleMenuItemRelation>().Remove(victim);
         //   Db.Entry(entity).State = EntityState.Deleted;
         Db.SaveChanges();
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Error("Delete(RoleMenuItemRelation entity) execution has finished");
     }
 }
        internal static void PopulateDefaultMenuDataRoleCtx(DbContext db)
        {
            try
            {
                var home = new MenuItem
                {
                    //Id = 1,
                    Code        = "1",
                    Name        = "Home",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <MenuItem>().Add(home);
                var admin = new MenuItem
                {
                    //Id = 2,
                    Code        = "2",
                    Name        = "Admin",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <MenuItem>().Add(admin);
                var roles =
                    new MenuItem
                {
                    //Id = 5,
                    Code        = "6",
                    Name        = "Roles",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0,
                    ParentId    = admin.Id
                };
                db.Set <MenuItem>().Add(roles);
                var about = new MenuItem
                {
                    //Id = 7,
                    Code        = "7",
                    Name        = "About",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0,
                    ParentId    = home.Id
                };
                db.Set <MenuItem>().Add(about);
                var marketing = new MenuItem
                {
                    //Id = 7,
                    Code        = "10",
                    Name        = "Marketing",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0,
                    ParentId    = home.Id
                };
                db.Set <MenuItem>().Add(marketing);
                var users = new MenuItem
                {
                    //Id = 6,
                    Code        = "6",
                    Name        = "Users",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0,
                    ParentId    = admin.Id
                };
                db.Set <MenuItem>().Add(users);
                var roleAdmin = new Role
                {
                    Id   = 1,
                    Name = "Admin",
                };
                db.Set <Role>().Add(roleAdmin);
                var roleUser = new Role
                {
                    Id   = 2,
                    Name = "User",
                };
                db.Set <Role>().Add(roleUser);
                var defaultName = new RouteName
                {
                    // Id = 1,
                    Code        = "1",
                    Name        = "Default",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <RouteName>().Add(defaultName);
                var controller = new RouteParam
                {
                    // Id = 1,
                    Code        = "1",
                    Name        = "controller",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <RouteParam>().Add(controller);
                var action = new RouteParam
                {
                    // Id = 2,
                    Code        = "2",
                    Name        = "action",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <RouteParam>().Add(action);
                var area = new RouteParam
                {
                    // Id = 3,
                    Code        = "3",
                    Name        = "area",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <RouteParam>().Add(area);
                var layoutRelationGroup = new MenuItemRelationGroup
                {
                    //  Id = 1,
                    Code        = "1",
                    Name        = "Layout",
                    DateCreated = DateTime.Today,
                    IsActive    = true,
                    SortOrder   = 0
                };
                db.Set <MenuItemRelationGroup>().Add(layoutRelationGroup);
                var homeAdminMenuRelation = new RoleMenuItemRelation
                {
                    //  Id = 1,
                    MenuItemId = home.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleAdmin.Id
                };
                db.Set <RoleMenuItemRelation>().Add(homeAdminMenuRelation);
                var homeUsrRelation = new RoleMenuItemRelation
                {
                    //  Id = 2,
                    MenuItemId = home.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleUser.Id
                };
                db.Set <RoleMenuItemRelation>().Add(homeUsrRelation);
                var adminAdminRelation = new RoleMenuItemRelation
                {
                    // Id = 3,
                    MenuItemId = admin.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleAdmin.Id
                };
                db.Set <RoleMenuItemRelation>().Add(adminAdminRelation);
                var aboutAdminRelation = new RoleMenuItemRelation
                {
                    // Id = 4,
                    MenuItemId = about.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleAdmin.Id
                };
                db.Set <RoleMenuItemRelation>().Add(aboutAdminRelation);
                var aboutUserRelation = new RoleMenuItemRelation
                {
                    // Id = 4,
                    MenuItemId = about.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleUser.Id
                };
                db.Set <RoleMenuItemRelation>().Add(aboutUserRelation);
                var usersAdminRelation = new RoleMenuItemRelation
                {
                    // Id = 6,
                    MenuItemId = users.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleAdmin.Id
                };
                db.Set <RoleMenuItemRelation>().Add(usersAdminRelation);
                var rolesAdminRelation = new RoleMenuItemRelation
                {
                    //Id = 7,
                    MenuItemId = roles.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleAdmin.Id
                };
                db.Set <RoleMenuItemRelation>().Add(rolesAdminRelation);
                var adminMarketing = new RoleMenuItemRelation
                {
                    MenuItemId = marketing.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    RoleId = roleAdmin.Id
                };
                db.Set <RoleMenuItemRelation>().Add(adminMarketing);


                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = adminMarketing.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Index",
                    MenuItemRelationId = adminMarketing.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = area.Id,
                    Value              = "marketing",
                    MenuItemRelationId = adminMarketing.Id
                });

                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = homeAdminMenuRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = homeUsrRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = aboutAdminRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "About",
                    MenuItemRelationId = aboutAdminRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Index",
                    MenuItemRelationId = homeUsrRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Index",
                    MenuItemRelationId = homeAdminMenuRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Admin",
                    MenuItemRelationId = adminAdminRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Admin",
                    MenuItemRelationId = rolesAdminRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Roles",
                    MenuItemRelationId = rolesAdminRelation.Id
                });

                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Admin",
                    MenuItemRelationId = usersAdminRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Users",
                    MenuItemRelationId = usersAdminRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Index",
                    MenuItemRelationId = adminAdminRelation.Id
                });
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                throw;
            }
        }