public void Delete(UserMenuItemRelation entity)
 {
     try
     {
         LogEventManager.Logger.Error("Delete(UserMenuItemRelation entity) execution has started");
         //Db.Set<UserMenuItemRelation>().Add(entity);
         var relatedParams = Db.Set <MenuItemRelationRouteValue>().Where(it => it.MenuItemRelationId == entity.Id);
         foreach (var menuItemRelationRouteValue in relatedParams)
         {
             RemoveRouteParameter(menuItemRelationRouteValue);
         }
         //Db.ChangeTracker.DetectChanges();
         Db.Entry(entity).State = EntityState.Deleted;
         Db.SaveChanges();
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Error("Delete(UserMenuItemRelation entity) execution has finished");
     }
 }
 public void SaveById(UserMenuItemRelation entity)
 {
     try
     {
         LogEventManager.Logger.Error("SaveById(UserMenuItemRelation entity) execution has started");
         Save(entity);
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex.Message, ex);
         throw;
     }
     finally
     {
         LogEventManager.Logger.Error("SaveById(UserMenuItemRelation entity) execution has finished");
     }
 }
コード例 #3
0
        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 UserMenuItemRelation
                {
                    Id                      = vm.Id,
                    IsDocked                = vm.IsDocked,
                    RouteNameId             = routeName.Id,
                    MenuItemRelationGroupId = relationGroup.Id,
                    MenuItemId              = menuItem.Id,
                };
                if (vm.Login != "Is public menu" && !string.IsNullOrEmpty(vm.Login))
                {
                    menuRelation.User = new User
                    {
                        UserName = vm.Login
                    }
                }
                ;

                _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 Save(UserMenuItemRelation entity)
        {
            try
            {
                LogEventManager.Logger.Error("Save(UserMenuItemRelation entity) execution has started");
                if (entity.User != null && entity.User.Id == 0 && entity.UserId == 0 && !string.IsNullOrEmpty(entity.User.UserName))
                {
                    entity.User = Db.Set <User>().Single(it => it.UserName.Equals(entity.User.UserName));
                }

                //AddOrUpdate(entity, e => e.Id == entity.Id);
                //if (Db.Entry(entity).State ==EntityState.Detached)
                //{
                //    Db.Attach(entity);
                //}


                if (Db.Set <UserMenuItemRelation>().Any(it => it.Id == entity.Id))
                {
                    Db.Entry(entity).State = EntityState.Modified;
                }
                else
                {
                    Db.Set <UserMenuItemRelation>().Add(entity);
                }
                Db.SaveChanges();
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                throw;
            }
            finally
            {
                LogEventManager.Logger.Error("Save(UserMenuItemRelation entity) execution has finished");
            }
        }
コード例 #5
0
        internal static void PopulateDefaultMenuDataUserCtx(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 andrew = new User
                {
                    Id       = 1,
                    UserName = "******",
                };
                db.Set <User>().Add(andrew);
                var alex = new User
                {
                    Id       = 2,
                    UserName = "******",
                };
                db.Set <User>().Add(alex);
                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 homeMenuRelation = new UserMenuItemRelation
                {
                    //  Id = 1,
                    MenuItemId = home.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = andrew.Id
                };
                db.Set <UserMenuItemRelation>().Add(homeMenuRelation);
                var homeAlexRelation = new UserMenuItemRelation
                {
                    //  Id = 2,
                    MenuItemId = home.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = alex.Id
                };
                db.Set <UserMenuItemRelation>().Add(homeAlexRelation);
                var adminAndrewRelation = new UserMenuItemRelation
                {
                    // Id = 3,
                    MenuItemId = admin.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = andrew.Id
                };
                db.Set <UserMenuItemRelation>().Add(adminAndrewRelation);
                var aboutAndrewRelation = new UserMenuItemRelation
                {
                    // Id = 4,
                    MenuItemId = about.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = andrew.Id
                };
                db.Set <UserMenuItemRelation>().Add(aboutAndrewRelation);
                var aboutAlexRelation = new UserMenuItemRelation
                {
                    // Id = 4,
                    MenuItemId = about.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = alex.Id
                };
                db.Set <UserMenuItemRelation>().Add(aboutAlexRelation);
                var usersAndrewRelation = new UserMenuItemRelation
                {
                    // Id = 6,
                    MenuItemId = users.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = andrew.Id
                };
                db.Set <UserMenuItemRelation>().Add(usersAndrewRelation);
                var rolesAndrewRelation = new UserMenuItemRelation
                {
                    //Id = 7,
                    MenuItemId = roles.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = andrew.Id
                };
                db.Set <UserMenuItemRelation>().Add(rolesAndrewRelation);
                var andrewMarketing = new UserMenuItemRelation
                {
                    MenuItemId = marketing.Id,
                    MenuItemRelationGroupId = layoutRelationGroup.Id,
                    RouteNameId             = defaultName.Id,
                    UserId = andrew.Id
                };
                db.Set <UserMenuItemRelation>().Add(andrewMarketing);


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

                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = homeMenuRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = homeAlexRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Home",
                    MenuItemRelationId = aboutAndrewRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "About",
                    MenuItemRelationId = aboutAndrewRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Index",
                    MenuItemRelationId = homeAlexRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Index",
                    MenuItemRelationId = homeMenuRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Admin",
                    MenuItemRelationId = adminAndrewRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = controller.Id,
                    Value              = "Admin",
                    MenuItemRelationId = rolesAndrewRelation.Id
                });
                db.Set <MenuItemRelationRouteValue>().Add(new MenuItemRelationRouteValue
                {
                    RouteParamId       = action.Id,
                    Value              = "Roles",
                    MenuItemRelationId = rolesAndrewRelation.Id
                });

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