using Managing.Infrastructure.Databases.MongoDb.Attributes;
using Managing.Infrastructure.Databases.MongoDb.Configurations;
using MongoDB.Bson.Serialization.Attributes;
using static Managing.Common.Enums;

namespace Managing.Infrastructure.Databases.MongoDb.Collections
{
    [BsonCollection("Positions")]
    public class PositionDto : Document
    {
        [BsonDateTimeOptions]
        public DateTime Date { get; set; }
        public TradeDto Open { get; set; }
        public TradeDto StopLoss { get; set; }
        public TradeDto TakeProfit1 { get; set; }
        public TradeDto TakeProfit2 { get; set; }
        public decimal ProfitAndLoss { get; set; }
        public TradeDirection OriginDirection { get; set; }
        public string Identifier { get; set; }
        public PositionStatus Status { get; set; }
        public Ticker Ticker { get; set; }
        public string SignalIdentifier { get; set; }
        public string AccountName { get; set; }
        public MoneyManagementDto MoneyManagement { get; set; }
        public PositionInitiator Initiator { get; set; }
        public UserDto User { get; set; }
    }
}
