|
@@ -84,20 +84,12 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
{
|
|
|
using (var db = await maindbContextFactory.CreateDbContextAsync())
|
|
|
{
|
|
|
- var item = await db.MachineOperateRecord.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.RequestType == 0)
|
|
|
+ var item = await db.MachineOperateRecord.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.Action == "UpdateFirmware" && x.RequestType == 0)
|
|
|
.OrderByDescending(x => x.CreatedOn).FirstOrDefaultAsync();
|
|
|
if (item != null)
|
|
|
{
|
|
|
item.EVSE_Status = (int)_request.status;
|
|
|
item.FinishedOn = DateTime.UtcNow;
|
|
|
-
|
|
|
- //if (!string.IsNullOrEmpty(item.EVSE_Value) && _request.status == Packet.Messages.SubTypes.FirmwareStatus.Installed)
|
|
|
- //{
|
|
|
- // int version = 0;
|
|
|
- // int.TryParse(item.EVSE_Value.Split(':').Last(), out version);
|
|
|
- // var machine = await db.Machine.Where(x => x.ChargeBoxId == session.ChargeBoxId).FirstOrDefaultAsync();
|
|
|
- // machine.FW_VersionReport = version;
|
|
|
- //}
|
|
|
}
|
|
|
|
|
|
await db.SaveChangesAsync();
|
|
@@ -114,6 +106,23 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
{
|
|
|
DiagnosticsStatusNotificationRequest _request = request as DiagnosticsStatusNotificationRequest;
|
|
|
|
|
|
+ if (_request.status != Packet.Messages.SubTypes.DiagnosticsStatus.Idle)
|
|
|
+ {
|
|
|
+ using (var db = new MainDBContext())
|
|
|
+ {
|
|
|
+ var item = db.MachineOperateRecord.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.Action == "GetDiagnostics" && x.RequestType == 1)
|
|
|
+ .OrderByDescending(x => x.CreatedOn).FirstOrDefault();
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ item.EVSE_Status = (int)_request.status;
|
|
|
+ item.FinishedOn = DateTime.UtcNow;
|
|
|
+ }
|
|
|
+
|
|
|
+ await db.SaveChangesAsync();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
var confirm = new DiagnosticsStatusNotificationConfirmation() { };
|
|
|
|
|
|
result.Message = confirm;
|
|
@@ -163,7 +172,6 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
{
|
|
|
operation.FinishedOn = DateTime.UtcNow;
|
|
|
operation.Status = 1;//電樁有回覆
|
|
|
- operation.EVSE_Status = (int)1;//OK
|
|
|
operation.EVSE_Value = string.IsNullOrEmpty(evse_rep) ? operation.EVSE_Value : evse_rep;
|
|
|
await db.SaveChangesAsync();
|
|
|
}
|