using Managing.Domain.Candles;
using Managing.Domain.MoneyManagements;
using Managing.Domain.Strategies;
using Managing.Domain.Trades;
using System.ComponentModel.DataAnnotations;
using static Managing.Common.Enums;

namespace Managing.Api.Models.Responses
{
    public class TradingBot
    {
        [Required] public string Name { get; internal set; }
        [Required] public string Status { get; internal set; }
        [Required] public List<Signal> Signals { get; internal set; }
        [Required] public List<Position> Positions { get; internal set; }
        [Required] public List<Candle> Candles { get; internal set; }
        [Required] public int WinRate { get; internal set; }
        [Required] public decimal ProfitAndLoss { get; internal set; }
        [Required] public Timeframe Timeframe { get; internal set; }
        [Required] public Ticker Ticker { get; internal set; }
        [Required] public string Scenario { get; internal set; }
        [Required] public bool IsForWatchingOnly { get; internal set; }
        [Required] public BotType BotType { get; internal set; }
        [Required] public string AccountName { get; internal set; }
        [Required] public MoneyManagement MoneyManagement { get; internal set; }
    }
}