public async void UnassignStartupTag(int startupId, int tagId)
        {
            StartupTag startupTag = await _context.StartupTags.FindAsync(startupId, tagId);

            if (startupTag != null)
            {
                Remove(startupTag);
            }
        }
        public async Task AssignStartupTag(int startupId, int tagId)
        {
            StartupTag startupTag = await FindByStartupIdAndTagId(startupId, tagId);

            if (startupTag == null)
            {
                startupTag = new StartupTag {
                    StartupId = startupId, TagId = tagId
                };
                await AddAsync(startupTag);
            }
        }
        public async Task <StartupTagResponse> UnassignStartupTagAsync(int startupId, int tagId)
        {
            try
            {
                StartupTag startupTag = await startupTagRepository.FindByStartupIdAndTagId(startupId, tagId);

                startupTagRepository.UnassignStartupTag(startupId, tagId);
                await unitOfWork.CompleteAsync();

                return(new StartupTagResponse(startupTag));
            }
            catch (Exception ex)
            {
                return(new StartupTagResponse($"An error ocurred while unassigning Tag to Startup: {ex.Message}"));
            }
        }
 public void Remove(StartupTag startupTag)
 {
     _context.StartupTags.Remove(startupTag);
 }
 public async Task AddAsync(StartupTag startupTag)
 {
     await _context.StartupTags.AddAsync(startupTag);
 }