|
@@ -6,6 +6,7 @@ using Microsoft.Data.SqlClient;
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
using Microsoft.Extensions.Caching.Memory;
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
+using Microsoft.Extensions.Hosting;
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
using Newtonsoft.Json;
|
|
|
using OCPPPackage.Profiles;
|
|
@@ -37,6 +38,7 @@ public interface IMainDbService
|
|
|
Task<TransactionRecord> GetTransactionForStopTransaction(int transactionId, string chargeBoxId);
|
|
|
Task UpdateTransaction(int transactionId, int meterStop, DateTime stopTime, int stopReasonId, string stopReason, string stopIdTag, string receipt, int cost);
|
|
|
Task<bool> UpdateHeartBeats(IEnumerable<Machine> heartBeatsData);
|
|
|
+ Task UpdateTransactionSOC(int id, string v1, string v2);
|
|
|
}
|
|
|
|
|
|
public class MainDbService : IMainDbService
|
|
@@ -297,6 +299,26 @@ public class MainDbService : IMainDbService
|
|
|
return UpdateTransactionDapper(transactionId, meterStop, stopTime, stopReasonId, stopReason, stopIdTag, receipt, cost);
|
|
|
}
|
|
|
|
|
|
+ public async Task UpdateTransactionSOC(int id, string startSOC, string stopSOC)
|
|
|
+ {
|
|
|
+ var parameters = new DynamicParameters();
|
|
|
+ parameters.Add("@TransactionId", id, DbType.Int32, ParameterDirection.Input);
|
|
|
+ parameters.Add("@StartSOC", startSOC, DbType.String, ParameterDirection.Input, 3);
|
|
|
+ parameters.Add("@StopSOC", stopSOC, DbType.String, ParameterDirection.Input, 3);
|
|
|
+
|
|
|
+ using var conn = await sqlConnectionFactory.CreateAsync();
|
|
|
+ var resultCnt = await conn.ExecuteAsync("""
|
|
|
+ UPDATE TransactionRecord
|
|
|
+ SET StartSOC = @StartSOC, StopSOC = @StopSOC
|
|
|
+ WHERE Id = @TransactionId
|
|
|
+ """, parameters);
|
|
|
+ if (resultCnt != 1)
|
|
|
+ {
|
|
|
+ throw new Exception("Update over one columes");
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
private async Task UpdateTransactionEF(int transactionId, int meterStop, DateTime stopTime, int stopReasonId, string stopReason, string stopIdTag, string receipt, int cost)
|
|
|
{
|
|
|
using var db = await contextFactory.CreateDbContextAsync();
|
|
@@ -758,7 +780,7 @@ public class MainDbService : IMainDbService
|
|
|
|
|
|
using var conn = await sqlConnectionFactory.CreateAsync();
|
|
|
var record = await conn.QuerySingleAsync<TransactionRecord>("""
|
|
|
- SELECT ConnectorId, MeterStop, MeterStart, StopTime FROM TransactionRecord
|
|
|
+ SELECT Id, ConnectorId, MeterStop, MeterStart, StartTime, StopTime FROM TransactionRecord
|
|
|
WHERE Id = @TransactionId and ChargeBoxId = @ChargeBoxId
|
|
|
""", parameters);
|
|
|
return record;
|