/// <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"); } }
/// <summary> /// Gets all editable datasets for the user /// </summary> /// <param name="userId">userid</param> /// <returns>list of datasets</returns> public List <DatasetDto> GetAllEditable(int userId) { List <DatasetDto> dtoList = new List <DatasetDto>(); foreach (Dataset ds in _datasetRepository.GetAllEditable(userId)) { try { dtoList.Add(DatasetMapper.ToDto(ds)); } catch { }// ignore error so other datasets can be loaded correctly } return(dtoList); }
private Dataset xorDataset = null; //cache private DatasetDto GetXorDatasetDto(DataSetFlags flags) { if (xorDataset == null) { xorDataset = new Dataset() { Data = File.ReadAllText("Resources/xor_ok.json"), Flags = flags, UserId = 0, Name = "XOR" }; } return(DatasetMapper.ToDto(xorDataset)); }
public ESDATChemistryMapperFactory(ODM2DuplicateChecker duplicateChecker, IWQDefaultValueProvider WQDefaultValueProvider, WayToHandleNewData wayToHandleNewData, List<IResult> results) { this.WQDefaultValueProvider = WQDefaultValueProvider; ActionMapper = new ChemistryActionMapper(duplicateChecker, this, WQDefaultValueProvider, wayToHandleNewData, results); ActionByMapper = new ActionByMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); AffiliationMapper = new AffiliationMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); AffiliationMapper.BackingStore = new List<Affiliation>(); DatasetMapper = new DatasetMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); DatasetMapper.BackingStore = new List<Dataset>(); DatasetsResultMapper = new DatasetsResultMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); FeatureActionMapper = new ChemistryFeatureActionMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); MeasurementResultMapper = new ChemistryMeasurementResultMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); MeasurementResultValueMapper = new ChemistryMeasurementResultValueMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); MethodMapper = new ChemistryMethodMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); MethodMapper.BackingStore = new List<Method>(); OrganizationMapper = new ChemistryOrganizationMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); OrganizationMapper.BackingStore = new List<Organization>(); PersonMapper = new PersonMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); PersonMapper.BackingStore = new List<Person>(); ProcessingLevelMapper = new ProcessingLevelMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); ProcessingLevelMapper.BackingStore = new List<ProcessingLevel>(); RelatedActionMapper = new RelatedActionMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); ResultMapper = new ChemistryResultMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); SamplingFeatureMapper = new ChemistrySamplingFeatureMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); SamplingFeatureMapper.BackingStore = new List<SamplingFeature>(); UnitMapper = new ChemistryUnitMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); UnitMapper.BackingStore = new List<Unit>(); VariableMapper = new ChemistryVariableMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); VariableMapper.BackingStore = new List<Variable>(); ResultExtensionPropertyValueMapper = new ResultExtensionPropertyValueMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); ExtensionPropertyMapper = new ExtensionPropertyMapper(duplicateChecker, WQDefaultValueProvider, wayToHandleNewData, results); ExtensionPropertyMapper.BackingStore = new List<ExtensionProperty>(); }
public void ScaffoldTest() { var esdatModel = new ESDATModel(); var mockDb = new Mock <IDbContext>(); var mockDbContext = mockDb.Object; var duplicateChecker = new ODM2DuplicateChecker(mockDbContext); var defaultValueProvider = new StaticWQDefaultValueProvider(); var wayToHandleNewData = WayToHandleNewData.ThrowExceptionForNewData; var results = new List <IResult>(); var mapper = new DatasetMapper(duplicateChecker, defaultValueProvider, wayToHandleNewData, results); var datasetsResult = new DatasetsResult(); var dataSet = mapper.Draft(esdatModel); Assert.AreEqual(defaultValueProvider.DefaultDatasetTypeCV, dataSet.DatasetTypeCV); Assert.AreEqual(esdatModel.LabRequestId.ToString(), dataSet.DatasetCode); Assert.AreEqual(String.Format("{0}: {1} ({2})", esdatModel.LabName, esdatModel.LabRequestId.ToString(), esdatModel.DateReported), dataSet.DatasetTitle); Assert.AreEqual(string.Empty, dataSet.DatasetAbstract); }
public void ScaffoldTest() { var esdatModel = new ESDATModel(); var mockDb = new Mock<IDbContext>(); var mockDbContext = mockDb.Object; var duplicateChecker = new ODM2DuplicateChecker(mockDbContext); var defaultValueProvider = new StaticWQDefaultValueProvider(); var wayToHandleNewData = WayToHandleNewData.ThrowExceptionForNewData; var results = new List<IResult>(); var mapper = new DatasetMapper(duplicateChecker, defaultValueProvider, wayToHandleNewData, results); var datasetsResult = new DatasetsResult(); var dataSet = mapper.Draft(esdatModel); Assert.AreEqual(defaultValueProvider.DefaultDatasetTypeCV, dataSet.DatasetTypeCV); Assert.AreEqual(esdatModel.LabRequestId.ToString(), dataSet.DatasetCode); Assert.AreEqual(String.Format("{0}: {1} ({2})", esdatModel.LabName, esdatModel.LabRequestId.ToString(), esdatModel.DateReported), dataSet.DatasetTitle); Assert.AreEqual(string.Empty, dataSet.DatasetAbstract); }
/// <summary> /// Checks the right for the update process and updates the dataset and /// </summary> /// <param name="datasetDto">dataset</param> /// <param name="userId">userid</param> /// <returns>the updated dataset</returns> public DatasetDto Update(DatasetDto datasetDto, int userId) { ValidateDataset(datasetDto); Dataset result = null; if (datasetDto.Id > 0) { Dataset ds = _datasetRepository.GetById(datasetDto.Id); ds.Data = datasetDto.Json; ds.Flags = datasetDto.Flags; ds.Name = datasetDto.Name; ds.Modified = DateTime.Now; if (ds.UserId != userId) { throw new Exception("No permission to update this dataset."); } _datasetRepository.DataContext.Commit(); result = ds; } else { Dataset ds = new Dataset() { Id = 0, Name = datasetDto.Name, Flags = datasetDto.Flags, Data = datasetDto.Json, UserId = userId, Created = DateTime.Now, Modified = DateTime.Now }; _datasetRepository.Add(ds); _datasetRepository.DataContext.Commit(); result = ds; } return(DatasetMapper.ToDto(result)); }
/// <summary> /// Gets a dataset by name /// </summary> /// <param name="name">name of the dataset</param> /// <returns>DatasetDto</returns> public DatasetDto GetByName(string name) { Dataset ds = _datasetRepository.GetByName(name); return(DatasetMapper.ToDto(ds)); }