|
@@ -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)
|