/// <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"); } }