diff --git a/src/Managing.Api.Workers/Controllers/WorkerController.cs b/src/Managing.Api.Workers/Controllers/WorkerController.cs
index ca2574e..1ca4948 100644
--- a/src/Managing.Api.Workers/Controllers/WorkerController.cs
+++ b/src/Managing.Api.Workers/Controllers/WorkerController.cs
@@ -1,4 +1,4 @@
-using Managing.Application.Workers.Abstractions;
+using Managing.Application.Abstractions.Services;
using Managing.Domain.Workers;
using Microsoft.AspNetCore.Mvc;
using static Managing.Common.Enums;
@@ -29,4 +29,4 @@ public class WorkerController : ControllerBase
{
return Ok(await _workerService.ToggleWorker(workerType));
}
-}
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Abstractions/Grains/ILiveTradingBotGrain.cs b/src/Managing.Application.Abstractions/Grains/ILiveTradingBotGrain.cs
index 2599042..79b1a5d 100644
--- a/src/Managing.Application.Abstractions/Grains/ILiveTradingBotGrain.cs
+++ b/src/Managing.Application.Abstractions/Grains/ILiveTradingBotGrain.cs
@@ -1,4 +1,3 @@
-using Managing.Application.Abstractions.Models;
using Managing.Domain.Accounts;
using Managing.Domain.Bots;
using Managing.Domain.Trades;
@@ -24,7 +23,7 @@ public interface ILiveTradingBotGrain : IGrainWithGuidKey
///
/// Gets comprehensive bot data including positions, signals, and performance metrics
///
- Task GetBotDataAsync();
+ Task GetBotDataAsync();
Task CreateAsync(TradingBotConfig config, User user);
Task StartAsync();
@@ -35,7 +34,7 @@ public interface ILiveTradingBotGrain : IGrainWithGuidKey
Task GetConfiguration();
Task ClosePositionAsync(Guid positionId);
Task RestartAsync();
-
+
///
/// Deletes the bot and cleans up all associated resources
///
diff --git a/src/Managing.Application.Abstractions/IScenarioService.cs b/src/Managing.Application.Abstractions/IScenarioService.cs
deleted file mode 100644
index 0519ecb..0000000
--- a/src/Managing.Application.Abstractions/IScenarioService.cs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/Managing.Application.Abstractions/Managing.Application.Abstractions.csproj b/src/Managing.Application.Abstractions/Managing.Application.Abstractions.csproj
index 8d999ea..fbf3aa2 100644
--- a/src/Managing.Application.Abstractions/Managing.Application.Abstractions.csproj
+++ b/src/Managing.Application.Abstractions/Managing.Application.Abstractions.csproj
@@ -1,18 +1,18 @@
-
- net8.0
- enable
- enable
-
+
+ net8.0
+ enable
+ enable
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
diff --git a/src/Managing.Application.Abstractions/Services/IAgentService.cs b/src/Managing.Application.Abstractions/Services/IAgentService.cs
new file mode 100644
index 0000000..5537662
--- /dev/null
+++ b/src/Managing.Application.Abstractions/Services/IAgentService.cs
@@ -0,0 +1,5 @@
+namespace Managing.Application.Abstractions.Services;
+
+public interface IAgentService
+{
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Abstractions/IMoneyManagementService.cs b/src/Managing.Application.Abstractions/Services/IMoneyManagementService.cs
similarity index 91%
rename from src/Managing.Application.Abstractions/IMoneyManagementService.cs
rename to src/Managing.Application.Abstractions/Services/IMoneyManagementService.cs
index 5184fe5..9b9f40e 100644
--- a/src/Managing.Application.Abstractions/IMoneyManagementService.cs
+++ b/src/Managing.Application.Abstractions/Services/IMoneyManagementService.cs
@@ -1,7 +1,7 @@
using Managing.Domain.MoneyManagements;
using Managing.Domain.Users;
-namespace Managing.Application.Abstractions
+namespace Managing.Application.Abstractions.Services
{
public interface IMoneyManagementService
{
@@ -12,4 +12,4 @@ namespace Managing.Application.Abstractions
Task DeleteMoneyManagement(User user, string name);
Task DeleteMoneyManagements(User user);
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/Abstractions/IPricesService.cs b/src/Managing.Application.Abstractions/Services/IPricesService.cs
similarity index 74%
rename from src/Managing.Application.Workers/Abstractions/IPricesService.cs
rename to src/Managing.Application.Abstractions/Services/IPricesService.cs
index 5b6cae9..561ea3b 100644
--- a/src/Managing.Application.Workers/Abstractions/IPricesService.cs
+++ b/src/Managing.Application.Abstractions/Services/IPricesService.cs
@@ -1,8 +1,8 @@
using static Managing.Common.Enums;
-namespace Managing.Application.Workers.Abstractions;
+namespace Managing.Application.Abstractions.Services;
public interface IPricesService
{
Task UpdatePrice(TradingExchanges exchange, Ticker ticker, Timeframe timeframe);
-}
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/Abstractions/IWorkerService.cs b/src/Managing.Application.Abstractions/Services/IWorkerService.cs
similarity index 89%
rename from src/Managing.Application.Workers/Abstractions/IWorkerService.cs
rename to src/Managing.Application.Abstractions/Services/IWorkerService.cs
index 886a021..926335f 100644
--- a/src/Managing.Application.Workers/Abstractions/IWorkerService.cs
+++ b/src/Managing.Application.Abstractions/Services/IWorkerService.cs
@@ -1,7 +1,7 @@
using Managing.Domain.Workers;
using static Managing.Common.Enums;
-namespace Managing.Application.Workers.Abstractions;
+namespace Managing.Application.Abstractions.Services;
public interface IWorkerService
{
@@ -12,4 +12,4 @@ public interface IWorkerService
Task InsertWorker(WorkerType workerType, TimeSpan delay);
Task ToggleWorker(WorkerType workerType);
Task UpdateWorker(WorkerType workerType, int executionCount);
-}
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Tests/PositionTests.cs b/src/Managing.Application.Tests/PositionTests.cs
index bec878d..bc1a7c8 100644
--- a/src/Managing.Application.Tests/PositionTests.cs
+++ b/src/Managing.Application.Tests/PositionTests.cs
@@ -1,5 +1,5 @@
-using Managing.Application.Trading;
-using Managing.Application.Trading.Commands;
+using Managing.Application.Trading.Commands;
+using Managing.Application.Trading.Handlers;
using Managing.Domain.Trades;
using Managing.Domain.Users;
using Moq;
@@ -45,7 +45,8 @@ public class PositionTests : BaseTests
// _ = new GetAccountPositioqwnInfoListOutputDTO().DecodeOutput(hexPositions).d
//
var openTrade = await _exchangeService.GetTrade(_account, "", Ticker.GMX);
- var position = new Position(Guid.NewGuid(), "", TradeDirection.Long, Ticker.GMX, MoneyManagement, PositionInitiator.User,
+ var position = new Position(Guid.NewGuid(), "", TradeDirection.Long, Ticker.GMX, MoneyManagement,
+ PositionInitiator.User,
DateTime.UtcNow, new User())
{
Open = openTrade
diff --git a/src/Managing.Application.Workers/BaseWorker.cs b/src/Managing.Application.Workers/BaseWorker.cs
index 2d7cd3f..3279900 100644
--- a/src/Managing.Application.Workers/BaseWorker.cs
+++ b/src/Managing.Application.Workers/BaseWorker.cs
@@ -1,4 +1,4 @@
-using Managing.Application.Workers.Abstractions;
+using Managing.Application.Abstractions.Services;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
@@ -43,7 +43,8 @@ public abstract class BaseWorker : BackgroundService where T : class
}
else
{
- _logger.LogInformation($"[{_workerType}] Last run : {worker.LastRunTime} - Execution Count : {worker.ExecutionCount}");
+ _logger.LogInformation(
+ $"[{_workerType}] Last run : {worker.LastRunTime} - Execution Count : {worker.ExecutionCount}");
_executionCount = worker.ExecutionCount;
}
}
@@ -61,6 +62,7 @@ public abstract class BaseWorker : BackgroundService where T : class
_executionCount++;
await workerService.UpdateWorker(_workerType, _executionCount);
}
+
_logger.LogInformation($"[{_workerType}] Run ok. Next run at : {DateTime.UtcNow.Add(_delay)}");
await Task.Delay(_delay);
}
diff --git a/src/Managing.Application.Workers/PricesBaseWorker.cs b/src/Managing.Application.Workers/PricesBaseWorker.cs
index c6032b1..b48ff33 100644
--- a/src/Managing.Application.Workers/PricesBaseWorker.cs
+++ b/src/Managing.Application.Workers/PricesBaseWorker.cs
@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services;
-using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
@@ -64,4 +63,4 @@ public abstract class PricesBaseWorker : BaseWorker where T : class
await _pricesService.UpdatePrice(TradingExchanges.Evm, ticker, _timeframe);
}
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/PricesFifteenMinutesWorker.cs b/src/Managing.Application.Workers/PricesFifteenMinutesWorker.cs
index 8942f6e..3d645f3 100644
--- a/src/Managing.Application.Workers/PricesFifteenMinutesWorker.cs
+++ b/src/Managing.Application.Workers/PricesFifteenMinutesWorker.cs
@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services;
-using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesFifteenMinutesWorker : PricesBaseWorker
)
{
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/PricesFourHoursWorker.cs b/src/Managing.Application.Workers/PricesFourHoursWorker.cs
index bd4acc3..22f219f 100644
--- a/src/Managing.Application.Workers/PricesFourHoursWorker.cs
+++ b/src/Managing.Application.Workers/PricesFourHoursWorker.cs
@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services;
-using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesFourHoursWorker : PricesBaseWorker
)
{
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/PricesOneDayWorker.cs b/src/Managing.Application.Workers/PricesOneDayWorker.cs
index 60d2954..4e9b432 100644
--- a/src/Managing.Application.Workers/PricesOneDayWorker.cs
+++ b/src/Managing.Application.Workers/PricesOneDayWorker.cs
@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services;
-using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
@@ -22,4 +21,4 @@ public class PricesOneDayWorker : PricesBaseWorker
)
{
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/PricesOneHourWorker.cs b/src/Managing.Application.Workers/PricesOneHourWorker.cs
index 24b99e8..3e235b7 100644
--- a/src/Managing.Application.Workers/PricesOneHourWorker.cs
+++ b/src/Managing.Application.Workers/PricesOneHourWorker.cs
@@ -1,5 +1,4 @@
using Managing.Application.Abstractions.Services;
-using Managing.Application.Workers.Abstractions;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
@@ -21,4 +20,4 @@ public class PricesOneHourWorker : PricesBaseWorker
Timeframe.OneHour)
{
}
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/src/Managing.Application.Workers/PricesService.cs b/src/Managing.Application.Workers/PricesService.cs
index 13b1bbc..0959ec6 100644
--- a/src/Managing.Application.Workers/PricesService.cs
+++ b/src/Managing.Application.Workers/PricesService.cs
@@ -1,6 +1,5 @@
using Managing.Application.Abstractions.Repositories;
using Managing.Application.Abstractions.Services;
-using Managing.Application.Workers.Abstractions;
using Managing.Domain.Accounts;
using Managing.Domain.Candles;
using Microsoft.Extensions.Logging;
@@ -35,7 +34,7 @@ public class PricesService : IPricesService
{
Exchange = exchange,
};
-
+
if (account == null)
throw new Exception($"Enable to found account for exchange {exchange}");
diff --git a/src/Managing.Application.Workers/WorkerService.cs b/src/Managing.Application.Workers/WorkerService.cs
index 0d9ea54..702e277 100644
--- a/src/Managing.Application.Workers/WorkerService.cs
+++ b/src/Managing.Application.Workers/WorkerService.cs
@@ -1,5 +1,5 @@
using Managing.Application.Abstractions.Repositories;
-using Managing.Application.Workers.Abstractions;
+using Managing.Application.Abstractions.Services;
using Managing.Common;
using Managing.Domain.Workers;
diff --git a/src/Managing.Application/Agents/AgentService.cs b/src/Managing.Application/Agents/AgentService.cs
new file mode 100644
index 0000000..9833471
--- /dev/null
+++ b/src/Managing.Application/Agents/AgentService.cs
@@ -0,0 +1,7 @@
+using Managing.Application.Abstractions.Services;
+
+namespace Managing.Application.Agents;
+
+public class AgentService : IAgentService
+{
+}
\ No newline at end of file
diff --git a/src/Managing.Application/Bots/Grains/LiveTradingBotGrain.cs b/src/Managing.Application/Bots/Grains/LiveTradingBotGrain.cs
index edd11bb..f8c2ad2 100644
--- a/src/Managing.Application/Bots/Grains/LiveTradingBotGrain.cs
+++ b/src/Managing.Application/Bots/Grains/LiveTradingBotGrain.cs
@@ -1,6 +1,5 @@
using Managing.Application.Abstractions;
using Managing.Application.Abstractions.Grains;
-using Managing.Application.Abstractions.Models;
using Managing.Core;
using Managing.Domain.Accounts;
using Managing.Domain.Bots;
@@ -323,7 +322,7 @@ public class LiveTradingBotGrain : Grain, ILiveTradingBotGrain, IRemindable
}
- public Task GetBotDataAsync()
+ public Task GetBotDataAsync()
{
try
{
@@ -332,7 +331,7 @@ public class LiveTradingBotGrain : Grain, ILiveTradingBotGrain, IRemindable
throw new InvalidOperationException("Bot is not running");
}
- return Task.FromResult(new TradingBotResponse
+ return Task.FromResult(new LiveTradingBotModel
{
Identifier = _state.State.Identifier,
Name = _state.State.Name,
diff --git a/src/Managing.Application/Bots/TradingBotBase.cs b/src/Managing.Application/Bots/TradingBotBase.cs
index a2a75c7..536d3af 100644
--- a/src/Managing.Application/Bots/TradingBotBase.cs
+++ b/src/Managing.Application/Bots/TradingBotBase.cs
@@ -1,8 +1,8 @@
using Managing.Application.Abstractions;
using Managing.Application.Abstractions.Grains;
using Managing.Application.Abstractions.Services;
-using Managing.Application.Trading;
using Managing.Application.Trading.Commands;
+using Managing.Application.Trading.Handlers;
using Managing.Common;
using Managing.Core;
using Managing.Domain.Accounts;
diff --git a/src/Managing.Application/MoneyManagements/MoneyManagementService.cs b/src/Managing.Application/MoneyManagements/MoneyManagementService.cs
index ed551b6..8fb98fe 100644
--- a/src/Managing.Application/MoneyManagements/MoneyManagementService.cs
+++ b/src/Managing.Application/MoneyManagements/MoneyManagementService.cs
@@ -1,5 +1,5 @@
-using Managing.Application.Abstractions;
-using Managing.Application.Abstractions.Repositories;
+using Managing.Application.Abstractions.Repositories;
+using Managing.Application.Abstractions.Services;
using Managing.Domain.MoneyManagements;
using Managing.Domain.Users;
using Microsoft.Extensions.Logging;
@@ -47,9 +47,9 @@ public class MoneyManagementService : IMoneyManagementService
TakeProfit = request.TakeProfit,
Leverage = request.Leverage
};
-
+
await _settingsRepository.InsertMoneyManagement(lightRequest, user);
-
+
// Return the created money management with user
return new MoneyManagement
{
@@ -81,7 +81,7 @@ public class MoneyManagementService : IMoneyManagementService
};
await _settingsRepository.UpdateMoneyManagementAsync(lightRequest, user);
-
+
// Return updated money management
return new MoneyManagement
{
diff --git a/src/Managing.Application/Trading/ClosePositionCommandHandler.cs b/src/Managing.Application/Trading/Handlers/ClosePositionCommandHandler.cs
similarity index 98%
rename from src/Managing.Application/Trading/ClosePositionCommandHandler.cs
rename to src/Managing.Application/Trading/Handlers/ClosePositionCommandHandler.cs
index 4d5c1c0..39f9fa4 100644
--- a/src/Managing.Application/Trading/ClosePositionCommandHandler.cs
+++ b/src/Managing.Application/Trading/Handlers/ClosePositionCommandHandler.cs
@@ -6,7 +6,7 @@ using Managing.Domain.Trades;
using Microsoft.Extensions.Logging;
using static Managing.Common.Enums;
-namespace Managing.Application.Trading;
+namespace Managing.Application.Trading.Handlers;
public class ClosePositionCommandHandler(
IExchangeService exchangeService,
diff --git a/src/Managing.Application/Trading/GetTradeCommandHandler.cs b/src/Managing.Application/Trading/Handlers/GetTradeCommandHandler.cs
similarity index 94%
rename from src/Managing.Application/Trading/GetTradeCommandHandler.cs
rename to src/Managing.Application/Trading/Handlers/GetTradeCommandHandler.cs
index 88740fe..cf53f61 100644
--- a/src/Managing.Application/Trading/GetTradeCommandHandler.cs
+++ b/src/Managing.Application/Trading/Handlers/GetTradeCommandHandler.cs
@@ -3,7 +3,7 @@ using Managing.Application.Trading.Commands;
using Managing.Domain.Trades;
using MediatR;
-namespace Managing.Application.Trading;
+namespace Managing.Application.Trading.Handlers;
public class GetTradeCommandHandler : IRequestHandler
{
diff --git a/src/Managing.Application/Trading/GetTradesCommandHandler.cs b/src/Managing.Application/Trading/Handlers/GetTradesCommandHandler.cs
similarity index 94%
rename from src/Managing.Application/Trading/GetTradesCommandHandler.cs
rename to src/Managing.Application/Trading/Handlers/GetTradesCommandHandler.cs
index aade314..627db13 100644
--- a/src/Managing.Application/Trading/GetTradesCommandHandler.cs
+++ b/src/Managing.Application/Trading/Handlers/GetTradesCommandHandler.cs
@@ -3,7 +3,7 @@ using Managing.Application.Trading.Commands;
using Managing.Domain.Trades;
using MediatR;
-namespace Managing.Application.Trading
+namespace Managing.Application.Trading.Handlers
{
public class GetTradesCommandHandler : IRequestHandler>
{
diff --git a/src/Managing.Application/Trading/OpenPositionCommandHandler.cs b/src/Managing.Application/Trading/Handlers/OpenPositionCommandHandler.cs
similarity index 99%
rename from src/Managing.Application/Trading/OpenPositionCommandHandler.cs
rename to src/Managing.Application/Trading/Handlers/OpenPositionCommandHandler.cs
index 77cf795..a8cda12 100644
--- a/src/Managing.Application/Trading/OpenPositionCommandHandler.cs
+++ b/src/Managing.Application/Trading/Handlers/OpenPositionCommandHandler.cs
@@ -6,7 +6,7 @@ using Managing.Domain.Shared.Helpers;
using Managing.Domain.Trades;
using static Managing.Common.Enums;
-namespace Managing.Application.Trading
+namespace Managing.Application.Trading.Handlers
{
public class OpenPositionCommandHandler(
IExchangeService exchangeService,
diff --git a/src/Managing.Bootstrap/ApiBootstrap.cs b/src/Managing.Bootstrap/ApiBootstrap.cs
index 55c5d44..15efd65 100644
--- a/src/Managing.Bootstrap/ApiBootstrap.cs
+++ b/src/Managing.Bootstrap/ApiBootstrap.cs
@@ -17,9 +17,9 @@ using Managing.Application.Shared.Behaviours;
using Managing.Application.Synth;
using Managing.Application.Trading;
using Managing.Application.Trading.Commands;
+using Managing.Application.Trading.Handlers;
using Managing.Application.Users;
using Managing.Application.Workers;
-using Managing.Application.Workers.Abstractions;
using Managing.Domain.Trades;
using Managing.Infrastructure.Database.PostgreSql;
using Managing.Infrastructure.Databases;
diff --git a/src/Managing.Bootstrap/WorkersBootstrap.cs b/src/Managing.Bootstrap/WorkersBootstrap.cs
index 806602a..64f0782 100644
--- a/src/Managing.Bootstrap/WorkersBootstrap.cs
+++ b/src/Managing.Bootstrap/WorkersBootstrap.cs
@@ -11,9 +11,9 @@ using Managing.Application.Shared;
using Managing.Application.Synth;
using Managing.Application.Trading;
using Managing.Application.Trading.Commands;
+using Managing.Application.Trading.Handlers;
using Managing.Application.Users;
using Managing.Application.Workers;
-using Managing.Application.Workers.Abstractions;
using Managing.Domain.Trades;
using Managing.Infrastructure.Databases;
using Managing.Infrastructure.Databases.InfluxDb;
diff --git a/src/Managing.Application.Abstractions/Models/TradingBotResponse.cs b/src/Managing.Domain/Bots/LiveTradingBotModel.cs
similarity index 95%
rename from src/Managing.Application.Abstractions/Models/TradingBotResponse.cs
rename to src/Managing.Domain/Bots/LiveTradingBotModel.cs
index 4b9307a..31f6d35 100644
--- a/src/Managing.Application.Abstractions/Models/TradingBotResponse.cs
+++ b/src/Managing.Domain/Bots/LiveTradingBotModel.cs
@@ -1,17 +1,16 @@
-using Managing.Domain.Bots;
using Managing.Domain.Indicators;
using Managing.Domain.Trades;
using Orleans;
using static Managing.Common.Enums;
-namespace Managing.Application.Abstractions.Models;
+namespace Managing.Domain.Bots;
///
/// Response model for trading bot data.
/// Used to return comprehensive bot information via Orleans grains.
///
[GenerateSerializer]
-public class TradingBotResponse
+public class LiveTradingBotModel
{
///
/// Bot identifier
diff --git a/src/Managing.Infrastructure.Messengers/Discord/DiscordService.cs b/src/Managing.Infrastructure.Messengers/Discord/DiscordService.cs
index 3c6667f..ed95ce7 100644
--- a/src/Managing.Infrastructure.Messengers/Discord/DiscordService.cs
+++ b/src/Managing.Infrastructure.Messengers/Discord/DiscordService.cs
@@ -2,10 +2,9 @@
using Discord.Commands;
using Discord.Net;
using Discord.WebSocket;
-using Managing.Application.Abstractions;
using Managing.Application.Abstractions.Services;
-using Managing.Application.Trading;
using Managing.Application.Trading.Commands;
+using Managing.Application.Trading.Handlers;
using Managing.Common;
using Managing.Core;
using Managing.Domain.MoneyManagements;