public async Task <CreateOrEditAssetPartDto> CreateOrEdit(CreateOrEditAssetPartDto input)
 {
     if (input.Id == null)
     {
         input.Id = await Create(input);
     }
     else
     {
         await Update(input);
     }
     return(ObjectMapper.Map <CreateOrEditAssetPartDto>(input));
 }
        protected virtual async Task <int> Create(CreateOrEditAssetPartDto input)
        {
            var assetPart = ObjectMapper.Map <AssetPart>(input);

            if (AbpSession.TenantId != null)
            {
                assetPart.TenantId = (int?)AbpSession.TenantId;
            }

            await _assetPartRepository.InsertAsync(assetPart);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(assetPart.Id);
        }
        protected virtual async Task Update(CreateOrEditAssetPartDto input)
        {
            var assetPart = await _assetPartRepository.FirstOrDefaultAsync((int)input.Id);

            ObjectMapper.Map(input, assetPart);
        }