using EVCB_OCPP.Packet.Features; using EVCB_OCPP.Packet.Messages.Core; using Microsoft.Extensions.Logging; using static System.Runtime.InteropServices.JavaScript.JSType; using System.ServiceModel.Channels; using EVCB_OCPP.WSServer.Service.DbService; using Azure; using EVCB_OCPP.WSServer.Message; namespace EVCB_OCPP.WSServer.Service; public class ServerMessageService { public ServerMessageService( IMainDbService mainDbService , ILogger<ServerMessageService> logger) { this.mainDbService = mainDbService; this.logger = logger; } private readonly IMainDbService mainDbService; private readonly ILogger<ServerMessageService> logger; internal Task<string> SendGetEVSEConfigureRequest(string chargeBoxId) { if (string.IsNullOrEmpty(chargeBoxId)) return null; return mainDbService.AddServerMessage( ChargeBoxId: chargeBoxId, OutAction: Actions.GetConfiguration.ToString(), OutRequest: new GetConfigurationRequest() { key = new List<string>() } ); } internal Task<string> SendChangeConfigurationRequest(string chargeBoxId, string key, string value) { return mainDbService.AddServerMessage( ChargeBoxId: chargeBoxId, OutAction: Actions.ChangeConfiguration.ToString(), OutRequest: new ChangeConfigurationRequest() { key = key, value = value }); } internal Task<string> SendDataTransferRequest(string chargeBoxId, string messageId, string vendorId, string data) { return mainDbService.AddServerMessage( ChargeBoxId: chargeBoxId, OutAction: Actions.DataTransfer.ToString(), OutRequest: new DataTransferRequest() { messageId = messageId, vendorId = vendorId, data = data } ); } }