Files
PolyTraderSharp/src/PolyTrader.Modules.CopyTrading/Persistence/ICopyTradeLogRepository.cs
T
RichardandClaude Opus 4.8 88fc982089 Phase 5.3-ClosedTrade: ClosedTrade -> Modul + ICopyTradeLogRepository
- ClosedTrade (+ ClosedTradeRow) nach src/PolyTrader.Modules.CopyTrading/Models/.
- Neues ICopyTradeLogRepository (+ Mongo-Impl) im Modul: EnsureIndexes, Exists,
  Insert, Find(predicate) auf der closed_trades-Collection.
- closed_trades-Zugriffe der Modul-Services vom App-Shim auf das Repo umgestellt:
  TraderMonitorService, PersistenceService, PolymarketWssClient, TraderAnalyticsJob.
  Shim-/DB-Usings dort entfernt.
- TraderMonitorService nutzt kein _db mehr (auch die uebrigen _db-Guards aus 3d
  entfernt, da Repos immer verfuegbar sind). Verhaltensneutral.
- frm_main (UI) + Program.cs (BsonDocument-Cleanup) bleiben auf _db.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 22:27:22 +02:00

26 lines
902 B
C#

using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using PolyTraderSharp.Models;
namespace PolyTrader.Modules.CopyTrading.Persistence
{
/// <summary>
/// Copytrading-eigener Trade-Log (Collection "closed_trades"). Enthält die kopierten,
/// geschlossenen Trades mit Copytrading-Details (SourceTraderId etc.).
/// Ergänzt später den generischen Core-Trade-Log (TradeRecord).
/// </summary>
public interface ICopyTradeLogRepository
{
void EnsureIndexes();
/// <summary>Prüft, ob für Account + TokenId bereits ein Eintrag existiert (Dedup).</summary>
bool Exists(int accountId, string tokenId);
void Insert(ClosedTrade trade);
/// <summary>Generische Abfrage (ersetzt die bisherigen LiteFind-Zugriffe).</summary>
List<ClosedTrade> Find(Expression<Func<ClosedTrade, bool>> predicate);
}
}