Browse Source

2020/05/29 Jessica
Actions:
1.更新Domain DLL 版本號 :3ff61e2
2. 通知第三方平台的動作改成 丟出去不等後結果的方式,避免卡住

Jessica.Tseng 4 years ago
parent
commit
f7da76e51b

BIN
EVCB_OCPP.WSServer/DLL/EVCB_OCPP.Domain.dll


+ 13 - 12
EVCB_OCPP.WSServer/Message/CoreProfileHandler.cs

@@ -119,7 +119,7 @@ namespace EVCB_OCPP.WSServer.Message
                                     Id = Guid.NewGuid().ToString()
                                 };
                                 db.ConnectorStatus.Add(_currentStatus);
-                                
+
                             }
                             if (_request.status == Packet.Messages.SubTypes.ChargePointStatus.Faulted)
                             {
@@ -143,13 +143,13 @@ namespace EVCB_OCPP.WSServer.Message
                         if (_request.status == Packet.Messages.SubTypes.ChargePointStatus.Faulted)
                         {
                             var businessService = BusinessServiceFactory.CreateBusinessService(session.CustomerId.ToString());
-                           await businessService.NotifyFaultStatus(new ErrorDetails()
+                            var notification = businessService.NotifyFaultStatus(new ErrorDetails()
                             {
                                 ChargeBoxId = session.ChargeBoxId,
                                 ConnectorId = _request.connectorId,
                                 ErrorCode = _request.errorCode,
                                 Info = string.IsNullOrEmpty(_request.info) ? string.Empty : _request.info,
-                                OCcuredOn = _request.timestamp.HasValue ? _request.timestamp.Value : DateTime.Now,
+                                OCcuredOn = _request.timestamp ?? DateTime.Now,
                                 VendorErrorCode = string.IsNullOrEmpty(_request.vendorErrorCode) ? string.Empty : _request.vendorErrorCode,
 
                             });
@@ -164,7 +164,8 @@ namespace EVCB_OCPP.WSServer.Message
                     {
                         using (var db = new MainDBContext())
                         {
-                            var machine = db.Machine.Where(x => x.ChargeBoxId == session.ChargeBoxId).FirstOrDefault();
+                            //  var machine = db.Machine.Where(x => x.ChargeBoxId == session.ChargeBoxId).FirstOrDefault();
+                            var machine = new Machine() { Id = session.MachineId };
                             if (machine != null)
                             {
                                 db.Configuration.AutoDetectChangesEnabled = false;
@@ -194,13 +195,13 @@ namespace EVCB_OCPP.WSServer.Message
                                 {
                                     foreach (var sampleVaule in item.sampledValue)
                                     {
-                                        
-                                            decimal value = Convert.ToDecimal(sampleVaule.value);
 
-                                            string sp = "[dbo].[uspInsertMeterValueRecord] @ChargeBoxId," +
-                         "@ConnectorId,@Value,@CreatedOn,@ContextId,@FormatId,@MeasurandId,@PhaseId,@LocationId,@UnitId,@TransactionId";
+                                        decimal value = Convert.ToDecimal(sampleVaule.value);
 
-                                            List<SqlParameter> parameter = new List<SqlParameter>
+                                        string sp = "[dbo].[uspInsertMeterValueRecord] @ChargeBoxId," +
+                     "@ConnectorId,@Value,@CreatedOn,@ContextId,@FormatId,@MeasurandId,@PhaseId,@LocationId,@UnitId,@TransactionId";
+
+                                        List<SqlParameter> parameter = new List<SqlParameter>
                                         {
                                               new SqlParameter("ChargeBoxId",session.ChargeBoxId),
                                               new SqlParameter("ConnectorId",  (byte)_request.connectorId),
@@ -216,11 +217,11 @@ namespace EVCB_OCPP.WSServer.Message
                                           };
 
 
-                                            db.Database.ExecuteSqlCommand(sp, parameter.ToArray());
-                                       
+                                        db.Database.ExecuteSqlCommand(sp, parameter.ToArray());
+
+
 
 
-                                       
                                     }
 
                                 }

+ 2 - 2
EVCB_OCPP.WSServer/Service/OuterBusinessService.cs

@@ -68,7 +68,7 @@ namespace EVCB_OCPP.WSServer.Service
                             {
                                 { "PartnerId",signMaterial.Id}
 
-                            }, null, signMaterial.SaltKey);
+                            }, null, signMaterial.SaltKey).ConfigureAwait(false); 
 
                 if (response.Success)
                 {
@@ -118,7 +118,7 @@ namespace EVCB_OCPP.WSServer.Service
                             {
                                 { "PartnerId",signMaterial.Id}
 
-                            }, JsonConvert.SerializeObject(details, GlobalConfig.JSONSERIALIZER_FORMAT), signMaterial.SaltKey);
+                            }, JsonConvert.SerializeObject(details, GlobalConfig.JSONSERIALIZER_FORMAT), signMaterial.SaltKey).ConfigureAwait(false);
 
 
                 }

+ 10 - 0
TestTool.RemoteTriggerAPP/App.config

@@ -6,6 +6,9 @@
     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
       <section name="TestTool.RemoteTriggerAPP.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
     </sectionGroup>
+    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+      <section name="TestTool.RemoteTriggerAPP.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+    </sectionGroup>
   </configSections>
    <connectionStrings>
      <!--<add name="ConnectionLogDBContext" connectionString="data source=172.1.0.142\SQLEXPRESS;initial catalog=OCPP_ConnectionLogDBContext;persist security info=True;user id=sa;password=Ph0930118811;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
@@ -39,4 +42,11 @@
       </setting>
     </TestTool.RemoteTriggerAPP.Properties.Settings>
   </applicationSettings>
+  <userSettings>
+    <TestTool.RemoteTriggerAPP.Properties.Settings>
+      <setting name="ChargeBoxId" serializeAs="String">
+        <value>OCTT_1</value>
+      </setting>
+    </TestTool.RemoteTriggerAPP.Properties.Settings>
+  </userSettings>
 </configuration>

BIN
TestTool.RemoteTriggerAPP/DLL/EVCB_OCPP.Domain.dll


+ 17 - 17
TestTool.RemoteTriggerAPP/MainWindow.xaml

@@ -5,7 +5,7 @@
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:local="clr-namespace:TestTool.RemoteTriggerAPP"      
         mc:Ignorable="d"
-        Title="下發測試用工具(公司內網) V1.1.11(20200525)" Height="400" Width="639">
+        Title="下發測試用工具(公司內網) V1.1.14 (20200528)" Height="481" Width="639">
     <Grid Margin="0,2,2,0">
         <Grid.ColumnDefinitions>
             <ColumnDefinition Width="109*"/>
@@ -13,7 +13,7 @@
         </Grid.ColumnDefinitions>
         <Label Content="Charge Box Id:" HorizontalAlignment="Left" Height="27" Margin="69,23,0,0" VerticalAlignment="Top" Width="91"/>
         <Label Content="Connector Id:" HorizontalAlignment="Left" Height="27" Margin="118,23,0,0" VerticalAlignment="Top" Width="92" Grid.Column="1"/>
-        <TextBox Name="uxChargeBoxIdTb" Text="OCTT_1" HorizontalAlignment="Left" Height="27" Margin="179,23,0,0" VerticalAlignment="Top" Width="148" Grid.ColumnSpan="2"/>
+        <TextBox Name="uxChargeBoxIdTb" Text="OCTT_1" HorizontalAlignment="Left" Height="27" Margin="179,23,0,0" VerticalAlignment="Top" Width="148" Grid.ColumnSpan="2" LostFocus="uxChargeBoxIdTb_LostFocus"/>
         <TextBox Name="uxConnectorIdTb" Text="1" HorizontalAlignment="Left" Height="27" Margin="210,23,0,0" VerticalAlignment="Top" Width="35" Grid.Column="1"/>
         <ComboBox Name="uxCmdCb" HorizontalAlignment="Left" Margin="212,163,0,0" VerticalAlignment="Top" Width="253" Height="34" SelectionChanged="UxCmdCb_SelectionChanged" Grid.ColumnSpan="2">
             <ComboBoxItem>ChangeAvailability_Inoperative</ComboBoxItem>
@@ -46,8 +46,8 @@
         </ComboBox>
         <Label  Content="Remote Trigger Cmd:" HorizontalAlignment="Left" Height="27" Margin="69,165,0,0" VerticalAlignment="Top" Width="137"/>
         <Button Name="uxSubmitBtn" Content="Submit" HorizontalAlignment="Left" Margin="260,165,0,0" VerticalAlignment="Top" Width="51" Height="34" Click="UxSubmitBtn_Click" Grid.Column="1"/>
-        <TextBox Name="uxMsgTb" HorizontalAlignment="Left" Height="80" Margin="71,249,0,0" VerticalAlignment="Top" Width="471" Grid.ColumnSpan="2"/>
-        <Label Content="Msg:" HorizontalAlignment="Left" Height="27" Margin="69,215,0,0" VerticalAlignment="Top" Width="43" RenderTransformOrigin="0.744,3.407"/>
+        <TextBox Name="uxMsgTb" HorizontalAlignment="Left" Height="80" Margin="84,346,0,0" VerticalAlignment="Top" Width="471" Grid.ColumnSpan="2"/>
+        <Label Content="Msg:" HorizontalAlignment="Left" Height="27" Margin="75,314,0,0" VerticalAlignment="Top" Width="43" RenderTransformOrigin="0.744,3.407"/>
         <Label Content="Id Tag:" HorizontalAlignment="Left" Height="27" Margin="71,74,0,0" VerticalAlignment="Top" Width="47"/>
         <TextBox x:Name="uxIdTagTb" Text="TestTool" HorizontalAlignment="Left" Height="27" Margin="128,74,0,0" VerticalAlignment="Top" Width="63" RenderTransformOrigin="3.714,1"/>
         <Label Content="TransactionId:" HorizontalAlignment="Left" Height="27" Margin="162,74,0,0" VerticalAlignment="Top" Width="100" Grid.Column="1"/>
@@ -59,21 +59,21 @@
         <Label Content=" Value:" HorizontalAlignment="Left" Height="27" Margin="121,119,0,0" VerticalAlignment="Top" Width="54" Grid.Column="1"/>
         <TextBox x:Name="uxConfigValueTb" Text="30" HorizontalAlignment="Left" Height="27" Margin="180,117,0,0" VerticalAlignment="Top" Width="52" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
 
-        <Label Visibility="Hidden"   Content="Upload Firmware:" HorizontalAlignment="Left" Height="27" Margin="69,217,0,0" VerticalAlignment="Top" Width="113"/>
-        <TextBox Visibility="Hidden" x:Name="uxUploadFileTb" Text="" HorizontalAlignment="Left" Height="27" Margin="182,217,0,0" VerticalAlignment="Top" Width="210" RenderTransformOrigin="3.714,1" Grid.ColumnSpan="2"/>
-        <Button Visibility="Hidden"  x:Name="uxFileSubmitBtn" Content="..." HorizontalAlignment="Left" Margin="187,215,0,0" VerticalAlignment="Top" Width="46" Height="29" Click="uxFileSubmitBtn_Click" Grid.Column="1"/>
-        <Button Visibility="Hidden"  x:Name="uxUploadBtn" Content="Upload" HorizontalAlignment="Left" Margin="259,212,0,0" VerticalAlignment="Top" Width="52" Height="34" Click="uxUploadBtn_Click" Grid.Column="1"/>
-        <Label Visibility="Hidden"   Content="Publish Version:" HorizontalAlignment="Left" Height="27" Margin="69,266,0,0" VerticalAlignment="Top" Width="113"/>
-        <ComboBox Visibility="Hidden"  x:Name="uxPublishCb" HorizontalAlignment="Left" Margin="179,266,0,0" VerticalAlignment="Top" Width="213" Height="34" SelectionChanged="uxPublishCb_SelectionChanged" Grid.ColumnSpan="2"/>
-        <Button Visibility="Hidden"  x:Name="uxRefreshBtn" Content="Refresh" HorizontalAlignment="Left" Margin="192,266,0,0" VerticalAlignment="Top" Width="53" Height="34" Click="uxRefreshBtn_Click" Grid.Column="1"/>
-        <Button Visibility="Hidden"  x:Name="uxPublishBtn" Content="Publish" HorizontalAlignment="Left" Margin="258,266,0,0" VerticalAlignment="Top" Width="53" Height="34" Click="uxPublishBtn_Click" Grid.Column="1"/>
-        <Label Visibility="Hidden"  Content="ReservationId:" HorizontalAlignment="Left" Height="27" Margin="262,23,0,0" VerticalAlignment="Top" Width="100" Grid.Column="1"/>
-        <TextBox Visibility="Hidden"  x:Name="uxReservationTb" Text="0" HorizontalAlignment="Left" Height="27" Margin="367,23,0,0" VerticalAlignment="Top" Width="44" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
-        <Button  Visibility="Hidden" x:Name="uxClearPublishBtn" Content="Clear Publish" HorizontalAlignment="Left" Margin="325,266,0,0" VerticalAlignment="Top" Width="86" Height="34" Click="uxClearPublishBtn_Click" Grid.Column="1"/>
-        <Button Visibility="Hidden"  x:Name="uxFTPUploadBtn" Content="Upload(FTP)" HorizontalAlignment="Left" Margin="325,212,0,0" VerticalAlignment="Top" Width="86" Height="34" Click="uxFTPUploadBtn_Click" RenderTransformOrigin="2.058,0.529" Grid.Column="1"/>
+        <Label Visibility="Visible"   Content="Upload Firmware:" HorizontalAlignment="Left" Height="27" Margin="69,217,0,0" VerticalAlignment="Top" Width="113"/>
+        <TextBox Visibility="Visible" x:Name="uxUploadFileTb" Text="" HorizontalAlignment="Left" Height="27" Margin="182,217,0,0" VerticalAlignment="Top" Width="210" RenderTransformOrigin="3.714,1" Grid.ColumnSpan="2"/>
+        <Button Visibility="Visible"  x:Name="uxFileSubmitBtn" Content="..." HorizontalAlignment="Left" Margin="187,215,0,0" VerticalAlignment="Top" Width="46" Height="29" Click="uxFileSubmitBtn_Click" Grid.Column="1"/>
+        <Button Visibility="Visible"  x:Name="uxUploadBtn" Content="Upload" HorizontalAlignment="Left" Margin="259,212,0,0" VerticalAlignment="Top" Width="52" Height="34" Click="uxUploadBtn_Click" Grid.Column="1"/>
+        <Label Visibility="Visible"   Content="Publish Version:" HorizontalAlignment="Left" Height="27" Margin="69,266,0,0" VerticalAlignment="Top" Width="113"/>
+        <ComboBox Visibility="Visible"  x:Name="uxPublishCb" HorizontalAlignment="Left" Margin="179,266,0,0" VerticalAlignment="Top" Width="213" Height="34" SelectionChanged="uxPublishCb_SelectionChanged" Grid.ColumnSpan="2"/>
+        <Button Visibility="Visible"  x:Name="uxRefreshBtn" Content="Refresh" HorizontalAlignment="Left" Margin="192,266,0,0" VerticalAlignment="Top" Width="53" Height="34" Click="uxRefreshBtn_Click" Grid.Column="1"/>
+        <Button Visibility="Visible"  x:Name="uxPublishBtn" Content="Publish" HorizontalAlignment="Left" Margin="258,266,0,0" VerticalAlignment="Top" Width="53" Height="34" Click="uxPublishBtn_Click" Grid.Column="1"/>
+        <Label Visibility="Visible"  Content="ReservationId:" HorizontalAlignment="Left" Height="27" Margin="262,23,0,0" VerticalAlignment="Top" Width="100" Grid.Column="1"/>
+        <TextBox Visibility="Visible"  x:Name="uxReservationTb" Text="0" HorizontalAlignment="Left" Height="27" Margin="367,23,0,0" VerticalAlignment="Top" Width="44" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
+        <Button  Visibility="Visible" x:Name="uxClearPublishBtn" Content="Clear Publish" HorizontalAlignment="Left" Margin="325,266,0,0" VerticalAlignment="Top" Width="86" Height="34" Click="uxClearPublishBtn_Click" Grid.Column="1"/>
+        <Button Visibility="Visible"  x:Name="uxFTPUploadBtn" Content="Upload(FTP)" HorizontalAlignment="Left" Margin="325,212,0,0" VerticalAlignment="Top" Width="86" Height="34" Click="uxFTPUploadBtn_Click" RenderTransformOrigin="2.058,0.529" Grid.Column="1"/>
 
         <Label Content=" Expiry Time:" HorizontalAlignment="Left" Height="27" Margin="237,119,0,0" VerticalAlignment="Top" Width="80" Grid.Column="1"/>
 
-        <TextBox x:Name="uxExpiryTimeTb"  Margin="325,117,10,273" Text="2020/02/06 12:00" Grid.Column="1"></TextBox>
+        <TextBox x:Name="uxExpiryTimeTb"  Margin="325,117,10,302" Text="2020/02/06 12:00" Grid.Column="1"></TextBox>
     </Grid>
 </Window>

+ 49 - 34
TestTool.RemoteTriggerAPP/MainWindow.xaml.cs

@@ -50,10 +50,15 @@ namespace TestTool.RemoteTriggerAPP
         {
 
             InitializeComponent();
+            Loaded += MainWindow_Loaded;
             UploadClient.OnUploadProgress += UploadClient_OnUploadProgress;
 
         }
 
+        private void MainWindow_Loaded(object sender, RoutedEventArgs e)
+        {
+            uxChargeBoxIdTb.Text = Properties.Settings.Default.ChargeBoxId;
+        }
 
         private void UxSubmitBtn_Click(object sender, RoutedEventArgs e)
         {
@@ -186,39 +191,39 @@ namespace TestTool.RemoteTriggerAPP
                     break;
                 case "SetChargingProfile":
                     {
-                        //var chargingProfile = VerifyChargingProfile(chargingProfilePath);
-                        //if (chargingProfile != null)
-                        //{
-                        //    SetChargingProfile(chargingProfile);
-                        //}
-                        //else
-                        //{
-                        //    uxMsgTb.Text = "Please check chargingProfile.json exist in " + AppDomain.CurrentDomain.BaseDirectory;
-                        //}
-
-                        SetChargingProfile(new SetChargingProfileRequest()
+                        var chargingProfile = VerifyChargingProfile(chargingProfilePath);
+                        if (chargingProfile != null)
+                        {
+                            SetChargingProfile(chargingProfile);
+                        }
+                        else
                         {
-                            connectorId = 0,
-                            csChargingProfiles = new csChargingProfiles()
-                            {
-                                chargingProfileId = 1,
-                                chargingProfileKind = ChargingProfileKindType.Recurring,
-                                chargingProfilePurpose = ChargingProfilePurposeType.ChargePointMaxProfile,
-                                chargingSchedule = new ChargingSchedule()
-                                {
-                                    chargingRateUnit = ChargingRateUnitType.W,
-                                    chargingSchedulePeriod = new List<ChargingSchedulePeriod>()
-                                                    {
-                                                        new ChargingSchedulePeriod(){  startPeriod=0, limit=int.Parse(uxConfigValueTb.Text)}
-                                                    },
+                            uxMsgTb.Text = "Please check chargingProfile.json exist in " + AppDomain.CurrentDomain.BaseDirectory;
+                        }
+
+                        //SetChargingProfile(new SetChargingProfileRequest()
+                        //{
+                        //    connectorId = 0,
+                        //    csChargingProfiles = new csChargingProfiles()
+                        //    {
+                        //        chargingProfileId = 1,
+                        //        chargingProfileKind = ChargingProfileKindType.Recurring,
+                        //        chargingProfilePurpose = ChargingProfilePurposeType.ChargePointMaxProfile,
+                        //        chargingSchedule = new ChargingSchedule()
+                        //        {
+                        //            chargingRateUnit = ChargingRateUnitType.W,
+                        //            chargingSchedulePeriod = new List<ChargingSchedulePeriod>()
+                        //                            {
+                        //                                new ChargingSchedulePeriod(){  startPeriod=0, limit=int.Parse(uxConfigValueTb.Text)}
+                        //                            },
                                   
 
-                                },
-                                recurrencyKind = RecurrencyKindType.Daily,
-                                stackLevel = 1,
+                        //        },
+                        //        recurrencyKind = RecurrencyKindType.Daily,
+                        //        stackLevel = 1,
 
-                            }
-                        });
+                        //    }
+                        //});
 
                     }
                     break;
@@ -395,7 +400,7 @@ namespace TestTool.RemoteTriggerAPP
                 var request = new GetDiagnosticsRequest()
                 {
 
-                    location = new Uri(ftp ? "ftp://evseocpp:evseocpp@test.evsocket.phihong.com.cn/" : "http://test.evsocket.phihong.com.cn:9003/api/file/"),
+                    location = new Uri(ftp ? "ftp://evseocpp:evseocpp@test.evsocket.phihong.com.cn/" : "http://test.evsocket.phihong.com.cn:9003/api/v1/file/"),
                     retries = 1,
                     retryInterval = 30,
                     startTime = DateTime.Now.AddHours(-1).ToUniversalTime(),
@@ -443,7 +448,7 @@ namespace TestTool.RemoteTriggerAPP
                 var uuid = Guid.NewGuid().ToString();
                 var request = new SendLocalListRequest()
                 {
-                    listVersion = Convert.ToInt32(DateTime.Now.AddYears(-100).Ticks%100000000),
+                    listVersion = Convert.ToInt32(DateTimeOffset.Now.AddDays(-50).ToUnixTimeSeconds()),
                     updateType = isFull ? UpdateType.Full : UpdateType.Differential,
                     localAuthorizationList = new List<AuthorizationData>()
                     //localAuthorizationList = new List<AuthorizationData>()
@@ -978,7 +983,7 @@ namespace TestTool.RemoteTriggerAPP
         {
             using (var db = new MainDBContext())
             {
-                publishes = db.UploadFile.Where(c => c.CustomerId == new Guid("8456AED9-6DD9-4BF3-A94C-9F5DCB9506F7") ).OrderByDescending(c => c.Id).Take(20).ToList();
+                publishes = db.UploadFile.Where(c => c.CustomerId == new Guid("8456AED9-6DD9-4BF3-A94C-9F5DCB9506F7") ).OrderByDescending(c => c.CreatedOn).Take(20).ToList();
 
                 StringBuilder sb = new StringBuilder();
                 uxPublishCb.Items.Clear();
@@ -1017,13 +1022,16 @@ namespace TestTool.RemoteTriggerAPP
                     CreatedOn = DateTime.Now.ToUniversalTime()
                 };
 
-                obj= db.MachineVersionFile.Add(obj);
+                db.MachineVersionFile.Add(obj);
 
                 //將machine的軟體更新更新到這個值
+                db.SaveChanges();
 
-                machine.FW_AssignedVersion = obj.Id;            
+                machine.FW_AssignedVersion = obj.Id;
 
                 db.SaveChanges();
+
+
             }
             uxMsgTb.Text = "Publish Complete";
 
@@ -1050,6 +1058,13 @@ namespace TestTool.RemoteTriggerAPP
 
         }
 
+        private void uxChargeBoxIdTb_LostFocus(object sender, RoutedEventArgs e)
+        {
+            Properties.Settings.Default.ChargeBoxId = uxChargeBoxIdTb.Text;
+            Properties.Settings.Default.Save();
+          
+        }
 
+       
     }
 }

+ 13 - 1
TestTool.RemoteTriggerAPP/Properties/Settings.Designer.cs

@@ -12,7 +12,7 @@ namespace TestTool.RemoteTriggerAPP.Properties {
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -40,5 +40,17 @@ namespace TestTool.RemoteTriggerAPP.Properties {
                 return ((string)(this["FTPFilePreUrl"]));
             }
         }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("OCTT_1")]
+        public string ChargeBoxId {
+            get {
+                return ((string)(this["ChargeBoxId"]));
+            }
+            set {
+                this["ChargeBoxId"] = value;
+            }
+        }
     }
 }

+ 3 - 0
TestTool.RemoteTriggerAPP/Properties/Settings.settings

@@ -8,5 +8,8 @@
     <Setting Name="FTPFilePreUrl" Type="System.String" Scope="Application">
       <Value Profile="(Default)">ftp://evseocpp:evseocpp@test.evsocket.phihong.com.cn/</Value>
     </Setting>
+    <Setting Name="ChargeBoxId" Type="System.String" Scope="User">
+      <Value Profile="(Default)">OCTT_1</Value>
+    </Setting>
   </Settings>
 </SettingsFile>