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(); }
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 }); }
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); }