Selaa lähdekoodia

2020/06/08 Jessica
Actions:
1.加入 Domain.dll 版本號 e07ea1e
2. fix DataTransfer 沒有發送的問題

Jessica.Tseng 4 vuotta sitten
vanhempi
commit
51ebb0f213

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


BIN
EVCB_OCPP.WSServer/DLL/EVCB_OCPP.Packet.dll


+ 27 - 0
EVCB_OCPP.WSServer/Message/CoreProfileHandler.cs

@@ -38,7 +38,15 @@ namespace EVCB_OCPP.WSServer.Message
             {
                 switch (action)
                 {
+                    case Actions.DataTransfer:
+                        {
+                          
+                            var confirm = new DataTransferConfirmation() { status= DataTransferStatus.Rejected };
 
+                            result.Message = confirm;
+                            result.Success = true;
+                        }
+                        break;
                     case Actions.BootNotification:
                         {
                             BootNotificationRequest _request = request as BootNotificationRequest;
@@ -443,6 +451,25 @@ namespace EVCB_OCPP.WSServer.Message
 
             switch (action)
             {
+                case Actions.DataTransfer:
+                    {
+                        DataTransferConfirmation _confirm = confirm as DataTransferConfirmation;
+                        DataTransferRequest _request = _confirm.GetRequest() as DataTransferRequest;
+                        using (var db = new MainDBContext())
+                        {
+                            var operation = db.MachineOperateRecord.Where(x => x.SerialNo == requestId &&
+                            x.ChargeBoxId == session.ChargeBoxId && x.Status == 0).FirstOrDefault();
+                            if (operation != null)
+                            {
+                                operation.FinishedOn = DateTime.Now;
+                                operation.Status = 1;//電樁有回覆
+                                operation.EVSE_Status = (int)_confirm.status;
+                                operation.EVSE_Value = _confirm.data;
+                                db.SaveChanges();
+                            }
+                        }                      
+                    }
+                    break;
                 case Actions.ChangeAvailability:
                     {
                         ChangeAvailabilityConfirmation _confirm = confirm as ChangeAvailabilityConfirmation;

+ 2 - 2
EVCB_OCPP.WSServer/Program.cs

@@ -26,10 +26,10 @@ namespace EVCB_OCPP.WSServer
                 data = JsonConvert.SerializeObject(ff)
             
             };
-            CallMessage message = new CallMessage();
+           var ttttttttttt = JsonConvert.SerializeObject(req);
 
            // var ttttttttttttt =JsonConvert.SerializeObject(req);
-           var tttttttt= msgAnalyser.GenerateRequest(Guid.NewGuid().ToString(),Actions.DataTransfer.ToString(), req);
+            var tttttttt= msgAnalyser.GenerateRequest(Guid.NewGuid().ToString(),Actions.DataTransfer.ToString(), req);
             var array = JsonConvert.DeserializeObject<JArray>(tttttttt);
 
             ProtalServer s = new ProtalServer();

+ 6 - 0
EVCB_OCPP.WSServer/ProtalServer.cs

@@ -524,6 +524,7 @@ namespace EVCB_OCPP.WSServer
                     case "Core":
                         {
 
+
                             bool oldstatus = session.IsCheckIn;
                             var replyResult = await profileHandler.ExecuteCoreRequest(action, session, (IRequest)analysisResult.Message).ConfigureAwait(false);
                             if (replyResult.Success)
@@ -1233,6 +1234,11 @@ namespace EVCB_OCPP.WSServer
             {
 
                 if (clientData == null || string.IsNullOrEmpty(data)) return;
+
+                if(clientData.ChargeBoxId==null)
+                {
+                    logger.Fatal("********************session ChargeBoxId null sessionId="+clientData.SessionID);
+                }
                 using (var db = new ConnectionLogDBContext())
                 {
                     string sp = "[dbo].[uspInsertMachineConnectionLog] @CreatedOn," +

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


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


+ 71 - 68
TestTool.RemoteTriggerAPP/MainWindow.xaml

@@ -5,75 +5,78 @@
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:local="clr-namespace:TestTool.RemoteTriggerAPP"      
         mc:Ignorable="d"
-        Title="下發測試用工具(公司內網) V1.1.15 (20200529)" Height="481" Width="639">
-    <Grid Margin="0,2,2,0">
-        <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="109*"/>
-            <ColumnDefinition Width="222*"/>
-        </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" 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>
-            <ComboBoxItem>ChangeAvailability_Operative</ComboBoxItem>
-            <ComboBoxItem>ChangeConfiguration</ComboBoxItem>
-            <ComboBoxItem>ClearCache</ComboBoxItem>
-            <ComboBoxItem>GetConfiguration</ComboBoxItem>
-            <ComboBoxItem>RemoteStartTransaction</ComboBoxItem>
-            <ComboBoxItem>RemoteStartTransaction_ChargingProfile</ComboBoxItem>
-            <ComboBoxItem>RemoteStopTransaction</ComboBoxItem>
-            <ComboBoxItem>SoftReset</ComboBoxItem>
-            <ComboBoxItem>HardReset</ComboBoxItem>
-            <ComboBoxItem>UnlockConnector</ComboBoxItem>
-            <ComboBoxItem>GetLocalListVersion</ComboBoxItem>
-            <ComboBoxItem>SendLocalAuthorizationList_Full</ComboBoxItem>
-            <ComboBoxItem>SendLocalAuthorizationList_Diff</ComboBoxItem>
-            <ComboBoxItem>GetDiagnostics_FTP</ComboBoxItem>
-            <ComboBoxItem>GetDiagnostics_HTTP</ComboBoxItem>
-            <ComboBoxItem>ReserveNow</ComboBoxItem>
-            <ComboBoxItem>CancelReservation</ComboBoxItem>
-            <ComboBoxItem>SetChargingProfile</ComboBoxItem>
-            <ComboBoxItem>ClearChargingProfile</ComboBoxItem>
-            <ComboBoxItem>GetCompositeSchedule</ComboBoxItem>
-            <ComboBoxItem>TriggerMessage_BootNotification</ComboBoxItem>
-            <ComboBoxItem>TriggerMessage_DiagnosticsStatusNotification</ComboBoxItem>
-            <ComboBoxItem>TriggerMessage_FirmwareStatusNotification</ComboBoxItem>
-            <ComboBoxItem>TriggerMessage_Heartbeat</ComboBoxItem>
-            <ComboBoxItem>TriggerMessage_MeterValues</ComboBoxItem>
-            <ComboBoxItem>TriggerMessage_StatusNotification</ComboBoxItem>
-        </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="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"/>
-        <TextBox x:Name="uxTransactionIdTb" Text="0" HorizontalAlignment="Left" Height="27" Margin="267,74,0,0" VerticalAlignment="Top" Width="44" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
-        <Label Content="ParentId Tag:" HorizontalAlignment="Left" Height="27" Margin="212,74,0,0" VerticalAlignment="Top" Width="87" Grid.ColumnSpan="2"/>
-        <TextBox x:Name="uxParentIdTagTb" Text="TestTool" HorizontalAlignment="Left" Height="27" Margin="81,74,0,0" VerticalAlignment="Top" Width="73" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
-        <Label Content="Configuration Key:" HorizontalAlignment="Left" Height="27" Margin="71,119,0,0" VerticalAlignment="Top" Width="120"/>
-        <TextBox x:Name="uxConfigKeyTb" Text="ConnectionTimeOut" HorizontalAlignment="Left" Height="27" Margin="196,119,0,0" VerticalAlignment="Top" Width="138" RenderTransformOrigin="3.714,1" Grid.ColumnSpan="2"/>
-        <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"/>
+        Title="下發測試用工具(公司內網) V1.1.16 (20200604)" Height="481" Width="639">
+    <Viewbox>
+        <Grid Margin="0,2,2,0">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="109*"/>
+                <ColumnDefinition Width="222*"/>
+            </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" 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>
+                <ComboBoxItem>ChangeAvailability_Operative</ComboBoxItem>
+                <ComboBoxItem>DataTransfer</ComboBoxItem>
+                <ComboBoxItem>ChangeConfiguration</ComboBoxItem>
+                <ComboBoxItem>ClearCache</ComboBoxItem>
+                <ComboBoxItem>GetConfiguration</ComboBoxItem>
+                <ComboBoxItem>RemoteStartTransaction</ComboBoxItem>
+                <ComboBoxItem>RemoteStartTransaction_ChargingProfile</ComboBoxItem>
+                <ComboBoxItem>RemoteStopTransaction</ComboBoxItem>
+                <ComboBoxItem>SoftReset</ComboBoxItem>
+                <ComboBoxItem>HardReset</ComboBoxItem>
+                <ComboBoxItem>UnlockConnector</ComboBoxItem>
+                <ComboBoxItem>GetLocalListVersion</ComboBoxItem>
+                <ComboBoxItem>SendLocalAuthorizationList_Full</ComboBoxItem>
+                <ComboBoxItem>SendLocalAuthorizationList_Diff</ComboBoxItem>
+                <ComboBoxItem>GetDiagnostics_FTP</ComboBoxItem>
+                <ComboBoxItem>GetDiagnostics_HTTP</ComboBoxItem>
+                <ComboBoxItem>ReserveNow</ComboBoxItem>
+                <ComboBoxItem>CancelReservation</ComboBoxItem>
+                <ComboBoxItem>SetChargingProfile</ComboBoxItem>
+                <ComboBoxItem>ClearChargingProfile</ComboBoxItem>
+                <ComboBoxItem>GetCompositeSchedule</ComboBoxItem>
+                <ComboBoxItem>TriggerMessage_BootNotification</ComboBoxItem>
+                <ComboBoxItem>TriggerMessage_DiagnosticsStatusNotification</ComboBoxItem>
+                <ComboBoxItem>TriggerMessage_FirmwareStatusNotification</ComboBoxItem>
+                <ComboBoxItem>TriggerMessage_Heartbeat</ComboBoxItem>
+                <ComboBoxItem>TriggerMessage_MeterValues</ComboBoxItem>
+                <ComboBoxItem>TriggerMessage_StatusNotification</ComboBoxItem>
+            </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="265,162,0,0" VerticalAlignment="Top" Width="51" Height="34" Click="UxSubmitBtn_Click" Grid.Column="1"/>
+            <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"/>
+            <TextBox x:Name="uxTransactionIdTb" Text="0" HorizontalAlignment="Left" Height="27" Margin="261,74,0,0" VerticalAlignment="Top" Width="44" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
+            <Label Content="ParentId Tag:" HorizontalAlignment="Left" Height="27" Margin="202,74,0,0" VerticalAlignment="Top" Width="87" Grid.ColumnSpan="2"/>
+            <TextBox x:Name="uxParentIdTagTb" Text="TestTool" HorizontalAlignment="Left" Height="27" Margin="81,74,0,0" VerticalAlignment="Top" Width="73" RenderTransformOrigin="3.714,1" Grid.Column="1"/>
+            <Label Content="Configuration Key:" HorizontalAlignment="Left" Height="27" Margin="71,119,0,0" VerticalAlignment="Top" Width="120"/>
+            <TextBox x:Name="uxConfigKeyTb" Text="ConnectionTimeOut" HorizontalAlignment="Left" Height="27" Margin="196,119,0,0" VerticalAlignment="Top" Width="138" RenderTransformOrigin="3.714,1" Grid.ColumnSpan="2"/>
+            <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="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 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"/>
+            <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,302" Text="2020/02/06 12:00" Grid.Column="1"></TextBox>
-    </Grid>
+            <TextBox x:Name="uxExpiryTimeTb"  Margin="325,117,10,283" Text="2020/02/06 12:00" Grid.Column="1"></TextBox>
+        </Grid>
+    </Viewbox>
 </Window>

+ 45 - 11
TestTool.RemoteTriggerAPP/MainWindow.xaml.cs

@@ -45,6 +45,7 @@ namespace TestTool.RemoteTriggerAPP
         List<UploadFile> publishes = new List<UploadFile>();
         FTPClient UploadClient = new FTPClient(@"ftp://test.evsocket.phihong.com.cn", "testocpp", "testocpp");
         string chargingProfilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "chargingProfile.json");
+        string dataTransferPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "dataTransfer.json");
         int selectedPublish = -1;
         public MainWindow()
         {
@@ -76,7 +77,12 @@ namespace TestTool.RemoteTriggerAPP
                         SetChangeAvailability_Operative();
                     }
                     break;
-
+                case "DataTransfer":
+                    {
+                      var request =  VerifyDataTransfer(dataTransferPath);
+                        SetDataTransfer(request);
+                    }
+                    break;
                 case "GetConfiguration":
                     {
                         if (uxConfigKeyTb.Text == "")
@@ -246,6 +252,38 @@ namespace TestTool.RemoteTriggerAPP
             }
         }
 
+        private void SetDataTransfer(DataTransferRequest request)
+        {
+            try
+            {
+                var uuid = Guid.NewGuid().ToString();
+
+                WritetoDB(uuid, request);
+                uxMsgTb.Text = string.Format("UUID:{0}", uuid);
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show(ex.ToString());
+            }
+        }
+
+        private DataTransferRequest VerifyDataTransfer(string path)
+        {
+            DataTransferRequest request = null;
+
+            if (!File.Exists(path)) return request;
+
+            try
+            {
+                request = JsonConvert.DeserializeObject<DataTransferRequest>(File.ReadAllText(path));
+            }
+            catch
+            {
+
+            }
+            return request;
+        }
+
         private SetChargingProfileRequest VerifyChargingProfile(string path)
         {
             SetChargingProfileRequest request = null;
@@ -855,11 +893,9 @@ namespace TestTool.RemoteTriggerAPP
             ufObj.FileName = md5 + ufObj.FileExtensionName;
             ufObj.FilePath = "~/UploadFiles/Fw/" + ufObj.FileName;
             ufObj.FileSize = size;
-            ufObj.FileMD5 = md5;
-            ufObj.CustomerId = new Guid("8456AED9-6DD9-4BF3-A94C-9F5DCB9506F7");
+            ufObj.FileMD5 = md5;      
             ufObj.OriginName = System.IO.Path.GetFileName(uxUploadFileTb.Text);
-            ufObj.FileUrl = new Uri(Properties.Settings.Default.FilePreUrl + ufObj.FilePath.Replace("~/", "")).ToString();
-            ufObj.IsOnline = true;
+            ufObj.FileUrl = new Uri(Properties.Settings.Default.FilePreUrl + ufObj.FilePath.Replace("~/", "")).ToString();          
             ufObj.VendorId = "TestTool";
             ufObj.ModelName= "TestTool";
             ufObj.ModuleId = 0;
@@ -954,11 +990,9 @@ namespace TestTool.RemoteTriggerAPP
             ufObj.FileName = md5 + ufObj.FileExtensionName;
             ufObj.FilePath = "~/UploadFiles/Fw/" + ufObj.FileName;
             ufObj.FileSize = size;
-            ufObj.FileMD5 = md5;
-            ufObj.CustomerId = new Guid("8456AED9-6DD9-4BF3-A94C-9F5DCB9506F7");
+            ufObj.FileMD5 = md5;        
             ufObj.OriginName = System.IO.Path.GetFileName(uxUploadFileTb.Text);
-            ufObj.FileUrl = new Uri(Properties.Settings.Default.FTPFilePreUrl + ufObj.FileName).ToString();
-            ufObj.IsOnline = true;
+            ufObj.FileUrl = new Uri(Properties.Settings.Default.FTPFilePreUrl + ufObj.FileName).ToString();        
             ufObj.VendorId = "TestTool";
             ufObj.ModelName = "TestTool";
             ufObj.ModuleId = 0;
@@ -988,7 +1022,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.CreatedOn).Take(20).ToList();
+                publishes = db.UploadFile.OrderByDescending(c => c.CreatedOn).Take(20).ToList();
 
                 StringBuilder sb = new StringBuilder();
                 uxPublishCb.Items.Clear();
@@ -1022,7 +1056,7 @@ namespace TestTool.RemoteTriggerAPP
                 var machine = db.Machine.Where(x => x.ChargeBoxId == uxChargeBoxIdTb.Text).FirstOrDefault();
                 MachineVersionFile obj = new MachineVersionFile()
                 {
-                    MachineId = new Guid(machine.Id),
+                    ChargeBoxId = uxChargeBoxIdTb.Text,
                     UploadFileId = publishes[selectedPublish].Id,
                     CreatedOn = DateTime.Now.ToUniversalTime()
                 };