예제 #1
0
        public ActionResult Roles(string id)
        {
            RoleSitePermissionViewModel Vm = new RoleSitePermissionViewModel();

            Vm.DivisionId = string.Join(",", (_RolesDivisionService.GetRolesDivisionList(id).Select(m => m.DivisionId.ToString())));


            Vm.SiteId = string.Join(",", (_RolesSiteService.GetRolesSiteList(id).Select(m => m.SiteId.ToString())));

            Vm.RoleId = id;

            return(View("RolesSiteAndDivision", Vm));
        }
예제 #2
0
        public void CopyPermission(CopyRolesViewModel vm, string UserName)
        {
            var RolesSites         = _rolesSiteService.GetRolesSiteList(vm.FromRoleId);
            var ExistingRolesSites = _rolesSiteService.GetRolesSiteList(vm.ToRoleId);

            var PendingToUpdate = from p in RolesSites
                                  join t in ExistingRolesSites on p.RolesSiteId equals t.RolesSiteId into table
                                  from left in table.DefaultIfEmpty()
                                  where left == null
                                  select p;

            foreach (var item in PendingToUpdate)
            {
                RolesSite site = new RolesSite();
                site.CreatedBy    = UserName;
                site.CreatedDate  = DateTime.Now;
                site.ModifiedBy   = UserName;
                site.ModifiedDate = DateTime.Now;
                site.RoleId       = vm.ToRoleId;
                site.SiteId       = item.SiteId;
                site.ObjectState  = Model.ObjectState.Added;
                _rolesSiteService.Create(site);
            }

            var RolesDivisions         = _rolesDivisionService.GetRolesDivisionList(vm.FromRoleId);
            var ExistingRolesDivisions = _rolesDivisionService.GetRolesDivisionList(vm.ToRoleId);

            var PendingDivisionsToUpdate = from p in RolesDivisions
                                           join t in ExistingRolesDivisions on p.RolesDivisionId equals t.RolesDivisionId into table
                                           from left in table.DefaultIfEmpty()
                                           where left == null
                                           select p;

            foreach (var item in PendingDivisionsToUpdate)
            {
                RolesDivision division = new RolesDivision();
                division.CreatedBy    = UserName;
                division.CreatedDate  = DateTime.Now;
                division.DivisionId   = item.DivisionId;
                division.ModifiedBy   = UserName;
                division.ModifiedDate = DateTime.Now;
                division.RoleId       = vm.ToRoleId;
                division.ObjectState  = Model.ObjectState.Added;
                _rolesDivisionService.Create(division);
            }

            var RolesMenus         = _rolesMenuService.GetRolesMenuList(vm.FromRoleId);
            var ExistingRolesMenus = _rolesMenuService.GetRolesMenuList(vm.ToRoleId);

            var PendingMenusToUpDate = from p in RolesMenus
                                       join t in ExistingRolesMenus on p.RolesMenuId equals t.RolesMenuId into table
                                       from left in table.DefaultIfEmpty()
                                       where left == null
                                       select p;

            foreach (var item in PendingMenusToUpDate)
            {
                RolesMenu menu = new RolesMenu();
                menu.CreatedBy            = UserName;
                menu.CreatedDate          = DateTime.Now;
                menu.FullHeaderPermission = item.FullHeaderPermission;
                menu.FullLinePermission   = item.FullLinePermission;
                menu.MenuId       = item.MenuId;
                menu.SiteId       = item.SiteId;
                menu.DivisionId   = item.DivisionId;
                menu.ModifiedBy   = UserName;
                menu.ModifiedDate = DateTime.Now;
                menu.RoleId       = vm.ToRoleId;
                menu.ObjectState  = Model.ObjectState.Added;
                _rolesMenuService.Create(menu);
            }

            var RolesActions         = _rolesControllerActionService.GetRolesControllerActionList(vm.FromRoleId);
            var ExistingRolesActions = _rolesControllerActionService.GetRolesControllerActionList(vm.ToRoleId);

            var PendingRolesActionsToUpdate = from p in RolesActions
                                              join t in ExistingRolesActions on p.RolesControllerActionId equals t.RolesControllerActionId into table
                                              from left in table.DefaultIfEmpty()
                                              where left == null
                                              select p;


            foreach (var item in PendingRolesActionsToUpdate)
            {
                RolesControllerAction Actions = new RolesControllerAction();
                Actions.ControllerActionId = item.ControllerActionId;
                Actions.CreatedBy          = UserName;
                Actions.CreatedDate        = DateTime.Now;
                Actions.ModifiedBy         = UserName;
                Actions.ModifiedDate       = DateTime.Now;
                Actions.RoleId             = vm.ToRoleId;
                Actions.ObjectState        = Model.ObjectState.Added;
                _rolesControllerActionService.Create(Actions);
            }

            _unitOfWork.Save();
        }