|
@@ -211,9 +211,11 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
_machine.MeterType = string.IsNullOrEmpty(_request.meterType) ? string.Empty : _request.meterType;
|
|
|
|
|
|
db.SaveChanges();
|
|
|
+ }
|
|
|
|
|
|
|
|
|
-
|
|
|
+ using (var db = await maindbContextFactory.CreateDbContextAsync())
|
|
|
+ {
|
|
|
var configVaule = db.MachineConfigurations.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.ConfigureName == StandardConfiguration.HeartbeatInterval)
|
|
|
.Select(x => x.ConfigureSetting).FirstOrDefault();
|
|
|
|
|
@@ -234,15 +236,18 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
//只保留最新上報狀況
|
|
|
StatusNotificationRequest _request = request as StatusNotificationRequest;
|
|
|
int preStatus = 0;
|
|
|
+ ConnectorStatus _oldStatus;
|
|
|
using (var db = await maindbContextFactory.CreateDbContextAsync())
|
|
|
{
|
|
|
- var _oldStatus = db.ConnectorStatus.Where(x => x.ChargeBoxId == session.ChargeBoxId
|
|
|
- && x.ConnectorId == _request.connectorId).AsNoTracking().FirstOrDefault();
|
|
|
+ _oldStatus = await db.ConnectorStatus.Where(x => x.ChargeBoxId == session.ChargeBoxId
|
|
|
+ && x.ConnectorId == _request.connectorId).AsNoTracking().FirstOrDefaultAsync();
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- if (_oldStatus != null && (_request.status != (ChargePointStatus)_oldStatus.Status || _request.status == ChargePointStatus.Faulted))
|
|
|
+ if (_oldStatus != null && (_request.status != (ChargePointStatus)_oldStatus.Status || _request.status == ChargePointStatus.Faulted))
|
|
|
+ {
|
|
|
+ using (var db = await maindbContextFactory.CreateDbContextAsync())
|
|
|
{
|
|
|
-
|
|
|
preStatus = _oldStatus.Status;
|
|
|
|
|
|
db.ChangeTracker.AutoDetectChangesEnabled = false;
|
|
@@ -264,10 +269,13 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
db.Entry(_oldStatus).Property(x => x.VendorId).IsModified = true;
|
|
|
db.Entry(_oldStatus).Property(x => x.VendorErrorCode).IsModified = true;
|
|
|
|
|
|
-
|
|
|
+ db.SaveChanges();
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- if (_oldStatus == null)
|
|
|
+ if (_oldStatus == null)
|
|
|
+ {
|
|
|
+ using (var db = await maindbContextFactory.CreateDbContextAsync())
|
|
|
{
|
|
|
var _currentStatus = new Domain.Models.Database.ConnectorStatus()
|
|
|
{
|
|
@@ -281,12 +289,15 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
VendorErrorCode = string.IsNullOrEmpty(_request.vendorErrorCode) ? string.Empty : _request.vendorErrorCode,
|
|
|
Id = Guid.NewGuid().ToString()
|
|
|
};
|
|
|
- db.ConnectorStatus.Add(_currentStatus);
|
|
|
-
|
|
|
+ await db.ConnectorStatus.AddAsync(_currentStatus);
|
|
|
}
|
|
|
- if (_request.status == Packet.Messages.SubTypes.ChargePointStatus.Faulted)
|
|
|
+ }
|
|
|
+
|
|
|
+ if (_request.status == Packet.Messages.SubTypes.ChargePointStatus.Faulted)
|
|
|
+ {
|
|
|
+ using (var db = await maindbContextFactory.CreateDbContextAsync())
|
|
|
{
|
|
|
- db.MachineError.Add(new MachineError()
|
|
|
+ await db.MachineError.AddAsync(new MachineError()
|
|
|
{
|
|
|
ConnectorId = (byte)_request.connectorId,
|
|
|
CreatedOn = _request.timestamp.HasValue ? _request.timestamp.Value : DateTime.UtcNow,
|
|
@@ -298,11 +309,10 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
VendorErrorCode = string.IsNullOrEmpty(_request.vendorErrorCode) ? string.Empty : _request.vendorErrorCode,
|
|
|
VendorId = string.IsNullOrEmpty(_request.vendorId) ? string.Empty : _request.vendorId
|
|
|
});
|
|
|
+ await db.SaveChangesAsync();
|
|
|
}
|
|
|
- db.SaveChanges();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (_request.status == Packet.Messages.SubTypes.ChargePointStatus.Faulted)
|
|
|
{
|
|
|
//var businessService = BusinessServiceFactory.CreateBusinessService(session.CustomerId.ToString());
|