- 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>
26 lines
902 B
C#
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);
|
|
}
|
|
}
|