コード例 #1
0
        public void Add <T>([NotNull] T entity, [NotNull] string tagName)
            where T : class, IEntity
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            using (var transaction = _unitOfWork.BeginTransaction())
            {
                Tags tag;

                try
                {
                    tag = _tagProvider.Get(tagName);
                }
                catch (TagDoesNotExistsException)
                {
                    tag = _tagProvider.Add(tagName);
                }

                _tagEntityProvider.Add(entity, tag);

                transaction.Commit();
            }
        }