Пример #1
0
        public async Task <TDataEntity> Add(TDataEntity dataEntity)
        {
            if (dataEntity is null)
            {
                throw new ArgumentNullException(nameof(dataEntity));
            }
            if (string.IsNullOrWhiteSpace(dataEntity.Id))
            {
                dataEntity.Id = Guid.NewGuid().ToString();
            }

            var command = BuildAddCommand(dataEntity);

            using (var connection = new SqlConnection(_databaseConfiguration.ConnectionString))
            {
                var result = await connection.QuerySingleAsync <TDataEntity>(command, dataEntity);

                _cacheHandler.AddToCache(dataEntity);

                return(result);
            }
        }