Ver Fonte

add DiagnosticsStatusNotification request handle

Robert há 1 ano atrás
pai
commit
e683c5c2d2

+ 17 - 0
EVCB_OCPP.WSServer/Message/FirmwareManagementProfileHandler.cs

@@ -114,6 +114,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 = await db.MachineOperateRecords.Where(x => x.ChargeBoxId == session.ChargeBoxId && x.Action == "GetDiagnostics" && x.RequestType == 1)
+                                        .OrderByDescending(x => x.CreatedOn).FirstOrDefaultAsync();
+                                    if (item != null)
+                                    {
+                                        item.EvseStatus = (int)_request.status;
+                                        item.FinishedOn = DateTime.UtcNow;
+                                    }
+
+                                    await db.SaveChangesAsync();
+                                }
+
+                            }
+
                             var confirm = new DiagnosticsStatusNotificationConfirmation() { };
 
                             result.Message = confirm;