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