예제 #1
0
 public async Task AddTagsToPost(int postId, string[] hashTags)
 {
     foreach (var tag in hashTags)
     {
         var hashTag = GetAll()
                       .SingleOrDefault(t => t.HashTagText.ToUpper() == tag.ToUpper());
         if (hashTag == null)
         {
             var newHashTag = new HASH_TAG
             {
                 HASH_TAG_TEXT = tag
             };
             dbContext.HashTags.Add(newHashTag);
             var link = new POST_HASH_TAG
             {
                 Ref_HashTag     = newHashTag,
                 TIRIRIT_POST_ID = postId
             };
             dbContext.PostHashTags.Add(link);
         }
         else
         {
             var link = new POST_HASH_TAG
             {
                 HASH_TAG_ID     = hashTag.HashTagId,
                 TIRIRIT_POST_ID = postId
             };
             dbContext.PostHashTags.Add(link);
         }
     }
     await dbContext.SaveChangesAsync();
 }
예제 #2
0
        public static HashTagModel ToDomainModel(this HASH_TAG value)
        {
            if (value == null)
            {
                return(null);
            }

            return(new HashTagModel
            {
                HashTagId = value.HASH_TAG_ID,
                HashTagText = value.HASH_TAG_TEXT,
                // PostId = value.TIRIRIT_POST_ID
            });
        }
예제 #3
0
        public async Task <HashTagModel> AddHashTag(string tag)
        {
            var hashTag = await GetAll()
                          .SingleOrDefaultAsync(h => h.HashTagText == tag);

            if (hashTag != null)
            {
                var newTag = new HASH_TAG
                {
                    HASH_TAG_TEXT = tag
                };
                dbContext.HashTags.Add(newTag);
                await dbContext.SaveChangesAsync();

                hashTag = await GetAll()
                          .SingleOrDefaultAsync(h => h.HashTagText == tag);
            }
            return(hashTag);
        }