Browse Source

1.資料庫異動
2.新增OCMF

Jessica Tseng 2 years ago
parent
commit
d6fe7ae82d

BIN
EVCB_OCPP.WSServer/DLL/EVCB_OCPP.Domain.dll


+ 1 - 1
EVCB_OCPP.WSServer/EVCB_OCPP.WSServer.csproj

@@ -12,6 +12,7 @@
     <FileAlignment>512</FileAlignment>
     <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
     <Deterministic>true</Deterministic>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
     <PublishUrl>publish\</PublishUrl>
     <Install>true</Install>
     <InstallFrom>Disk</InstallFrom>
@@ -24,7 +25,6 @@
     <MapFileExtensions>true</MapFileExtensions>
     <ApplicationRevision>0</ApplicationRevision>
     <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>

+ 25 - 5
EVCB_OCPP.WSServer/Message/CoreProfileHandler.cs

@@ -144,6 +144,28 @@ namespace EVCB_OCPP.WSServer.Message
                                     confirm.status = DataTransferStatus.Accepted;
                                 }
                             }
+                            if (_request.messageId == "ID_OCMF")
+                            {
+                                JObject jo = JObject.Parse(_request.data);
+
+                                logger.Debug(string.Format("{0}\r\n{1}\r\n{2}", jo["txId"].Value<int>(), jo["dataString"].Value<string>(), jo["publicKey"].Value<string>()));
+
+                                using (var db = new MainDBContext())
+                                {
+                                    db.OCMF.Add(new OCMF()
+                                    {
+                                        TransactionId = jo["txId"].Value<int>(),
+                                        DataString = jo["dataString"].Value<string>(),
+                                        PublicKey = jo["publicKey"].Value<string>()
+                                    });
+
+                                    await db.SaveChangesAsync();
+                                }
+
+
+                                confirm.status = DataTransferStatus.Accepted;
+                                confirm.data = JsonConvert.SerializeObject(new { txId = jo["txId"].Value<int>(), msgId = _request.messageId });
+                            }
                             result.Message = confirm;
                             result.Success = true;
                         }
@@ -291,7 +313,7 @@ namespace EVCB_OCPP.WSServer.Message
                     case Actions.MeterValues:
                         {
 
-                            MeterValuesRequest _request = request as MeterValuesRequest;                          
+                            MeterValuesRequest _request = request as MeterValuesRequest;
 
                             if (_request.meterValue.Count > 0)
                             {
@@ -304,7 +326,7 @@ namespace EVCB_OCPP.WSServer.Message
                                         if (_request.transactionId.HasValue)
                                         {
                                             decimal meterStart = 0;
-                                            var energy_Register = item.sampledValue.Where(x =>  x.measurand == Measurand.Energy_Active_Import_Register).FirstOrDefault();
+                                            var energy_Register = item.sampledValue.Where(x => x.measurand == Measurand.Energy_Active_Import_Register).FirstOrDefault();
 
                                             if (energy_Register != null)
                                             {
@@ -317,8 +339,6 @@ namespace EVCB_OCPP.WSServer.Message
                                                     meterStart = maindb.TransactionRecord.Where(x => x.Id == _request.transactionId.Value).Select(x => x.MeterStart).FirstOrDefault();
                                                 }
 
-                                                logger.Debug(string.Format("TxId:{0} MeterStart:{1} Register:{2} => {3}", _request.transactionId.Value, meterStart, energyRegister, decimal.Subtract(energyRegister, meterStart)));
-
                                                 item.sampledValue.Add(new SampledValue()
                                                 {
                                                     context = ReadingContext.Sample_Periodic,
@@ -717,7 +737,7 @@ namespace EVCB_OCPP.WSServer.Message
                                 var authorization_result = await businessService.Authorize(session.ChargeBoxId, _request.idTag);
                                 confirm.idTagInfo = authorization_result.IdTagInfo;
 
-                                if (confirm.idTagInfo.status== AuthorizationStatus.Accepted && authorization_result.ChargePointFee != null)
+                                if (confirm.idTagInfo.status == AuthorizationStatus.Accepted && authorization_result.ChargePointFee != null)
                                 {
                                     var price = authorization_result.ChargePointFee.Where(x => x.IsAC == session.IsAC).First();
                                     if (price != null)

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

@@ -35,4 +35,4 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyVersion("1.0.6.0")]
 [assembly: AssemblyFileVersion("1.0.6.0")]
 
-[assembly: AssemblyInformationalVersion("1f1d0f0")]
+[assembly: AssemblyInformationalVersion("6c4fbb3")]