// Add tags in a graph to the database
        public async Task AddTags(Graph g, String keywords, Dataset dataset)
        {
            String[]           keywordsList = keywords.Split(",");
            IEnumerable <Tags> existingTags = await _tagsRepository.ListAsync();

            foreach (String keyword in keywordsList)
            {
                Tags existingTag = null;
                foreach (Tags tag in existingTags)
                {
                    if (tag.Name.ToLower().Equals(keyword.ToLower()))
                    {
                        existingTag = tag;
                        break;
                    }
                }
                if (existingTag != null)
                {
                    DatasetTags datasetTag = new DatasetTags {
                        Dataset = dataset, Tags = existingTag
                    };
                    dataset.DatasetTags.Add(datasetTag);
                }
                else
                {
                    Tags tag = new Tags {
                        Name = keyword
                    };
                    await _tagsRepository.AddAsync(tag);

                    await _unitOfWork.CompleteAsync();

                    DatasetTags datasetTag = new DatasetTags {
                        Dataset = dataset, Tags = tag
                    };
                    dataset.DatasetTags.Add(datasetTag);
                    await _unitOfWork.CompleteAsync();
                }
            }
        }
Esempio n. 2
0
 public async Task <IEnumerable <Tags> > ListAsync()
 {
     return(await _tagsRepository.ListAsync());
 }