public async Task<int> FlagSnippet(Guid id, string reason) { var flag = new Flag { ItemId = id, Reason = reason, UserId = new Guid(), //TODO get from base? }; return await FlagSnippet(flag); }
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; }
public Flag CreateFlag(Flag newFlag) { newFlag.Id = Guid.NewGuid(); _context.Add(newFlag); return newFlag; }