Exemplo n.º 1
0
        public void UpdateDelegationRoles(DelegationRolesDTO delegationRoles)
        {
            if (delegationRoles != null)
            {
                var delegableRoles = _unitOfWork.DelegationRolesRepository.AsQueryable().Where(dr => dr.RoleId == delegationRoles.RoleId)
                                     .Select(dr => dr.DelegationRoleId)
                                     .ToArray();

                if (delegableRoles != null && delegableRoles.Length != 0)
                {
                    DeleteDelegationRoles(delegationRoles.RoleId);

                    foreach (var delegationRoleId in delegationRoles.DelegationRoleIds)
                    {
                        {
                            _unitOfWork.DelegationRolesRepository.Add(new DelegationRoles {
                                RoleId = delegationRoles.RoleId, DelegationRoleId = delegationRoleId
                            });
                        }
                    }
                }
                else
                {
                    foreach (var delegationRoleId in delegationRoles.DelegationRoleIds)
                    {
                        _unitOfWork.DelegationRolesRepository.Add(new DelegationRoles {
                            RoleId = delegationRoles.RoleId, DelegationRoleId = delegationRoleId
                        });
                    }
                }
            }
            _unitOfWork.Save();
        }
Exemplo n.º 2
0
        public void SaveDelegationRoles(DelegationRolesDTO delegationRoles)
        {
            var newRoleId = _unitOfWork.RoleRepository.AsQueryable().Where(ur => (ur.Name == delegationRoles.RoleName)).Select(ur => ur.Id).ToList().LastOrDefault();

            foreach (var delegationRoleId in delegationRoles.DelegationRoleIds)
            {
                _unitOfWork.DelegationRolesRepository.Add(new DelegationRoles {
                    RoleId = newRoleId, DelegationRoleId = delegationRoleId
                });
            }

            _unitOfWork.Save();
        }