예제 #1
0
        public async Task <TagViewModel> AddOrUpdateTagAsync(TagViewModel tag)
        {
            Tag newOrUpdatedTag = tag.ToTag();

            if (tag.TagId > 0)
            {
                Tag dbTag = await _context.Tags.FirstOrDefaultAsync(t => t.TagId == tag.TagId);

                if (dbTag != null)
                {
                    _context.Entry(dbTag).CurrentValues.SetValues(newOrUpdatedTag);
                    _context.Entry(dbTag).State = EntityState.Modified;
                }
            }
            else
            {
                _context.Tags.Add(newOrUpdatedTag);
            }
            return(tag);
        }