Example #1
0
        /// <summary>
        /// Create dataset
        /// </summary>
        /// <param name="datasetCreation"></param>
        /// <returns>Created dataset id</returns>
        public async Task <int> CreateAsync(DatasetCreation datasetCreation)
        {
            var userId = await GetUserIdAsync();

            var entity = _mapper.MapCreation(datasetCreation);

            await InvokeGuard(() => _guard.AgainstInvalidDatasetCreationAsync(userId, datasetCreation));

            await _repository.AddDatasetAsync(userId, entity);

            await _unitOfWork.SaveChangesAsync();

            return(entity.Id);
        }
Example #2
0
        public async Task <ActionResult <int> > CreateAsync([FromBody] DatasetCreation datasetCreation)
        {
            int datasetId;

            try
            {
                datasetId = await _datasetService.CreateAsync(datasetCreation);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok(datasetId));
        }
Example #3
0
        public async Task <ValidationResult> AgainstInvalidDatasetCreationAsync(int?userId, DatasetCreation dataset)
        {
            var result = new ValidationResult();

            if (userId.HasValue)
            {
                await _userValidator.UserExistsAsync(userId.Value, result);
            }

            if (dataset.Private.HasValue && dataset.Private.Value)
            {
                _datasetValidator.DatasetCanBePrivate(userId, result);
            }

            if (dataset.CategoryId.HasValue)
            {
                await _categoryValidator.CategoryExistsAsync(dataset.CategoryId.Value, result);
            }

            if (dataset.Series != null && dataset.Series.Any())
            {
                foreach (var series in dataset.Series)
                {
                    if (!string.IsNullOrWhiteSpace(series.Color))
                    {
                        _seriesValidator.SeriesHasValidColor(series.Label, series.Color, result);
                    }

                    _seriesValidator.SeriesHasValidTypeId(series.Label, series.Type, result);
                }

                _datasetValidator.DatasetSeriesHaveValidOrder(dataset.Series.Select(x => new OrderIdentifier {
                    Id = null, Order = x.Order
                }), result);
            }

            return(result);
        }
Example #4
0
 public DatasetEntity MapCreation(DatasetCreation datasetCreation)
 {
     return(_autoMapper.Map <DatasetEntity>(datasetCreation));
 }