/// <summary>
        /// Gets a dataset by id and checks the access rights
        /// </summary>
        /// <param name="id">dataset id</param>
        /// <param name="userId">userid</param>
        /// <returns>Dataset</returns>
        public DatasetDto GetById(int id, int?userId)
        {
            Dataset dataset = _datasetRepository.GetById(id);

            if (dataset.UserId == userId || dataset.Flags.HasFlag(DataSetFlags.Public))
            {
                return(DatasetMapper.ToDto(dataset));
            }
            else
            {
                throw new Exception("Not Authorized");
            }
        }