Pārlūkot izejas kodu

2019/07/30 Jessica 7972
Actions:
1. CoreProfile 補上 ClearCache
2. 調整資料庫內容

Modified Files:
1.~\EVCB_OCPP.Domain
2.~\EVCB_OCPP.Packet

Jessica.Tseng 5 gadi atpakaļ
vecāks
revīzija
a0ad6fba1d
40 mainītis faili ar 1701 papildinājumiem un 36 dzēšanām
  1. 0 6
      EVCB_OCPP.Common.sln
  2. 29 0
      EVCB_OCPP.Domain/ConnectionLogContextMigrations/201907310241245_Add_ChargeBoxId.Designer.cs
  3. 20 0
      EVCB_OCPP.Domain/ConnectionLogContextMigrations/201907310241245_Add_ChargeBoxId.cs
  4. 126 0
      EVCB_OCPP.Domain/ConnectionLogContextMigrations/201907310241245_Add_ChargeBoxId.resx
  5. 63 0
      EVCB_OCPP.Domain/EVCB_OCPP.Domain.csproj
  6. 29 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201907310322180_Add_ChargeBoxId.Designer.cs
  7. 58 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201907310322180_Add_ChargeBoxId.cs
  8. 120 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201907310322180_Add_ChargeBoxId.resx
  9. 29 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201907310323370_Add_ChargeBoxId1.Designer.cs
  10. 18 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201907310323370_Add_ChargeBoxId1.cs
  11. 120 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201907310323370_Add_ChargeBoxId1.resx
  12. 29 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908010827563_Add_MachineOperateRecord_RequestContent_Length.Designer.cs
  13. 18 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908010827563_Add_MachineOperateRecord_RequestContent_Length.cs
  14. 120 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908010827563_Add_MachineOperateRecord_RequestContent_Length.resx
  15. 29 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020344588_Modified-ServerMessage-InMessageLength.Designer.cs
  16. 18 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020344588_Modified-ServerMessage-InMessageLength.cs
  17. 120 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020344588_Modified-ServerMessage-InMessageLength.resx
  18. 29 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020516275_Modified-ServerMessage-InMessageLengthMAX.Designer.cs
  19. 18 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020516275_Modified-ServerMessage-InMessageLengthMAX.cs
  20. 120 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020516275_Modified-ServerMessage-InMessageLengthMAX.resx
  21. 29 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.Designer.cs
  22. 18 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.cs
  23. 120 0
      EVCB_OCPP.Domain/MainDBContextMigrations/201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.resx
  24. 29 0
      EVCB_OCPP.Domain/MeterValueDBContextMigrations/201907310241379_Add_ChargeBoxId.Designer.cs
  25. 20 0
      EVCB_OCPP.Domain/MeterValueDBContextMigrations/201907310241379_Add_ChargeBoxId.cs
  26. 126 0
      EVCB_OCPP.Domain/MeterValueDBContextMigrations/201907310241379_Add_ChargeBoxId.resx
  27. 29 0
      EVCB_OCPP.Domain/MeterValueDBContextMigrations/201908010559159_Add_TransactionId.Designer.cs
  28. 18 0
      EVCB_OCPP.Domain/MeterValueDBContextMigrations/201908010559159_Add_TransactionId.cs
  29. 126 0
      EVCB_OCPP.Domain/MeterValueDBContextMigrations/201908010559159_Add_TransactionId.resx
  30. 9 2
      EVCB_OCPP.Domain/Models/Database/ConnectorMeterValueRecord.cs
  31. 10 2
      EVCB_OCPP.Domain/Models/Database/ConnectorStatus.cs
  32. 20 3
      EVCB_OCPP.Domain/Models/Database/Machine.cs
  33. 2 2
      EVCB_OCPP.Domain/Models/Database/MachineConfigure.cs
  34. 3 3
      EVCB_OCPP.Domain/Models/Database/MachineConnectionLog.cs
  35. 3 3
      EVCB_OCPP.Domain/Models/Database/MachineError.cs
  36. 5 6
      EVCB_OCPP.Domain/Models/Database/MachineOperateRecord.cs
  37. 3 4
      EVCB_OCPP.Domain/Models/Database/ServerMessage.cs
  38. 2 1
      EVCB_OCPP.Domain/Models/Database/TransactionDataRecord.cs
  39. 15 4
      EVCB_OCPP.Domain/Models/Database/TransactionRecord.cs
  40. 1 0
      EVCB_OCPP.Packet/Features/CoreProfile.cs

+ 0 - 6
EVCB_OCPP.Common.sln

@@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EVCB_OCPP.Domain", "EVCB_OC
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EVCB_OCPP.Packet", "EVCB_OCPP.Packet\EVCB_OCPP.Packet.csproj", "{D458D1A1-3957-48D0-95BC-505D04EF7D69}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1\ConsoleApp1.csproj", "{246CE947-2BC8-4490-ABB8-C6BF3967EF3A}"
-EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -23,10 +21,6 @@ Global
 		{D458D1A1-3957-48D0-95BC-505D04EF7D69}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{D458D1A1-3957-48D0-95BC-505D04EF7D69}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{D458D1A1-3957-48D0-95BC-505D04EF7D69}.Release|Any CPU.Build.0 = Release|Any CPU
-		{246CE947-2BC8-4490-ABB8-C6BF3967EF3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{246CE947-2BC8-4490-ABB8-C6BF3967EF3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{246CE947-2BC8-4490-ABB8-C6BF3967EF3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{246CE947-2BC8-4490-ABB8-C6BF3967EF3A}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 29 - 0
EVCB_OCPP.Domain/ConnectionLogContextMigrations/201907310241245_Add_ChargeBoxId.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.ConnectionLogContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class Add_ChargeBoxId : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(Add_ChargeBoxId));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201907310241245_Add_ChargeBoxId"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 20 - 0
EVCB_OCPP.Domain/ConnectionLogContextMigrations/201907310241245_Add_ChargeBoxId.cs

@@ -0,0 +1,20 @@
+namespace EVCB_OCPP.Domain.ConnectionLogContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class Add_ChargeBoxId : DbMigration
+    {
+        public override void Up()
+        {
+            AddColumn("dbo.MachineConnectionLog", "ChargeBoxId", c => c.String(maxLength: 128));
+            DropColumn("dbo.MachineConnectionLog", "ChargePointSerialNumber");
+        }
+        
+        public override void Down()
+        {
+            AddColumn("dbo.MachineConnectionLog", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            DropColumn("dbo.MachineConnectionLog", "ChargeBoxId");
+        }
+    }
+}

+ 126 - 0
EVCB_OCPP.Domain/ConnectionLogContextMigrations/201907310241245_Add_ChargeBoxId.resx

@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Target" xml:space="preserve">
+    <value>H4sIAAAAAAAEAM1Y227jNhB9L9B/EPScNR2nXWwDeReJnBRB49hYZfNa0NJYIUqRKkkF9rftQz+pv9Chdb/EsQO3KPxikZwzF84cHfvv7395XzYJd15AaSbF1D0fjV0HRCgjJuKpm5n1h0/ul88//uDdRMnGeSrPXdhzaCn01H02Jr0kRIfPkFA9SliopJZrMwplQmgkyWQ8/oWcnxNACBexHMf7mgnDEtg94KMvRQipySifywi4LtZxJ9ihOg80AZ3SEKbuzZN//fvCXy5HM5lQJlznijOKcQTA165DhZCGGozy8puGwCgp4iDFBcoftynguTXlGoroL+vjhyYynthESG1YQoWZNhjRcYDnF0VlSNf8XfV1q8ph7W6wxmZrs97Vb+rOafjMBGC1BYTWx72MXafr+NLnyhr1Sz3Kb2c0o4auqIbREOCZ0zU7q/oG28t+zhw/4yZTMBWQGUX5mbPMVpyFv8H2Uf4BYioyzpu5YDa411rApaWSKSiz/QrrIsO7yHVI2450DSuzhk2e750wH39ynQd0TlccqlZp1CYwUsGvIEBRA9GSGgNKWAzYFbvnvePLf6Yqhmu5qZ1ii+Ksuc6cbu5BxOYZp3DyyXVu2QaicqUI5JtgOJpoZFQGb/mag9Y0Butlj6+fxydwZRtij4+Lj+NTeJnreI+TyUl8+ArsxS5E6QlTg0ekqoG2aCJ5pJ62/gzigBgcBFCll+bAzK7tNmzMwCgihRXTqIv429Hn8AGYvRNeh5az5ODcDudTRV5TMsk5ueRu8gp5e3OapnhJDTIvVpwgZ3L/Q3A8ySU5Bgn1ANdV0VaecFxxBjq79gIiuGVKm5LKXMePkoFjg/f0yh2UTvdcRZfB6pspje33HKDPvgcg1lW+xcQTZKVdDaAK8rDAdkBBSDlVA2zpS54l4jXG3Wfd4r8mTGvjcLwWxzXxWhuH4+VE1gTKV46IyJJUKxIdH1WhmoBa9amX+1ge6dx5t81Ir88678huD+9jgu6RynvFCJ3J94opfFvb9cYyP+I6WKQXFtmRDLbaQLKTIKPgT+5zhvnWB+ZUsDVok8sIfCmcTzoC8f8j1ojWEX+HYvvPddGKxcwW+U3xs/cVeZAaEi9Uhbjc10M19jvFzyC0lT/HITe1ziBkrnaODLeWNoOYk+Mhe0omwkdzeiXTfZH+iwIlZwPMZCUxqTyDk0qZPlF5pPlT1ZuBZnEN4dVua9DyzJ1Yy/JOsADNiMojvaY1FG+JXinD1jQ0uB1iH++U7hPlmRUFyQqiO7HITJqZK60hWfHWrw6P7Pe/02vtmL1Fap/0KVLAMJlttIW4zhiPqrhvBxrtFQjbUgXJYFSo9BEu3lZID1IcCFSUbwYpCEtRj5CkHMH0QgT0Bd4TG+rxe4hpuC3fN6+DvH0R7bJ7M0ZjRRNdYNT29u8XYv9/+fwP/ChCkbERAAA=</value>
+  </data>
+  <data name="DefaultSchema" xml:space="preserve">
+    <value>dbo</value>
+  </data>
+</root>

+ 63 - 0
EVCB_OCPP.Domain/EVCB_OCPP.Domain.csproj

@@ -62,6 +62,10 @@
     <Compile Include="ConnectionLogContextMigrations\201907250828082_Modified_Length.Designer.cs">
       <DependentUpon>201907250828082_Modified_Length.cs</DependentUpon>
     </Compile>
+    <Compile Include="ConnectionLogContextMigrations\201907310241245_Add_ChargeBoxId.cs" />
+    <Compile Include="ConnectionLogContextMigrations\201907310241245_Add_ChargeBoxId.Designer.cs">
+      <DependentUpon>201907310241245_Add_ChargeBoxId.cs</DependentUpon>
+    </Compile>
     <Compile Include="ConnectionLogContextMigrations\Configuration.cs" />
     <Compile Include="ConnectionLogDBContext.cs" />
     <Compile Include="MainDBContext.cs" />
@@ -105,6 +109,30 @@
     <Compile Include="MainDBContextMigrations\201907260915479_Modified_ServerMessageTable3.Designer.cs">
       <DependentUpon>201907260915479_Modified_ServerMessageTable3.cs</DependentUpon>
     </Compile>
+    <Compile Include="MainDBContextMigrations\201907310322180_Add_ChargeBoxId.cs" />
+    <Compile Include="MainDBContextMigrations\201907310322180_Add_ChargeBoxId.Designer.cs">
+      <DependentUpon>201907310322180_Add_ChargeBoxId.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MainDBContextMigrations\201907310323370_Add_ChargeBoxId1.cs" />
+    <Compile Include="MainDBContextMigrations\201907310323370_Add_ChargeBoxId1.Designer.cs">
+      <DependentUpon>201907310323370_Add_ChargeBoxId1.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MainDBContextMigrations\201908010827563_Add_MachineOperateRecord_RequestContent_Length.cs" />
+    <Compile Include="MainDBContextMigrations\201908010827563_Add_MachineOperateRecord_RequestContent_Length.Designer.cs">
+      <DependentUpon>201908010827563_Add_MachineOperateRecord_RequestContent_Length.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MainDBContextMigrations\201908020344588_Modified-ServerMessage-InMessageLength.cs" />
+    <Compile Include="MainDBContextMigrations\201908020344588_Modified-ServerMessage-InMessageLength.Designer.cs">
+      <DependentUpon>201908020344588_Modified-ServerMessage-InMessageLength.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MainDBContextMigrations\201908020516275_Modified-ServerMessage-InMessageLengthMAX.cs" />
+    <Compile Include="MainDBContextMigrations\201908020516275_Modified-ServerMessage-InMessageLengthMAX.Designer.cs">
+      <DependentUpon>201908020516275_Modified-ServerMessage-InMessageLengthMAX.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MainDBContextMigrations\201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.cs" />
+    <Compile Include="MainDBContextMigrations\201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.Designer.cs">
+      <DependentUpon>201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.cs</DependentUpon>
+    </Compile>
     <Compile Include="MainDBContextMigrations\Configuration.cs" />
     <Compile Include="MeterValueDBContext.cs" />
     <Compile Include="MeterValueDBContextMigrations\201907150814558_Init.cs" />
@@ -119,6 +147,14 @@
     <Compile Include="MeterValueDBContextMigrations\201907190543469_ModifyFields1.Designer.cs">
       <DependentUpon>201907190543469_ModifyFields1.cs</DependentUpon>
     </Compile>
+    <Compile Include="MeterValueDBContextMigrations\201907310241379_Add_ChargeBoxId.cs" />
+    <Compile Include="MeterValueDBContextMigrations\201907310241379_Add_ChargeBoxId.Designer.cs">
+      <DependentUpon>201907310241379_Add_ChargeBoxId.cs</DependentUpon>
+    </Compile>
+    <Compile Include="MeterValueDBContextMigrations\201908010559159_Add_TransactionId.cs" />
+    <Compile Include="MeterValueDBContextMigrations\201908010559159_Add_TransactionId.Designer.cs">
+      <DependentUpon>201908010559159_Add_TransactionId.cs</DependentUpon>
+    </Compile>
     <Compile Include="MeterValueDBContextMigrations\Configuration.cs" />
     <Compile Include="Models\Database\ApiLogEntry.cs" />
     <Compile Include="Models\Database\ConnectorMeterValueRecord.cs" />
@@ -159,6 +195,9 @@
     <EmbeddedResource Include="ConnectionLogContextMigrations\201907250828082_Modified_Length.resx">
       <DependentUpon>201907250828082_Modified_Length.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="ConnectionLogContextMigrations\201907310241245_Add_ChargeBoxId.resx">
+      <DependentUpon>201907310241245_Add_ChargeBoxId.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="MainDBContextMigrations\201907180821556_Init.resx">
       <DependentUpon>201907180821556_Init.cs</DependentUpon>
     </EmbeddedResource>
@@ -189,6 +228,24 @@
     <EmbeddedResource Include="MainDBContextMigrations\201907260915479_Modified_ServerMessageTable3.resx">
       <DependentUpon>201907260915479_Modified_ServerMessageTable3.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="MainDBContextMigrations\201907310322180_Add_ChargeBoxId.resx">
+      <DependentUpon>201907310322180_Add_ChargeBoxId.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MainDBContextMigrations\201907310323370_Add_ChargeBoxId1.resx">
+      <DependentUpon>201907310323370_Add_ChargeBoxId1.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MainDBContextMigrations\201908010827563_Add_MachineOperateRecord_RequestContent_Length.resx">
+      <DependentUpon>201908010827563_Add_MachineOperateRecord_RequestContent_Length.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MainDBContextMigrations\201908020344588_Modified-ServerMessage-InMessageLength.resx">
+      <DependentUpon>201908020344588_Modified-ServerMessage-InMessageLength.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MainDBContextMigrations\201908020516275_Modified-ServerMessage-InMessageLengthMAX.resx">
+      <DependentUpon>201908020516275_Modified-ServerMessage-InMessageLengthMAX.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MainDBContextMigrations\201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.resx">
+      <DependentUpon>201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="MeterValueDBContextMigrations\201907150814558_Init.resx">
       <DependentUpon>201907150814558_Init.cs</DependentUpon>
     </EmbeddedResource>
@@ -198,6 +255,12 @@
     <EmbeddedResource Include="MeterValueDBContextMigrations\201907190543469_ModifyFields1.resx">
       <DependentUpon>201907190543469_ModifyFields1.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="MeterValueDBContextMigrations\201907310241379_Add_ChargeBoxId.resx">
+      <DependentUpon>201907310241379_Add_ChargeBoxId.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="MeterValueDBContextMigrations\201908010559159_Add_TransactionId.resx">
+      <DependentUpon>201908010559159_Add_TransactionId.cs</DependentUpon>
+    </EmbeddedResource>
   </ItemGroup>
   <ItemGroup />
   <ItemGroup>

+ 29 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201907310322180_Add_ChargeBoxId.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class Add_ChargeBoxId : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(Add_ChargeBoxId));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201907310322180_Add_ChargeBoxId"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 58 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201907310322180_Add_ChargeBoxId.cs

@@ -0,0 +1,58 @@
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class Add_ChargeBoxId : DbMigration
+    {
+        public override void Up()
+        {
+            DropIndex("dbo.Machine", new[] { "ChargePointSerialNumber" });
+            DropIndex("dbo.TransactionRecord", "IX_1202_Issue_Report");
+            DropIndex("dbo.TransactionRecord", "IX_MachineId");
+            AddColumn("dbo.ConnectorStatus", "ChargeBoxId", c => c.String(maxLength: 128));
+            AddColumn("dbo.Machine", "ChargeBoxId", c => c.String(maxLength: 128));
+            AddColumn("dbo.MachineConfigures", "ChargeBoxId", c => c.String(maxLength: 128));
+            AddColumn("dbo.MachineError", "ChargeBoxId", c => c.String(maxLength: 128));
+            AddColumn("dbo.MachineOperateRecord", "ChargeBoxId", c => c.String(maxLength: 128));
+            AddColumn("dbo.ServerMessage", "ChargeBoxId", c => c.String(maxLength: 128));
+            AddColumn("dbo.TransactionRecord", "ChargeBoxId", c => c.String(nullable: false, maxLength: 128));
+            AlterColumn("dbo.Machine", "HeartbeatUpdatedOn", c => c.DateTime(nullable: false));
+            AlterColumn("dbo.TransactionRecord", "ReportedOn", c => c.DateTime(nullable: false));
+            AlterColumn("dbo.TransactionRecord", "UpdatedOn", c => c.DateTime(nullable: false));
+            CreateIndex("dbo.TransactionRecord", new[] { "ChargeBoxId", "ConnectorId", "TransactionId", "StartTime" }, unique: true, name: "IX_1202_Issue_Report");
+            CreateIndex("dbo.TransactionRecord", "ChargeBoxId", name: "IX_MachineId");
+            DropColumn("dbo.ConnectorStatus", "ChargePointSerialNumber");
+            DropColumn("dbo.MachineConfigures", "ChargePointSerialNumber");
+            DropColumn("dbo.MachineError", "ChargePointSerialNumber");
+            DropColumn("dbo.MachineOperateRecord", "ChargePointSerialNumber");
+            DropColumn("dbo.ServerMessage", "ChargePointSerialNumber");
+            DropColumn("dbo.TransactionRecord", "chargePointSerialNumber");
+        }
+        
+        public override void Down()
+        {
+            AddColumn("dbo.TransactionRecord", "chargePointSerialNumber", c => c.String(nullable: false, maxLength: 25));
+            AddColumn("dbo.ServerMessage", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            AddColumn("dbo.MachineOperateRecord", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            AddColumn("dbo.MachineError", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            AddColumn("dbo.MachineConfigures", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            AddColumn("dbo.ConnectorStatus", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            DropIndex("dbo.TransactionRecord", "IX_MachineId");
+            DropIndex("dbo.TransactionRecord", "IX_1202_Issue_Report");
+            AlterColumn("dbo.TransactionRecord", "UpdatedOn", c => c.DateTime());
+            AlterColumn("dbo.TransactionRecord", "ReportedOn", c => c.DateTime());
+            AlterColumn("dbo.Machine", "HeartbeatUpdatedOn", c => c.DateTime());
+            DropColumn("dbo.TransactionRecord", "ChargeBoxId");
+            DropColumn("dbo.ServerMessage", "ChargeBoxId");
+            DropColumn("dbo.MachineOperateRecord", "ChargeBoxId");
+            DropColumn("dbo.MachineError", "ChargeBoxId");
+            DropColumn("dbo.MachineConfigures", "ChargeBoxId");
+            DropColumn("dbo.Machine", "ChargeBoxId");
+            DropColumn("dbo.ConnectorStatus", "ChargeBoxId");
+            CreateIndex("dbo.TransactionRecord", "chargePointSerialNumber", name: "IX_MachineId");
+            CreateIndex("dbo.TransactionRecord", new[] { "chargePointSerialNumber", "ConnectorId", "TransactionId", "StartTime" }, unique: true, name: "IX_1202_Issue_Report");
+            CreateIndex("dbo.Machine", "ChargePointSerialNumber", unique: true);
+        }
+    }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 120 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201907310322180_Add_ChargeBoxId.resx


+ 29 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201907310323370_Add_ChargeBoxId1.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class Add_ChargeBoxId1 : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(Add_ChargeBoxId1));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201907310323370_Add_ChargeBoxId1"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 18 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201907310323370_Add_ChargeBoxId1.cs

@@ -0,0 +1,18 @@
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class Add_ChargeBoxId1 : DbMigration
+    {
+        public override void Up()
+        {
+            CreateIndex("dbo.Machine", "ChargeBoxId", unique: true);
+        }
+        
+        public override void Down()
+        {
+            DropIndex("dbo.Machine", new[] { "ChargeBoxId" });
+        }
+    }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 120 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201907310323370_Add_ChargeBoxId1.resx


+ 29 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908010827563_Add_MachineOperateRecord_RequestContent_Length.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class Add_MachineOperateRecord_RequestContent_Length : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(Add_MachineOperateRecord_RequestContent_Length));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201908010827563_Add_MachineOperateRecord_RequestContent_Length"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 18 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908010827563_Add_MachineOperateRecord_RequestContent_Length.cs

@@ -0,0 +1,18 @@
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class Add_MachineOperateRecord_RequestContent_Length : DbMigration
+    {
+        public override void Up()
+        {
+            AlterColumn("dbo.MachineOperateRecord", "RequestContent", c => c.String(maxLength: 200));
+        }
+        
+        public override void Down()
+        {
+            AlterColumn("dbo.MachineOperateRecord", "RequestContent", c => c.String(maxLength: 36));
+        }
+    }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 120 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908010827563_Add_MachineOperateRecord_RequestContent_Length.resx


+ 29 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020344588_Modified-ServerMessage-InMessageLength.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class ModifiedServerMessageInMessageLength : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(ModifiedServerMessageInMessageLength));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201908020344588_Modified-ServerMessage-InMessageLength"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 18 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020344588_Modified-ServerMessage-InMessageLength.cs

@@ -0,0 +1,18 @@
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class ModifiedServerMessageInMessageLength : DbMigration
+    {
+        public override void Up()
+        {
+            AlterColumn("dbo.ServerMessage", "InMessage", c => c.String(maxLength: 3000));
+        }
+        
+        public override void Down()
+        {
+            AlterColumn("dbo.ServerMessage", "InMessage", c => c.String(maxLength: 1000));
+        }
+    }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 120 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020344588_Modified-ServerMessage-InMessageLength.resx


+ 29 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020516275_Modified-ServerMessage-InMessageLengthMAX.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class ModifiedServerMessageInMessageLengthMAX : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(ModifiedServerMessageInMessageLengthMAX));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201908020516275_Modified-ServerMessage-InMessageLengthMAX"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 18 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020516275_Modified-ServerMessage-InMessageLengthMAX.cs

@@ -0,0 +1,18 @@
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class ModifiedServerMessageInMessageLengthMAX : DbMigration
+    {
+        public override void Up()
+        {
+            AlterColumn("dbo.ServerMessage", "InMessage", c => c.String());
+        }
+        
+        public override void Down()
+        {
+            AlterColumn("dbo.ServerMessage", "InMessage", c => c.String(maxLength: 3000));
+        }
+    }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 120 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020516275_Modified-ServerMessage-InMessageLengthMAX.resx


+ 29 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class ModifiedMachineOperateRecordEVSE_ValueMax : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(ModifiedMachineOperateRecordEVSE_ValueMax));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 18 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.cs

@@ -0,0 +1,18 @@
+namespace EVCB_OCPP.Domain.MainDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class ModifiedMachineOperateRecordEVSE_ValueMax : DbMigration
+    {
+        public override void Up()
+        {
+            AlterColumn("dbo.MachineOperateRecord", "EVSE_Value", c => c.String());
+        }
+        
+        public override void Down()
+        {
+            AlterColumn("dbo.MachineOperateRecord", "EVSE_Value", c => c.String(maxLength: 250));
+        }
+    }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 120 - 0
EVCB_OCPP.Domain/MainDBContextMigrations/201908020541195_Modified-MachineOperateRecord-EVSE_ValueMax.resx


+ 29 - 0
EVCB_OCPP.Domain/MeterValueDBContextMigrations/201907310241379_Add_ChargeBoxId.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MeterValueDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class Add_ChargeBoxId : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(Add_ChargeBoxId));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201907310241379_Add_ChargeBoxId"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 20 - 0
EVCB_OCPP.Domain/MeterValueDBContextMigrations/201907310241379_Add_ChargeBoxId.cs

@@ -0,0 +1,20 @@
+namespace EVCB_OCPP.Domain.MeterValueDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class Add_ChargeBoxId : DbMigration
+    {
+        public override void Up()
+        {
+            AddColumn("dbo.ConnectorMeterValueRecord", "ChargeBoxId", c => c.String(maxLength: 128));
+            DropColumn("dbo.ConnectorMeterValueRecord", "ChargePointSerialNumber");
+        }
+        
+        public override void Down()
+        {
+            AddColumn("dbo.ConnectorMeterValueRecord", "ChargePointSerialNumber", c => c.String(maxLength: 25));
+            DropColumn("dbo.ConnectorMeterValueRecord", "ChargeBoxId");
+        }
+    }
+}

+ 126 - 0
EVCB_OCPP.Domain/MeterValueDBContextMigrations/201907310241379_Add_ChargeBoxId.resx

@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Target" xml:space="preserve">
+    <value>H4sIAAAAAAAEAM2Y227jNhBA3wv0HwQ9Zy3HKYptIO8iluMiaBwbUTavBS2NZaIUqZJUYH/bPvST+gsd3W92bMvBoshLzMvh3Dgz1L/f/7G/bkNmvIFUVPCxeT0YmgZwT/iUB2Mz1utPn82vX37+yb73w63xWqy7SdbhTq7G5kbr6NaylLeBkKhBSD0plFjrgSdCi/jCGg2Hv1nX1xYgwkSWYdjPMdc0hPQH/nQE9yDSMWFz4QNT+TjOuCnVeCIhqIh4MDbvX53JnwtnuRxMRUgoN407RgnK4QJbmwbhXGiiUcrbbwpcLQUP3AgHCHvZRYDr1oQpyKW/rZafqshwlChiVRsLlBcrjRKdB7y+yS1jtbf3sq9ZWg5td4821rtE69R+YxPNzMHTQs5Bg3wlLIZn8IT0TaN9+q3DZLKza+9B5qLBlGiyIgoGB6lXRnvvVRlBGGjJ35XhxEzHEsYcYi0JuzKW8YpR7w/YvYi/gI95zFhdK9QL5xoDOLSUIgKpd8+wznV9QKWs5j6rvbHcVtuTKf3A9a+/mMYTHk5WDMqgqRnIRY3hd+AgiQZ/STQqzxMGpGbvnN46y9kQGcBEbKtDMVjx1pnGnGwfgQd6g/dx9Nk0ZnQLfjGSC/KNU7ykuEnLGI6eVXioOmuy07BHv6McDVvdMNPN6GzMTMiQXEyZA1GxJNy/FLTcYBRfCnkUXhoWl3LS6/NeQAw/IB5w8cXmdyQkcb/gBQbzAbxgTj9Csq0qLXWTVRJhmCdAlk4uUsp0kkffnlyFiT5PVyo3QFP0jO2CPp4HK+GygnI4u+1Xq1SgKmFWVsOKWmcdKHb2nEQRurtW/PIRw80qn/PJPb8ohBnD8tSe2lBKW56EipIAWrOJxXyYUal0kfVNw/HDzrJ97jrgiuLEYx5pZ/rKQQUh+T+jdErVydjK2DPUP8QUnpoCSnHPEDGluR5hRO6pL45gccgP1aj3djcqRh3TmDiDV68KDV594ixeUR1atGL4dFZVIuqoavR0UqNM1GGNidN5ZbWos8rB0zn1glFH1cdPp+Vlow7Kh05nFFWhDinGzoiCqi40oqAa7rJsq3X52pfe6tz6VmfXTivvZeb2kvL0MkO3MrGdZ8Xjb5NOmsyWmAYa6Y36SYp0d0pDmHbPA/dv5jCK+lYL5oTTNSidNb8mPhBGrQfO/+exYSnls74vjh/e0q9oQBNLH+3bz22Euo08fyPSw+FuK1+xe/btmvJdqsalrXsfSLtx78PY07b3wbSa9j6Ibsveh9Jo2Pc7fniu35v9eS93t7tzH3/qj+7Ou13hD+m7s6SKOq0Eqpfp8vFtejfp21b9s5U9BUWDCmHnImBEVdBizQNfi8JFaI+6RMWSzj3RBJ1G7qSma+JpnPZAqfQ9mKqH7W64Av+BL2IdxfpOKQhXrPHdwbbePz99izRlthdR8kt9hAooJk3ibsEnMWV+KfdsT9wdQCQRludqlArfw4gLdiXpSfATQbn5phABTzL9C4QRQ5hacJe8QR/Z8NX5CAHxdkXtPgw57oim2e0pJYEkocoZ1f7kU6yVfIv98h8VJ1/2vRUAAA==</value>
+  </data>
+  <data name="DefaultSchema" xml:space="preserve">
+    <value>dbo</value>
+  </data>
+</root>

+ 29 - 0
EVCB_OCPP.Domain/MeterValueDBContextMigrations/201908010559159_Add_TransactionId.Designer.cs

@@ -0,0 +1,29 @@
+// <auto-generated />
+namespace EVCB_OCPP.Domain.MeterValueDBContextMigrations
+{
+    using System.CodeDom.Compiler;
+    using System.Data.Entity.Migrations;
+    using System.Data.Entity.Migrations.Infrastructure;
+    using System.Resources;
+    
+    [GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
+    public sealed partial class Add_TransactionId : IMigrationMetadata
+    {
+        private readonly ResourceManager Resources = new ResourceManager(typeof(Add_TransactionId));
+        
+        string IMigrationMetadata.Id
+        {
+            get { return "201908010559159_Add_TransactionId"; }
+        }
+        
+        string IMigrationMetadata.Source
+        {
+            get { return null; }
+        }
+        
+        string IMigrationMetadata.Target
+        {
+            get { return Resources.GetString("Target"); }
+        }
+    }
+}

+ 18 - 0
EVCB_OCPP.Domain/MeterValueDBContextMigrations/201908010559159_Add_TransactionId.cs

@@ -0,0 +1,18 @@
+namespace EVCB_OCPP.Domain.MeterValueDBContextMigrations
+{
+    using System;
+    using System.Data.Entity.Migrations;
+    
+    public partial class Add_TransactionId : DbMigration
+    {
+        public override void Up()
+        {
+            AddColumn("dbo.ConnectorMeterValueRecord", "TransactionId", c => c.Int(nullable: false));
+        }
+        
+        public override void Down()
+        {
+            DropColumn("dbo.ConnectorMeterValueRecord", "TransactionId");
+        }
+    }
+}

+ 126 - 0
EVCB_OCPP.Domain/MeterValueDBContextMigrations/201908010559159_Add_TransactionId.resx

@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Target" xml:space="preserve">
+    <value>H4sIAAAAAAAEAM1Y227jNhB9L9B/EPSctZykKLaBvItYjougcWxE3rwWtDS2iVKkSlKB/W370E/qL3R0v/kqG4siL/GQPJwZDufw6N/v/9hfNwEzPkAqKvjAvO31TQO4J3zKVwMz0stPn82vX37+yX7yg43xns+7j+fhSq4G5lrr8MGylLeGgKheQD0plFjqnicCi/jCuuv3f7Nuby1ACBOxDMN+i7imASQ/8KcjuAehjgibCB+Yyuw44iaoxisJQIXEg4H59O4M/5w6s1lvJAJCuWk8MkrQDxfY0jQI50ITjV4+fFPgain4yg3RQNh8GwLOWxKmIPP+oZx+aiD9uzgQq1yYQ3mR0ujReYC391lmrObyTvk1i8xh7p4wx3obR53kb2Bimjl4WsgJaJDvhEXwBp6Qvmk0d39wmIxXtvPdS4+oNyKaLIiC3l7UG6O59qaoICy0+O/GcCKmIwkDDpGWhN0Ys2jBqPcHbOfiL+ADHjFWjQrjwrGaAU0zKUKQevsGyyzWZwzKqq+zmguLZZU1adDPXP/6i2m84uZkwaAomkqCXIwYfgcOkmjwZ0Rj8DzGgCTtrd0bezlrIlcwFJtyUyxWvHWmMSGbF+Arvcb7ePfZNMZ0A35uyRz5xileUlykZQRH98pPqNxruNWwI77DOHNJuCJeHH4tVfd3Z0OhSxo2+lKYsZABuRhlAkRFGJt/KdBsjRfiUpAX4ZFrpDi5iYdqq3+F0sLJF6ffkRBfoSnPYbC1wBzp4QiSbZUdrt334grDlgOyOOS8O42GWfXtaHvIGVnnU1kC6q6n2C7o4y21dC7lpv2NcndYRQAlG1opHea0ae3hTXtCwhCPu8KjmcVwUxJ1Prnn80uQYlie2kEzhbfFThgoWUFjNM6YD2Mqlc4JxDQcP2hN23Vce44i3/HYiTRJozygHCH+P0Vpsd7JsGWyxxh/gGyQpAIKd89wMUFzPcKI3EFVjmBRwPfR3aHVNfKpwtQGzsCrEkwNrzpwOl6DaKqIjaGzfMwZp+Fhbj4dq6SdKlRpPR2pRj1VsNrA6XgFA1WxCuPpOFUSqkJV7aejZVRUBcpMp2PkTFMFyW1nVEHJNbUqKM1tLNtqXOhmI7FanaTx8Gy2qkPdvjml2L3o+o3ubmed9rh0arXedIppYJI+qB+3XXerNATJ477n/s0cRjHecsKEcLoEpdO3uYn65a6hv/4/WshSymddBdEPVxwLuqJxpo/KinMfV22dwT+I9NDcVholdkdZoSnfJmFcQ1l0AWrpii4gTVXRBWOHpugC01AUXSDaeqILSk1N7K6g/rkFVBcPnY67KR18/KmvLR3aT9YfIgrS7owxLQSGl8ZyfQ3RZg/bqn6es0eg6KqEsDMXsKJK0HzOM1+K/IgwH1WP8imte6IJHhp5lJousQPgsAdKJWI1CQ/f4sEC/Gc+jXQY6UelIFiw2vcV2zq8fyKU6j7b0zD+pa4RArpJ47qb8mFEmV/4Pd5Rd3sg4grLmj56hWId4VbbAulV8BOBsvSNIAQeU8YcgpAhmJpyl3xAF99QEr/Ainjb/BGwH+T4QdTTbo8oWUkSqAyjXB9/crbib85f/gOjA9LmpRYAAA==</value>
+  </data>
+  <data name="DefaultSchema" xml:space="preserve">
+    <value>dbo</value>
+  </data>
+</root>

+ 9 - 2
EVCB_OCPP.Domain/Models/Database/ConnectorMeterValueRecord.cs

@@ -11,14 +11,21 @@ namespace EVCB_OCPP.Domain.Models.Database
     [Table("ConnectorMeterValueRecord")]
     public class ConnectorMeterValueRecord
     {
+
+        public ConnectorMeterValueRecord()
+        {
+            TransactionId = -1;
+        }
         [Key]
         public Int64 Id { set; get; }
 
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
         public byte ConnectorId { set; get; }
 
+        public int TransactionId { set; get; }
+
         
         public int ContextId { set; get; }
 

+ 10 - 2
EVCB_OCPP.Domain/Models/Database/ConnectorStatus.cs

@@ -11,12 +11,20 @@ namespace EVCB_OCPP.Domain.Models.Database
     [Table("ConnectorStatus")]
     public class ConnectorStatus
     {
+
+        public ConnectorStatus()
+        {
+            ErrorInfo = string.Empty;
+            VendorId = string.Empty;
+            VendorErrorCode = string.Empty;
+
+        }
         [Key]
         [StringLength(36)]
         public string Id { get; set; }
 
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
         public byte ConnectorId { set; get; }
 

+ 20 - 3
EVCB_OCPP.Domain/Models/Database/Machine.cs

@@ -15,6 +15,17 @@
         public Machine()
         {            
             Id = Guid.NewGuid().ToString();
+            ChargePointSerialNumber = string.Empty;
+            ChargeBoxSerialNumber = string.Empty;
+            ChargePointModel = string.Empty;
+            ChargePointVendor = string.Empty;
+            Iccid = string.Empty;
+            Imsi = string.Empty;
+            MeterType = string.Empty;
+            MeterSerialNumber = string.Empty;
+            CreatedBy = string.Empty;
+            Comment = string.Empty;
+            HeartbeatUpdatedOn = new DateTime(1991, 1, 1);
         }
 
         [Key]
@@ -22,9 +33,15 @@
         public string Id { get; set; }
 
         /// <summary>
-        /// chargePointSerialNumber
+        /// ChargeBoxId
         /// </summary>
-        [Index("IX_ChargePointSerialNumber", IsUnique = true)]
+        [Index("IX_ChargeBoxId", IsUnique = true)]
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
+
+        /// <summary>
+        /// chargePointSerialNumber
+        /// </summary>       
         [StringLength(25)]
         public string ChargePointSerialNumber { get; set; }
 
@@ -112,7 +129,7 @@
         /// <summary>
         /// 心跳包更新時間
         /// </summary>
-        public DateTime? HeartbeatUpdatedOn { get; set; }
+        public DateTime HeartbeatUpdatedOn { get; set; }
 
 
      

+ 2 - 2
EVCB_OCPP.Domain/Models/Database/MachineConfigure.cs

@@ -14,8 +14,8 @@ namespace EVCB_OCPP.Domain.Models.Database
         [Key]
         public Int32 Id { set; get; }
 
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
         /// <summary>
         /// 存取限制 

+ 3 - 3
EVCB_OCPP.Domain/Models/Database/MachineConnectionLog.cs

@@ -14,10 +14,10 @@ namespace EVCB_OCPP.Domain.Models.Database
     {
         public Int64 Id { set; get; }
 
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }        
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
+
 
-        
 
         /// <summary>
         /// 訊息種類

+ 3 - 3
EVCB_OCPP.Domain/Models/Database/MachineError.cs

@@ -19,10 +19,10 @@ namespace EVCB_OCPP.Domain.Models.Database
         [Key]       
         public int Id { get; set; }
 
-    
 
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }
+
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
         /// <summary>
         /// 槍號

+ 5 - 6
EVCB_OCPP.Domain/Models/Database/MachineOperateRecord.cs

@@ -30,8 +30,8 @@ namespace EVCB_OCPP.Domain.Models.Database
         /// <summary>
         /// 機器的客戶自訂ID
         /// </summary>
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
 
 
@@ -50,7 +50,7 @@ namespace EVCB_OCPP.Domain.Models.Database
         /// <summary>
         /// 請求內容
         /// </summary>
-        [StringLength(36)]
+        [StringLength(200)]
         public string RequestContent { get; set; }
 
 
@@ -60,9 +60,8 @@ namespace EVCB_OCPP.Domain.Models.Database
         public int Status { get; set; }
 
         /// <summary>
-        /// EVSE狀態
-        /// </summary>     
-        [StringLength(250)]
+        /// EVSE回覆值
+        /// </summary>      
         public string EVSE_Value { get; set; }
         
         /// <summary>

+ 3 - 4
EVCB_OCPP.Domain/Models/Database/ServerMessage.cs

@@ -23,13 +23,13 @@ namespace EVCB_OCPP.Domain.Models.Database
         [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
         [Key]
         public int Id { get; set; }
-        
+
 
         /// <summary>
         /// 機器的客戶自訂ID
         /// </summary>
-        [StringLength(25)]
-        public string ChargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
         /// <summary>
         /// 隨機序號
@@ -53,7 +53,6 @@ namespace EVCB_OCPP.Domain.Models.Database
         /// <summary>
         /// 收到傳送資料
         /// </summary>      
-        [StringLength(1000)]
         public string InMessage { get; set; }     
 
       

+ 2 - 1
EVCB_OCPP.Domain/Models/Database/TransactionDataRecord.cs

@@ -22,7 +22,8 @@ namespace EVCB_OCPP.Domain.Models.Database
         /// <summary>
         /// chargePointSerialNumber
         /// </summary>       
-        public string ChargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
 
         public int ContextId { set; get; }

+ 15 - 4
EVCB_OCPP.Domain/Models/Database/TransactionRecord.cs

@@ -15,6 +15,17 @@
     {
         public TransactionRecord()
         {
+            StartIdTag = string.Empty;
+            StopIdTag = string.Empty;
+            StartTime = new DateTime(1991, 1, 1);
+            StopTime = new DateTime(1991, 1, 1);
+            ReservationId = -1;
+            ReportedOn = new DateTime(1991, 1, 1);
+            CreatedOn = new DateTime(1991, 1, 1);
+            UpdatedOn = new DateTime(1991, 1, 1);
+            StartTransactionReportedOn = new DateTime(1991, 1, 1);
+            StopTransactionReportedOn = new DateTime(1991, 1, 1);
+            ErrorMsg = string.Empty;
         }
 
         [Key]
@@ -52,8 +63,8 @@
         [Index("IX_MachineId")]
         [Index("IX_1202_Issue_Report", Order = 1, IsUnique = true)]
         [Required]
-        [StringLength(25)]
-        public string chargePointSerialNumber { get; set; }
+        [StringLength(128)]
+        public string ChargeBoxId { get; set; }
 
         /// <summary>
         /// StartIdTag
@@ -109,7 +120,7 @@
         /// <summary>
         /// 回報時間
         /// </summary>
-        public DateTime? ReportedOn { get; set; }
+        public DateTime ReportedOn { get; set; }
 
         /// <summary>
         /// 產生時間
@@ -119,7 +130,7 @@
         /// <summary>
         /// 更新時間
         /// </summary>
-        public DateTime? UpdatedOn { get; set; }
+        public DateTime UpdatedOn { get; set; }
       
 
         /// <summary>

+ 1 - 0
EVCB_OCPP.Packet/Features/CoreProfile.cs

@@ -28,6 +28,7 @@ namespace EVCB_OCPP.Packet.Features
             features.Add(new AuthorizeFeature());
             features.Add(new ResetFeature());
             features.Add(new UnlockConnectorFeature());
+            features.Add(new ClearCacheFeature());
 
             actions.Add(Actions.BootNotification.ToString());
             actions.Add(Actions.GetConfiguration.ToString());

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels