CoreProfile.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. actions.Add(Actions.BootNotification.ToString());
  30. actions.Add(Actions.GetConfiguration.ToString());
  31. actions.Add(Actions.Heartbeat.ToString());
  32. actions.Add(Actions.StartTransaction.ToString());
  33. actions.Add(Actions.ChangeConfiguration.ToString());
  34. actions.Add(Actions.StatusNotification.ToString());
  35. actions.Add(Actions.Authorize.ToString());
  36. actions.Add(Actions.StopTransaction.ToString());
  37. actions.Add(Actions.MeterValues.ToString());
  38. actions.Add(Actions.RemoteStartTransaction.ToString());
  39. actions.Add(Actions.RemoteStopTransaction.ToString());
  40. actions.Add(Actions.ChangeAvailability.ToString());
  41. actions.Add(Actions.ClearCache.ToString());
  42. actions.Add(Actions.DataTransfer.ToString());
  43. actions.Add(Actions.Reset.ToString());
  44. actions.Add(Actions.UnlockConnector.ToString());
  45. }
  46. public string GetActionFromConfirmation(Type seekType)
  47. {
  48. return features.Where(x => x.GetConfirmationType() == seekType).FirstOrDefault().GetAction();
  49. }
  50. public string GetActionFromRequest(Type seekType)
  51. {
  52. return GetFeaturebyType(seekType).GetAction();
  53. }
  54. }
  55. }