示例#1
0
        public IHttpActionResult PutdataSet(int id, DataSet change)
        {
            if (!ModelState.IsValid)
            {
                return(ApiBadRequest(null, ModelState));
            }

            if (id != change.Id)
            {
                return(ApiBadRequest());
            }

            _dataSetRepository.Update(change);
            return(ApiNoContent());
        }
示例#2
0
        public async Task <IActionResult> CreateDataSetVersion(long id, [FromBody] VersionCreateInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(JsonBadRequest("Invalid inputs."));
            }

            var dataSet = await dataSetRepository.GetByIdAsync(model.DataSetId);

            if (dataSet == null)
            {
                return(JsonNotFound($"DataSet ID {model.DataSetId} is not found."));
            }

            var aquariumDataSet = await aquariumDataSetRepository.GetByIdAsync(id);

            if (aquariumDataSet == null)
            {
                return(JsonNotFound($"AquariumDataSet ID {id} is not found."));
            }

            aquariumDataSet.LatestVersion += 1;
            aquariumDataSetRepository.Update(aquariumDataSet);

            var dataSetVersion = new DataSetVersion
            {
                AquariumDataSetId = id,
                Version           = aquariumDataSet.LatestVersion,
                DataSetId         = model.DataSetId,
            };

            aquariumDataSetVersionRepository.Add(dataSetVersion);

            dataSet.IsLocked = true;
            dataSetRepository.Update(dataSet);

            unitOfWork.Commit();
            return(JsonCreated(new VersionIndexOutputModel(dataSetVersion)));
        }