Example #1
0
        public async Task <BulkImportResultDto> FinalizeImport(Guid id)
        {
            var importFile = await _importRepository.GetImportAsync(id);

            var assets = ParseImport(importFile.Data);

            var added   = 0;
            var updated = 0;

            foreach (var asset in assets)
            {
                if (asset.Id == default)
                {
                    await _assetService.CreateAssetAsync(asset);

                    added++;
                }
                else
                {
                    await _assetService.UpdateAssetAsync(asset);

                    updated++;
                }
            }

            return(new BulkImportResultDto(added, updated));
        }
        public async Task <IActionResult> Post([FromBody] CreateAssetApiDto assetApiDto)
        {
            var assetDto = _mapper.Map <AssetDto>(assetApiDto);

            Guid createdId;

            if (assetApiDto.ChangePlanId != null && assetApiDto.ChangePlanId != Guid.Empty)
            {
                var changePlanId = assetApiDto.ChangePlanId ?? Guid.Empty;
                var newData      = JsonConvert.SerializeObject(assetApiDto);
                createdId = await _changePlanService.CreateChangePlanItemAsync(changePlanId, newData);
            }
            else
            {
                createdId = await _assetService.CreateAssetAsync(assetDto);
            }

            var createdAssetDto = await _assetService.GetAssetAsync(createdId);

            var response = _mapper.Map <GetAssetApiDto>(createdAssetDto);

            return(CreatedAtAction(nameof(GetById), new { id = createdId }, response));
        }