Эх сурвалжийг харах

1.紀錄Diagnostic 狀態
2. 改成非同步寫法

Jessica Tseng 1 жил өмнө
parent
commit
e4e1bcc1ab

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

@@ -8,12 +8,13 @@ using OCPPServer.Protocol;
 using System;
 using System.Data.Entity;
 using System.Linq;
+using System.Threading.Tasks;
 
 namespace EVCB_OCPP.WSServer.Message
 {
     internal partial class ProfileHandler
     {
-        internal async MessageResult ExecuteFirmwareManagementRequest(Actions action, ClientData session, IRequest request)
+        internal async Task<MessageResult> ExecuteFirmwareManagementRequest(Actions action, ClientData session, IRequest request)
         {
             MessageResult result = new MessageResult() { Success = false };
             try
@@ -75,11 +76,11 @@ namespace EVCB_OCPP.WSServer.Message
 
                                         });
 
-                                        db.SaveChanges();
+                                        await db.SaveChangesAsync();
 
                                         var clearMachine = db.Machine.Where(x => x.Id == machine.Id).FirstOrDefault();
                                         clearMachine.FW_AssignedVersion = null;
-                                        db.SaveChanges();
+                                        await db.SaveChangesAsync();
                                     }
 
                                 }
@@ -93,18 +94,10 @@ namespace EVCB_OCPP.WSServer.Message
                                     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 = db.Machine.Where(x => x.ChargeBoxId == session.ChargeBoxId).FirstOrDefault();
-                                        //    machine.FW_VersionReport = version;
-                                        //}
+                                        item.FinishedOn = DateTime.UtcNow;                                      
                                     }
 
-                                    db.SaveChanges();
+                                    await db.SaveChangesAsync();
                                 }
                             }
 
@@ -124,13 +117,13 @@ namespace EVCB_OCPP.WSServer.Message
                                 {
                                     CreatedOn = DateTime.UtcNow,
                                     ChargeBoxId = session.ChargeBoxId,
-                                    SerialNo = requestId,
-                                    RequestContent = JsonConvert.SerializeObject(_updateFWrequest, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.None }),
+                                    SerialNo = Guid.NewGuid().ToString(),
+                                    RequestContent = JsonConvert.SerializeObject(_request, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.None }),
                                     EVSE_Status = 0,
-                                    EVSE_Value = "Fw Version:" + machine.FW_AssignedVersion,
+                                    EVSE_Value = _request.status.ToString(),
                                     Status = 0,
                                     RequestType = 0,
-                                    Action = _updateFWrequest.Action.ToString()
+                                    Action = _request.Action.ToString()
 
                                 });
 
@@ -161,6 +154,7 @@ namespace EVCB_OCPP.WSServer.Message
                 logger.Fatal(string.Format("Error {0}", ex.ToString()));
                 result.Exception = ex;
             }
+
             return result;
         }
 

+ 1 - 1
EVCB_OCPP.WSServer/Properties/AssemblyInfo.cs

@@ -35,4 +35,4 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyVersion("0.1.0.0")]
 [assembly: AssemblyFileVersion("0.1.0.0")]
 
-[assembly: AssemblyInformationalVersion("0836212")]
+[assembly: AssemblyInformationalVersion("aaf1d75")]

+ 1 - 1
EVCB_OCPP.WSServer/ProtalServer.cs

@@ -811,7 +811,7 @@ namespace EVCB_OCPP.WSServer
                         break;
                     case "FirmwareManagement":
                         {
-                            var replyResult = profileHandler.ExecuteFirmwareManagementRequest(action, session, (IRequest)analysisResult.Message);
+                            var replyResult = await profileHandler.ExecuteFirmwareManagementRequest(action, session, (IRequest)analysisResult.Message);
                             if (replyResult.Success)
                             {
                                 string response = BasicMessageHandler.GenerateConfirmation(analysisResult.UUID, (IConfirmation)replyResult.Message);