public RoleDomainPermissions Put(RoleDomainPermissions request)
		{
				SetRoleLevelLists(request);
				GetRoleLevelLists(request);
			
			return request;
		}
		private static void GetRoleLevelLists(RoleDomainPermissions request)
		{
			RoleEntity roleEntity = GenericRepository.GetItemTopById<RoleEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.RolesCollection, request.RoleId);
			int[] assigned = new int[] { };
			request.Assigned.Clear();
			request.UnAssigned.Clear();
			if (roleEntity != null)
			{
				if (roleEntity.DomainPermissionIds != null)
				{
					assigned = new int[roleEntity.DomainPermissionIds.Count];
					//Set assigned roles
					for (int i = 0; i < roleEntity.DomainPermissionIds.Count; i++)
					{
						var obj = GenericRepository.GetItemTopById<DomainPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection,
							roleEntity.DomainPermissionIds[i]);
						if (obj == null)
							continue;
						request.Assigned.Add(obj.TranslateToResponse());
						assigned[i] = obj.Id;
					}
				}

				//Set unassigned roles
				var domainPermissions = GenericRepository.GetList<DomainPermissionEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.DomainPermissionsCollection);
				for (int i = 0; i < domainPermissions.Count; i++)
				{
					if (roleEntity.DomainPermissionIds == null || !assigned.Contains(domainPermissions[i].Id))
					{
						request.UnAssigned.Add(domainPermissions[i].TranslateToResponse());
					}
				}
			}
		}
		private static void SetRoleLevelLists(RoleDomainPermissions request)
		{
			RoleEntity entity = GenericRepository.GetItemTopById<RoleEntity>(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.RolesCollection, request.RoleId);
			int[] assigned;

			if (entity != null)
			{
				assigned = new int[request.Assigned.Count];

				for (int i = 0; i < request.Assigned.Count; i++)
				{
					var obj = request.Assigned[i];
					assigned[i] = obj.Id;
				}
				entity.DomainPermissionIds = assigned.ToList();
				GenericRepository.Add(ConfigSettings.MongoAuthAdminDatabaseName, GenericRepository.RolesCollection, entity);
			}
		}