123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- using EVCB_OCPP.Domain;
- using EVCB_OCPP.Packet.Features;
- using EVCB_OCPP.Packet.Messages;
- using EVCB_OCPP.Packet.Messages.LocalAuthListManagement;
- using OCPPServer.Protocol;
- using System;
- using System.Linq;
- namespace EVCB_OCPP.WSServer.Message
- {
- internal partial class ProfileHandler
- {
- internal MessageResult ExecuteLocalAuthListManagementConfirm(Actions action, ClientData session, IConfirmation confirm, string requestId)
- {
- MessageResult result = new MessageResult() { Success = true };
- switch (action)
- {
- case Actions.GetLocalListVersion:
- {
- GetLocalListVersionConfirmation _confirm = confirm as GetLocalListVersionConfirmation;
- GetLocalListVersionRequest _request = _confirm.GetRequest() as GetLocalListVersionRequest;
- using (var db = new MainDBContext())
- {
- var operation = db.MachineOperateRecord.Where(x => x.SerialNo == requestId &&
- x.ChargeBoxId == session.ChargeBoxId && x.Status == 0).FirstOrDefault();
- if (operation != null)
- {
- operation.FinishedOn = DateTime.UtcNow;
- operation.Status = 1;//電樁有回覆
- operation.EVSE_Status = 1;//OK
- operation.EVSE_Value = _confirm.listVersion.ToString();
- db.SaveChanges();
- }
- }
- }
- break;
- case Actions.SendLocalList:
- {
- SendLocalListConfirmation _confirm = confirm as SendLocalListConfirmation;
- SendLocalListRequest _request = _confirm.GetRequest() as SendLocalListRequest;
- using (var db = new MainDBContext())
- {
- var operation = db.MachineOperateRecord.Where(x => x.SerialNo == requestId &&
- x.ChargeBoxId == session.ChargeBoxId && x.Status == 0).FirstOrDefault();
- if (operation != null)
- {
- operation.FinishedOn = DateTime.UtcNow;
- operation.Status = 1;//電樁有回覆
- operation.EVSE_Status = (int)_confirm.status;//OK
- operation.EVSE_Value = _confirm.status.ToString();
- db.SaveChanges();
- }
- }
- }
- break;
- default:
- {
- Console.WriteLine(string.Format("Not Implement {0} Logic", confirm.GetType().ToString().Replace("OCPPPackage.Messages.RemoteTrigger.", "")));
- }
- break;
- }
- return result;
- }
- internal MessageResult ReceivedLocalAuthListManagementError(Actions action, string errorMsg, ClientData session, string requestId)
- {
- MessageResult result = new MessageResult() { Success = true };
- switch (action)
- {
- case Actions.SendLocalList:
- case Actions.GetLocalListVersion:
- {
- using (var db = new MainDBContext())
- {
- var operation = db.MachineOperateRecord.Where(x => x.SerialNo == requestId &&
- x.ChargeBoxId == session.ChargeBoxId && x.Status == 0).FirstOrDefault();
- if (operation != null)
- {
- operation.FinishedOn = DateTime.UtcNow;
- operation.Status = 1;//電樁有回覆
- operation.EVSE_Status = (int)255;//錯誤
- operation.EVSE_Value = errorMsg;
- db.SaveChanges();
- }
- }
- }
- break;
- default:
- {
- Console.WriteLine(string.Format("Not Implement {0} Logic", action));
- }
- break;
- }
- return result;
- }
- }
- }
|