public async Task <int> FlagSnippet(Flag flag) { var getSnippet = _snippetRepository.GetById(flag.ItemId); var existing = _flagRepository.GetAll().Where(f => f.ItemId == flag.ItemId && f.UserId == flag.UserId); if (existing.Count() == 0) { flag = _flagRepository.CreateFlag(flag); } var snippet = await getSnippet; snippet.Flags = _flagRepository.GetAll().Where(f => f.ItemId == flag.ItemId).Count(); var res = await _snippetRepository.Update(snippet); return(res.Flags); }