CoreProfile.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using EVCB_OCPP.Packet.Features.Core;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace EVCB_OCPP.Packet.Features
  8. {
  9. public class CoreProfile : Profile
  10. {
  11. public CoreProfile()
  12. {
  13. Name = "Core";
  14. //加入支援的Features
  15. features.Add(new BootNotificationFeature());
  16. features.Add(new GetConfigurationFeature());
  17. features.Add(new HeartbeatFeature());
  18. features.Add(new StartTransactionFeature());
  19. features.Add(new ChangeConfigurationFeature());
  20. features.Add(new StatusNotificationFeature());
  21. features.Add(new StopTransactionFeature());
  22. features.Add(new MeterValuesFeature());
  23. features.Add(new RemoteStartTransactionFeature());
  24. features.Add(new RemoteStopTransactionFeature());
  25. features.Add(new ChangeAvailabilityFeature());
  26. features.Add(new AuthorizeFeature());
  27. features.Add(new ResetFeature());
  28. features.Add(new UnlockConnectorFeature());
  29. features.Add(new ClearCacheFeature());
  30. features.Add(new DataTransferFeature());
  31. actions.Add(Actions.BootNotification.ToString());
  32. actions.Add(Actions.GetConfiguration.ToString());
  33. actions.Add(Actions.Heartbeat.ToString());
  34. actions.Add(Actions.StartTransaction.ToString());
  35. actions.Add(Actions.ChangeConfiguration.ToString());
  36. actions.Add(Actions.StatusNotification.ToString());
  37. actions.Add(Actions.Authorize.ToString());
  38. actions.Add(Actions.StopTransaction.ToString());
  39. actions.Add(Actions.MeterValues.ToString());
  40. actions.Add(Actions.RemoteStartTransaction.ToString());
  41. actions.Add(Actions.RemoteStopTransaction.ToString());
  42. actions.Add(Actions.ChangeAvailability.ToString());
  43. actions.Add(Actions.ClearCache.ToString());
  44. actions.Add(Actions.DataTransfer.ToString());
  45. actions.Add(Actions.Reset.ToString());
  46. actions.Add(Actions.UnlockConnector.ToString());
  47. }
  48. public string GetActionFromConfirmation(Type seekType)
  49. {
  50. return features.Where(x => x.GetConfirmationType() == seekType).FirstOrDefault().GetAction();
  51. }
  52. public string GetActionFromRequest(Type seekType)
  53. {
  54. return GetFeaturebyType(seekType).GetAction();
  55. }
  56. }
  57. }