Просмотр исходного кода

Merge branch 'master' of http://unque781.synology.me:3000/GSI/OHV

ys-hwang 6 лет назад
Родитель
Сommit
51c4912ab4
42 измененных файлов с 93 добавлено и 1421 удалено
  1. 6 4
      Dev/Connection/OHVProtocolServer/OHVConnector/OHVConnector.csproj
  2. BIN
      Dev/OHV/Assambly/GSG.NET.dll
  3. BIN
      Dev/OHV/Assambly/GSG.NET.pdb
  4. BIN
      Dev/OHV/Assambly/OHVConnector.dll
  5. BIN
      Dev/OHV/Assambly/OHVConnector.pdb
  6. 6 6
      Dev/OHV/OHV.Module.Interactivity/MessageController.cs
  7. 5 5
      Dev/OHV/OHV.Module.Interactivity/OHV.Module.Interactivity.csproj
  8. 0 130
      Dev/OHV/OHV.Module.Interactivity/PopUp/ConveyorControlView.xaml
  9. 0 28
      Dev/OHV/OHV.Module.Interactivity/PopUp/ConveyorControlView.xaml.cs
  10. 0 190
      Dev/OHV/OHV.Module.Interactivity/PopUp/ConveyorControlViewModel.cs
  11. 1 1
      Dev/OHV/OHV.Module.Interactivity/PopUp/InOutView.xaml
  12. 2 4
      Dev/OHV/OHV.Module.ListViews/Views/CommandListView.xaml
  13. 5 5
      Dev/OHV/OHV.Module.MainViews/Views/HistoryView.xaml
  14. 12 0
      Dev/OHV/OHV.Module.MainViews/Views/UnitView.xaml
  15. 4 4
      Dev/OHV/OHV.Module.MainViews/Views/UnitViewModel.cs
  16. 0 130
      Dev/OHV/OHV.Module.Status/OHV.Module.Status.csproj
  17. 0 55
      Dev/OHV/OHV.Module.Status/Properties/AssemblyInfo.cs
  18. 0 62
      Dev/OHV/OHV.Module.Status/Properties/Resources.Designer.cs
  19. 0 117
      Dev/OHV/OHV.Module.Status/Properties/Resources.resx
  20. 0 30
      Dev/OHV/OHV.Module.Status/Properties/Settings.Designer.cs
  21. 0 7
      Dev/OHV/OHV.Module.Status/Properties/Settings.settings
  22. 0 28
      Dev/OHV/OHV.Module.Status/StatusViewModules.cs
  23. 0 26
      Dev/OHV/OHV.Module.Status/VehicleStatusView.xaml
  24. 0 23
      Dev/OHV/OHV.Module.Status/VehicleStatusView.xaml.cs
  25. 0 36
      Dev/OHV/OHV.Module.Status/VehicleStatusViewModel.cs
  26. 0 9
      Dev/OHV/OHV.Module.Status/packages.config
  27. 15 0
      Dev/OHV/OHV.SqliteDAL/DAL/AbstractDAL.cs
  28. 14 0
      Dev/OHV/OHV.SqliteDAL/DAL/RouteDAL.cs
  29. 13 1
      Dev/OHV/VehicleControlSystem/ControlLayer/Vehicle.cs
  30. 9 1
      Dev/OHV/VehicleControlSystem/Managers/HostManager.cs
  31. 1 1
      Dev/OHV/VehicleControlSystem/VehicleControlSystem.csproj
  32. 0 54
      Dev/OHV/ViewTest/CustomControl1.cs
  33. 0 55
      Dev/OHV/ViewTest/Properties/AssemblyInfo.cs
  34. 0 62
      Dev/OHV/ViewTest/Properties/Resources.Designer.cs
  35. 0 117
      Dev/OHV/ViewTest/Properties/Resources.resx
  36. 0 30
      Dev/OHV/ViewTest/Properties/Settings.Designer.cs
  37. 0 7
      Dev/OHV/ViewTest/Properties/Settings.settings
  38. 0 18
      Dev/OHV/ViewTest/Themes/Generic.xaml
  39. 0 16
      Dev/OHV/ViewTest/UserControl1.xaml
  40. 0 28
      Dev/OHV/ViewTest/UserControl1.xaml.cs
  41. 0 122
      Dev/OHV/ViewTest/ViewTest.csproj
  42. 0 9
      Dev/OHV/ViewTest/packages.config

+ 6 - 4
Dev/Connection/OHVProtocolServer/OHVConnector/OHVConnector.csproj

@@ -31,10 +31,6 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="GSG.NET, Version=1.0.0.0, Culture=neutral, PublicKeyToken=807456855d2bd861, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\OHV\Assambly\GSG.NET.dll</HintPath>
-    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
     <Reference Include="System.Xml.Linq" />
@@ -52,5 +48,11 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="QueueObject.cs" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\..\GSG\GSG\GSG.NET\GSG.NET.csproj">
+      <Project>{11e12a58-fdbc-444a-90e6-db96b7e98ff4}</Project>
+      <Name>GSG.NET</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

BIN
Dev/OHV/Assambly/GSG.NET.dll


BIN
Dev/OHV/Assambly/GSG.NET.pdb


BIN
Dev/OHV/Assambly/OHVConnector.dll


BIN
Dev/OHV/Assambly/OHVConnector.pdb


+ 6 - 6
Dev/OHV/OHV.Module.Interactivity/MessageController.cs

@@ -36,7 +36,12 @@ namespace OHV.Module.Interactivity
             containerRegistry.RegisterDialog<BatteryConfigView , BatteryConfigViewModel>();
             containerRegistry.RegisterDialog<OpticalReadingConfigView , OpticalReadingConfigViewModel>();
             containerRegistry.RegisterDialog<InOutControlView , InOutControlViewModel>();
-            containerRegistry.RegisterDialog<ConveyorControlView , ConveyorControlViewModel>();
+            containerRegistry.RegisterDialog<ConfigView, ConfigViewModel>();
+        }
+
+        public void ShowConfigPopupView()
+        {
+            this.dialogService.ShowDialog("ConfigView", new DialogParameters(), null);
         }
 
         public void ShowNotificationView( string Message , bool isOK = true )
@@ -91,10 +96,5 @@ namespace OHV.Module.Interactivity
         {
             this.dialogService.ShowDialog( "InOutControlView" , new DialogParameters() , null );
         }
-
-        public void ShowConveyorControlPopupView()
-        {
-            this.dialogService.ShowDialog( "ConveyorControlView" , new DialogParameters() , null );
-        }
     }
 }

+ 5 - 5
Dev/OHV/OHV.Module.Interactivity/OHV.Module.Interactivity.csproj

@@ -99,11 +99,11 @@
     <Compile Include="PopUp\CalcuratorView.xaml.cs">
       <DependentUpon>CalcuratorView.xaml</DependentUpon>
     </Compile>
-    <Compile Include="PopUp\ConveyorControlView.xaml.cs">
-      <DependentUpon>ConveyorControlView.xaml</DependentUpon>
+    <Compile Include="PopUp\ConfigView.xaml.cs">
+      <DependentUpon>ConfigView.xaml</DependentUpon>
     </Compile>
-    <Compile Include="PopUp\ConveyorControlViewModel.cs">
-      <DependentUpon>ConveyorControlView.xaml</DependentUpon>
+    <Compile Include="PopUp\ConfigViewModel.cs">
+      <DependentUpon>ConfigView.xaml</DependentUpon>
     </Compile>
     <Compile Include="PopUp\DriveServoView.xaml.cs">
       <DependentUpon>DriveServoView.xaml</DependentUpon>
@@ -169,7 +169,7 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
-    <Page Include="PopUp\ConveyorControlView.xaml">
+    <Page Include="PopUp\ConfigView.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>

+ 0 - 130
Dev/OHV/OHV.Module.Interactivity/PopUp/ConveyorControlView.xaml

@@ -1,130 +0,0 @@
-<UserControl x:Class="OHV.Module.Interactivity.PopUp.ConveyorControlView"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
-             xmlns:local="clr-namespace:OHV.Module.Interactivity.PopUp"
-             mc:Ignorable="d" 
-             xmlns:prism="http://prismlibrary.com/"
-             prism:ViewModelLocator.AutoWireViewModel="True"
-             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
-             Background="#455a64"
-             Height="600"
-             Width="800">
-
-    <prism:Dialog.WindowStyle>
-        <Style TargetType="Window">
-            <Setter Property="prism:Dialog.WindowStartupLocation" Value="CenterScreen" />
-            <Setter Property="Background" Value="Transparent"/>
-            <Setter Property="AllowsTransparency" Value="True"/>
-            <Setter Property="ResizeMode" Value="NoResize"/>
-            <Setter Property="WindowStyle" Value="None"/>
-            <Setter Property="BorderThickness" Value="1"/>
-            <Setter Property="BorderBrush" Value="{DynamicResource BorderSolidNormal}"/>
-            <Setter Property="Template" Value="{DynamicResource WindowTemplateKey}"/>
-
-            <!--<Style.Triggers>
-                <Trigger Property="ResizeMode" Value="CanResizeWithGrip">
-                    <Setter Property="Template" Value="{StaticResource WindowTemplateKey}"/>
-                </Trigger>
-            </Style.Triggers>-->
-        </Style>
-    </prism:Dialog.WindowStyle>
-
-    <Grid>
-        <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="*"/>
-            <ColumnDefinition Width="130"/>
-        </Grid.ColumnDefinitions>
-
-        <Grid Grid.Column="0">
-            <Grid Margin="15" Background="#37474f">
-                <Grid.RowDefinitions>
-                    <RowDefinition Height="*"/>
-                    <RowDefinition Height="*"/>
-                </Grid.RowDefinitions>
-
-                <Grid Grid.Row="0">
-                    <Button Content="Conveyor Control" Foreground="Orange" Background="{x:Null}" FontSize="20"
-                            VerticalAlignment="Top"
-                            Width="Auto" Height="Auto"/>
-                    <StackPanel Orientation="Horizontal"
-                                HorizontalAlignment="Center">
-
-                        <Button HorizontalAlignment="Stretch"
-                            Style="{StaticResource MaterialDesignRaisedButton}"
-                            materialDesign:ButtonAssist.CornerRadius="10"
-                            Command="{Binding ConveyorRunCommand}"
-                            CommandParameter="CW"
-                            Height="100" Width="100"
-                            Margin="15">
-                            <TextBlock Text="CW"/>
-                        </Button>
-
-                        <Button 
-                            Style="{StaticResource MaterialDesignRaisedButton}"
-                            materialDesign:ButtonAssist.CornerRadius="10"
-                            Height="100" Width="100"
-                            Margin="15"
-                            Command="{Binding ConveyorRunCommand}"
-                            CommandParameter="CCW">
-                            <TextBlock Text="CCW"/>
-                        </Button>
-
-                        <Button HorizontalAlignment="Stretch"
-                            Style="{StaticResource MaterialDesignRaisedButton}"
-                            materialDesign:ButtonAssist.CornerRadius="10"
-                            Command="{Binding ConveyorRunCommand}"
-                            CommandParameter="STOP"
-                            Height="100" Width="100"
-                            Margin="15">
-                            <StackPanel>
-                                <!--<materialDesign:PackIcon Kind="OneUp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto"/>-->
-                                <TextBlock Text="Stop" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
-                            </StackPanel>
-                        </Button>
-                    </StackPanel>
-                </Grid>
-
-                <Grid Grid.Row="1">
-                    <Button Content="Carrier Control" Foreground="Orange" Background="{x:Null}" FontSize="20"
-                            VerticalAlignment="Top" Width="Auto" Height="Auto"/>
-                    <StackPanel Orientation="Horizontal"
-                                HorizontalAlignment="Center">
-
-                        <Button Margin="15" 
-                                Width="100" Height="100"
-                                Style="{StaticResource MaterialDesignRaisedButton}"
-                                materialDesign:ButtonAssist.CornerRadius="10"
-                                Command="{Binding PosMoveCommand}"
-                                CommandParameter="Lock">
-                            <TextBlock Text="Lock"/>
-                        </Button>
-
-                        <Button Margin="15"
-                                Width="100" Height="100"
-                                Style="{StaticResource MaterialDesignRaisedButton}"
-                                materialDesign:ButtonAssist.CornerRadius="10"
-                                Command="{Binding PosMoveCommand}"
-                                CommandParameter="UnLock">
-                            <TextBlock Text="UnLock"/>
-                        </Button>
-
-                    </StackPanel>
-                </Grid>
-            </Grid>
-        </Grid>
-        
-        <Grid Grid.Column="1" Background="#37474f">
-            <Border Margin="1" BorderBrush="#FF00FFD3" BorderThickness="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
-            <StackPanel>
-                <Button Margin="7,20" HorizontalAlignment="Stretch" Height="Auto" BorderBrush="Gray" BorderThickness="2" Command="{Binding CloseDialogCommand}" CommandParameter="true">
-                    <StackPanel>
-                        <materialDesign:PackIcon Kind="ExitToApp" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="42" Width="auto"/>
-                        <TextBlock Text="Close" VerticalAlignment="Stretch" HorizontalAlignment="Center" />
-                    </StackPanel>
-                </Button>
-            </StackPanel>
-        </Grid>
-    </Grid>
-</UserControl>

+ 0 - 28
Dev/OHV/OHV.Module.Interactivity/PopUp/ConveyorControlView.xaml.cs

@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace OHV.Module.Interactivity.PopUp
-{
-    /// <summary>
-    /// ConveyorControlView.xaml에 대한 상호 작용 논리
-    /// </summary>
-    public partial class ConveyorControlView : UserControl
-    {
-        public ConveyorControlView( )
-        {
-            InitializeComponent();
-        }
-    }
-}

+ 0 - 190
Dev/OHV/OHV.Module.Interactivity/PopUp/ConveyorControlViewModel.cs

@@ -1,190 +0,0 @@
-using OHV.Common.Events;
-using Prism.Commands;
-using Prism.Events;
-using Prism.Mvvm;
-using Prism.Services.Dialogs;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Input;
-
-namespace OHV.Module.Interactivity.PopUp
-{
-    public class ConveyorControlViewModel : BindableBase, IDialogAware
-    {
-        private DelegateCommand<string> _closeDialogCommand;
-        public DelegateCommand<string> CloseDialogCommand =>
-            _closeDialogCommand ?? ( _closeDialogCommand = new DelegateCommand<string>( CloseDialog ) );
-
-        public event Action<IDialogResult> RequestClose;
-
-
-        private string _title = "ConveyorControlView";
-        public string Title
-        {
-            get { return this._title; }
-            set
-            {
-                this.SetProperty( ref this._title , value );
-            }
-        }
-
-        public ICommand ConveyorRunCommand { get; set; }
-        public ICommand PosMoveCommand { get; set; }
-
-        IEventAggregator eventAggregator;
-        MessageController messageController;
-        public ConveyorControlViewModel( IEventAggregator _ea , MessageController _msg)
-        {
-            this.eventAggregator = _ea;
-
-            /*IO Publish Event*/
-            this.eventAggregator.GetEvent<IOControlPubSubEvent>().Unsubscribe( UICallbackCommunivation );
-            this.eventAggregator.GetEvent<IOControlPubSubEvent>().Subscribe( UICallbackCommunivation , ThreadOption.UIThread );
-
-            /*Lock&UnLock Publish Event*/
-            this.eventAggregator.GetEvent<AxisControlPubSubEvent>().Unsubscribe( AxisUICallbackCommunication );
-            this.eventAggregator.GetEvent<AxisControlPubSubEvent>().Subscribe( AxisUICallbackCommunication , ThreadOption.UIThread );
-
-            this.messageController = _msg;
-
-            this.ConveyorRunCommand = new DelegateCommand<object>( ExecuteCvCommand );
-            this.PosMoveCommand = new DelegateCommand<object>( ExecutePosMoveCommand );
-        }
-
-        private void ExecutePosMoveCommand( object obj )
-        {
-            this.messageController.ShowConfirmationPopupView( "Carrier Move To ?" , r =>
-            {
-                if ( r.Result == ButtonResult.OK )
-                {
-                    var selectedPos = obj.ToString();
-
-                    var msg = new AxisControlEventArgs
-                    {
-                        Dir = AxisControlEventArgs.eEventDir.ToBack ,
-                        Kind = AxisControlEventArgs.eAxisControlKind.Move ,
-                        Axis = AxisControlEventArgs.eAxises.LR_SYNC ,
-                    };
-
-                    switch ( selectedPos )
-                    {
-                        case "Lock":
-                            msg.PosDir = AxisControlEventArgs.ePosDir.Lock;
-                            break;
-                        case "UnLock":
-                            msg.PosDir = AxisControlEventArgs.ePosDir.UnLock;
-                            break;
-                    }
-
-                    this.AxisPublishEvent( msg );
-                }
-            } );
-        }
-
-        private void AxisPublishEvent( AxisControlEventArgs msg )
-        {
-            this.eventAggregator.GetEvent<AxisControlPubSubEvent>().Publish( msg );
-        }
-
-        private void AxisUICallbackCommunication( AxisControlEventArgs _args )
-        {
-            if ( _args.Dir == AxisControlEventArgs.eEventDir.ToFront )
-            {
-
-            }
-        }
-
-        private void UICallbackCommunivation( IOControlEventArgs _args )
-        {
-            if ( _args.EventDir == IOControlEventArgs.eEventDir.ToFront )
-            {
-
-            }
-        }
-
-        private void ExecuteCvCommand( object _obj )
-        {
-            var type = _obj.ToString();
-            var order = string.Empty;
-            switch(type)
-            {
-                case "CW":
-                    order = "OUT_CV_CWCCW";
-                    break;
-                case "CCW":
-                    order = "OUT_CV_CWCCW";
-                    break;
-                case "STOP":
-                    order = "STOP";
-                    break;
-            }
-
-            var msg = new IOControlEventArgs
-            {
-                OutPutTag = order.ToString()
-            };
-
-            this.PublishEvent( msg );
-        }
-
-        private void PublishEvent( IOControlEventArgs _args )
-        {
-            this.eventAggregator.GetEvent<IOControlPubSubEvent>().Publish( _args );
-        }
-
-        #region Dialog
-        public bool CanCloseDialog( )
-        {
-            return true;
-        }
-
-        public void OnDialogClosed( )
-        {
-            this.eventAggregator.GetEvent<IOControlPubSubEvent>().Publish( new IOControlEventArgs { EventDir = IOControlEventArgs.eEventDir.ToBack } );
-            this.eventAggregator.GetEvent<IOControlPubSubEvent>().Unsubscribe( UICallbackCommunivation );
-
-            //TODO: - [03-14 ys-hwang] - Closed 해제 처리해줄때 Kind == OriginReturn 값이 들어와버림 그래서 NONE 생성 
-            this.eventAggregator.GetEvent<AxisControlPubSubEvent>().Publish( new AxisControlEventArgs 
-            { 
-                Dir = AxisControlEventArgs.eEventDir.ToBack, 
-                Kind = AxisControlEventArgs.eAxisControlKind.NONE 
-            } );
-            this.eventAggregator.GetEvent<AxisControlPubSubEvent>().Unsubscribe( AxisUICallbackCommunication );
-        }
-
-        public void OnDialogOpened( IDialogParameters parameters )
-        {
-            /*IO*/
-            this.eventAggregator.GetEvent<IOControlPubSubEvent>().Publish( new IOControlEventArgs { EventDir = IOControlEventArgs.eEventDir.ToBack } );
-
-            /*Lock Axis*/
-            //TODO: - [03-14 ys-hwang] - Opened 할당 시 Kind == OriginReturn 값이 들어와버림 그래서 NONE 생성 
-            this.eventAggregator.GetEvent<AxisControlPubSubEvent>().Publish( new AxisControlEventArgs 
-            { 
-                Dir = AxisControlEventArgs.eEventDir.ToBack,
-                Kind = AxisControlEventArgs.eAxisControlKind.NONE
-            } );
-        }
-
-        private void CloseDialog( string parameter )
-        {
-            ButtonResult result = ButtonResult.None;
-
-            if ( parameter?.ToLower() == "true" )
-                result = ButtonResult.OK;
-            else if ( parameter?.ToLower() == "false" )
-                result = ButtonResult.Cancel;
-
-            RaiseRequestClose( new DialogResult( result ) );
-        }
-
-        public virtual void RaiseRequestClose( IDialogResult dialogResult )
-        {
-            RequestClose?.Invoke( dialogResult );
-        }
-        #endregion
-    }
-}

+ 1 - 1
Dev/OHV/OHV.Module.Interactivity/PopUp/InOutView.xaml

@@ -36,7 +36,7 @@
             <ColumnDefinition/>
             <ColumnDefinition Width="130"/>
         </Grid.ColumnDefinitions>
-        
+
         <DockPanel>
             <ContentControl Grid.Column="0" prism:RegionManager.RegionName="IOView"/>
         </DockPanel>

+ 2 - 4
Dev/OHV/OHV.Module.ListViews/Views/CommandListView.xaml

@@ -58,11 +58,9 @@
                                 <Setter Property="Background" Value="{x:Null}"></Setter>
                             </Trigger>
                         </Style.Triggers>
+                        <Setter Property="TextBlock.TextAlignment" Value="Center" />
+                        <Setter Property="FontSize" Value="15"/>
                     </Style>
-                    <!--<Style TargetType="{x:Type DataGridColumnHeader}">
-                        <Setter Property="Foreground" Value="White"/>
-                        <Setter Property="Background" Value="Transparent"/>
-                    </Style>-->
                 </DataGrid.Resources>
 
                 <DataGrid.Columns>

+ 5 - 5
Dev/OHV/OHV.Module.MainViews/Views/HistoryView.xaml

@@ -18,7 +18,7 @@
             <ColumnDefinition Width="*"/>
             <ColumnDefinition Width="Auto"/>
         </Grid.ColumnDefinitions>
-        
+
         <Grid Grid.Column="0">
             <Grid Margin="15,15" Background="#263238">
                 <DockPanel>
@@ -74,7 +74,7 @@
                                     </Style>
                                 </DataGridTextColumn.HeaderStyle>
                             </materialDesign:DataGridTextColumn>
-                            
+
                             <materialDesign:DataGridTextColumn Header="Text" Width="150" Binding="{Binding Text}" EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}">
                                 <DataGridTextColumn.HeaderStyle>
                                     <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}">
@@ -94,7 +94,7 @@
                                     </Style>
                                 </DataGridTextColumn.HeaderStyle>
                             </materialDesign:DataGridTextColumn>
-                            
+
                             <materialDesign:DataGridTextColumn Header="Solution" Width="300" Binding="{Binding Solution}" EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}">
                                 <DataGridTextColumn.HeaderStyle>
                                     <Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}">
@@ -104,7 +104,7 @@
                                     </Style>
                                 </DataGridTextColumn.HeaderStyle>
                             </materialDesign:DataGridTextColumn>
-                            
+
                         </DataGrid.Columns>
 
                         <!--<DataGrid.RowStyle>
@@ -112,7 +112,7 @@
                                 <Setter Property="TextAlignment" Value="Center"/>
                             </Style>
                         </DataGrid.RowStyle>-->
-                        
+
                     </DataGrid>
                 </DockPanel>
             </Grid>

+ 12 - 0
Dev/OHV/OHV.Module.MainViews/Views/UnitView.xaml

@@ -81,6 +81,18 @@
                                 HorizontalAlignment="Center"
                                 Margin="20">
 
+                        <Button HorizontalAlignment="Stretch"
+                             Style="{StaticResource MaterialDesignRaisedButton}"
+                            Margin="20"
+                            materialDesign:ButtonAssist.CornerRadius="20"
+                            Command="{Binding ConfigCommand}"
+                            Height="150" Width="220">
+                            <StackPanel>
+                                <materialDesign:PackIcon Kind="Gear" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="100"/>
+                                <TextBlock FontSize="30" Text="Config" VerticalAlignment="Stretch" HorizontalAlignment="Center"/>
+                            </StackPanel>
+                        </Button>
+
                         <Button HorizontalAlignment="Stretch"
                             Style="{StaticResource MaterialDesignRaisedButton}"
                             Margin="20"

+ 4 - 4
Dev/OHV/OHV.Module.MainViews/Views/UnitViewModel.cs

@@ -22,7 +22,7 @@ namespace OHV.Module.MainViews.Views
         public ICommand InoutPupup { get; set; }
         public ICommand BatteryPopup { get; set; }
         public ICommand OpticalReaderPopup { get; set; }
-        public ICommand ConveyorPopup { get; set; }
+        public ICommand ConfigCommand { get; set; }
 
         public UnitViewModel( IEventAggregator _ea , VCSystem _vcSystem , MessageController _msgController )
         {
@@ -34,12 +34,12 @@ namespace OHV.Module.MainViews.Views
             this.InoutPupup = new DelegateCommand( ExecuteInOutCommand );
             this.BatteryPopup = new DelegateCommand( ExecuteBatteryCommand );
             this.OpticalReaderPopup = new DelegateCommand( ExecuteOpticalReadCommand );
-            this.ConveyorPopup = new DelegateCommand( ExecuteConveyorPopup );
+            this.ConfigCommand = new DelegateCommand(ExecuteConfigCommand);
         }
 
-        private void ExecuteConveyorPopup( )
+        private void ExecuteConfigCommand()
         {
-            this.msgController.ShowConveyorControlPopupView();
+            this.msgController.ShowConfigPopupView();
         }
 
         private void ExecuteOpticalReadCommand( )

+ 0 - 130
Dev/OHV/OHV.Module.Status/OHV.Module.Status.csproj

@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{D00450D6-DE54-4584-A377-7AA5D5964D2C}</ProjectGuid>
-    <OutputType>library</OutputType>
-    <RootNamespace>OHV.Module.Status</RootNamespace>
-    <AssemblyName>OHV.Module.Status</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <WarningLevel>4</WarningLevel>
-    <Deterministic>true</Deterministic>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
-      <HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net45\CommonServiceLocator.dll</HintPath>
-    </Reference>
-    <Reference Include="MaterialDesignColors, Version=1.2.2.920, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\MaterialDesignColors.1.2.2\lib\net45\MaterialDesignColors.dll</HintPath>
-    </Reference>
-    <Reference Include="MaterialDesignThemes.Wpf, Version=3.0.1.920, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\MaterialDesignThemes.3.0.1\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath>
-    </Reference>
-    <Reference Include="Prism, Version=7.2.0.1422, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
-      <HintPath>..\packages\Prism.Core.7.2.0.1422\lib\net45\Prism.dll</HintPath>
-    </Reference>
-    <Reference Include="Prism.Wpf, Version=7.2.0.1422, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
-      <HintPath>..\packages\Prism.Wpf.7.2.0.1422\lib\net45\Prism.Wpf.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.ValueTuple.4.5.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Prism.Wpf.7.2.0.1422\lib\net45\System.Windows.Interactivity.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Xml" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Xaml">
-      <RequiredTargetFramework>4.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="WindowsBase" />
-    <Reference Include="PresentationCore" />
-    <Reference Include="PresentationFramework" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="VehicleStatusViewModel.cs">
-      <DependentUpon>VehicleStatusView.xaml</DependentUpon>
-    </Compile>
-    <Page Include="VehicleStatusView.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </Page>
-    <Compile Include="StatusViewModules.cs" />
-    <Compile Include="VehicleStatusView.xaml.cs">
-      <DependentUpon>VehicleStatusView.xaml</DependentUpon>
-      <SubType>Code</SubType>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>Resources.resx</DependentUpon>
-    </Compile>
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Settings.settings</DependentUpon>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-    </Compile>
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-    </EmbeddedResource>
-    <None Include="packages.config" />
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\OHV.Common\OHV.Common.csproj">
-      <Project>{0D1F7FBC-BFB0-4EE4-852D-E2A8D62C5708}</Project>
-      <Name>OHV.Common</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\VehicleControlSystem\VehicleControlSystem.csproj">
-      <Project>{73BAB40E-FC7D-4AB5-85CA-B4CF221DFBD1}</Project>
-      <Name>VehicleControlSystem</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Import Project="..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets" Condition="Exists('..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets')" />
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
-    <PropertyGroup>
-      <ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
-    </PropertyGroup>
-    <Error Condition="!Exists('..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets'))" />
-  </Target>
-</Project>

+ 0 - 55
Dev/OHV/OHV.Module.Status/Properties/AssemblyInfo.cs

@@ -1,55 +0,0 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
-// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
-// 이러한 특성 값을 변경하세요.
-[assembly: AssemblyTitle("OHV.Module.Status")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OHV.Module.Status")]
-[assembly: AssemblyCopyright("Copyright ©  2020")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
-// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
-// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
-[assembly: ComVisible(false)]
-
-//지역화 가능 애플리케이션 빌드를 시작하려면 다음을 설정하세요.
-//.csproj 파일에서 <PropertyGroup> 내에 <UICulture>CultureYouAreCodingWith</UICulture>를
-//설정하십시오. 예를 들어 소스 파일에서 영어(미국)를
-//사용하는 경우 <UICulture>를 en-US로 설정합니다. 그런 다음 아래
-//NeutralResourceLanguage 특성의 주석 처리를 제거합니다. 아래 줄의 "en-US"를 업데이트하여
-//프로젝트 파일의 UICulture 설정과 일치시킵니다.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly:ThemeInfo(
-    ResourceDictionaryLocation.None, //테마별 리소스 사전의 위치
-                             //(페이지 또는 응용 프로그램 리소스 사진에
-                             // 리소스가 없는 경우에 사용됨)
-    ResourceDictionaryLocation.SourceAssembly //제네릭 리소스 사전의 위치
-                                      //(페이지 또는 응용 프로그램 리소스 사진에
-                                      // 리소스가 없는 경우에 사용됨)
-)]
-
-
-// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
-//
-//      주 버전
-//      부 버전 
-//      빌드 번호
-//      수정 버전
-//
-// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
-// 기본값으로 할 수 있습니다.
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

+ 0 - 62
Dev/OHV/OHV.Module.Status/Properties/Resources.Designer.cs

@@ -1,62 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     이 코드는 도구를 사용하여 생성되었습니다.
-//     런타임 버전:4.0.30319.42000
-//
-//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
-//     이러한 변경 내용이 손실됩니다.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OHV.Module.Status.Properties {
-    
-    
-    /// <summary>
-    ///   지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
-    /// </summary>
-    // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
-    // 클래스에서 자동으로 생성되었습니다.
-    // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
-    // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources() {
-        }
-        
-        /// <summary>
-        ///   이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if ((resourceMan == null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OHV.Module.Status.Properties.Resources", typeof(Resources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
-        ///   재정의합니다.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-    }
-}

+ 0 - 117
Dev/OHV/OHV.Module.Status/Properties/Resources.resx

@@ -1,117 +0,0 @@
-<?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.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: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" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-            </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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>

+ 0 - 30
Dev/OHV/OHV.Module.Status/Properties/Settings.Designer.cs

@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OHV.Module.Status.Properties
-{
-    
-    
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
-    {
-        
-        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-        
-        public static Settings Default
-        {
-            get
-            {
-                return defaultInstance;
-            }
-        }
-    }
-}

+ 0 - 7
Dev/OHV/OHV.Module.Status/Properties/Settings.settings

@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
-  <Profiles>
-    <Profile Name="(Default)" />
-  </Profiles>
-  <Settings />
-</SettingsFile>

+ 0 - 28
Dev/OHV/OHV.Module.Status/StatusViewModules.cs

@@ -1,28 +0,0 @@
-using OHV.Common.Shareds;
-using Prism.Ioc;
-using Prism.Modularity;
-using Prism.Mvvm;
-using Prism.Regions;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace OHV.Module.Status
-{
-    public class StatusViewModules : IModule
-    {
-        public void OnInitialized( IContainerProvider containerProvider )
-        {
-            ViewModelLocationProvider.Register<VehicleStatusView , VehicleStatusViewModel>();
-
-            var regionManager = containerProvider.Resolve<IRegionManager>();
-            regionManager.RegisterViewWithRegion( RegionNames.VehicleStatus , typeof( VehicleStatusView ) );
-        }
-
-        public void RegisterTypes( IContainerRegistry containerRegistry )
-        {
-        }
-    }
-}

+ 0 - 26
Dev/OHV/OHV.Module.Status/VehicleStatusView.xaml

@@ -1,26 +0,0 @@
-<UserControl x:Class="OHV.Module.Status.VehicleStatusView"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
-             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
-             xmlns:local="clr-namespace:OHV.Module.Status"
-             xmlns:prism="http://prismlibrary.com/"
-             prism:ViewModelLocator.AutoWireViewModel="True"
-             mc:Ignorable="d" 
-             d:DesignHeight="400" d:DesignWidth="800"
-             >
-
-    <Grid Background="#263238">
-        <Grid Margin="15">
-            <Border BorderBrush="Gray" BorderThickness="1"/>
-            <StackPanel Orientation="Vertical"
-                        VerticalAlignment="Center"
-                        HorizontalAlignment="Center">
-                <TextBlock Margin="5" Text="Vehicle Current State" Foreground="Silver" FontSize="30"/>
-                <TextBlock Margin="5" HorizontalAlignment="Center" 
-                           Text="{Binding VehicleState, FallbackValue=IDLE}" Foreground="Orange" FontSize="30"/>
-            </StackPanel>
-        </Grid>
-    </Grid>
-</UserControl>

+ 0 - 23
Dev/OHV/OHV.Module.Status/VehicleStatusView.xaml.cs

@@ -1,23 +0,0 @@
-using System.Windows.Controls;
-
-namespace OHV.Module.Status
-{
-    /// <summary>
-    /// UserControl1.xaml에 대한 상호 작용 논리
-    /// </summary>
-    public partial class VehicleStatusView : UserControl
-    {
-        public VehicleStatusViewModel ViewModel { get => this.DataContext as VehicleStatusViewModel; }
-        public VehicleStatusView()
-        {
-            InitializeComponent();
-
-            this.Loaded += VehicleStatusView_Loaded;
-        }
-
-        private void VehicleStatusView_Loaded( object sender , System.Windows.RoutedEventArgs e )
-        {
-            this.ViewModel.Init();
-        }
-    }
-}

+ 0 - 36
Dev/OHV/OHV.Module.Status/VehicleStatusViewModel.cs

@@ -1,36 +0,0 @@
-using Prism.Events;
-using Prism.Mvvm;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using VehicleControlSystem;
-
-namespace OHV.Module.Status
-{
-    public class VehicleStatusViewModel : BindableBase
-    {
-        string _vehicleState;
-        public string VehicleState
-        {
-            get { return this._vehicleState; }
-            set {
-                    this.SetProperty( ref this._vehicleState , value );
-                }
-        }
-        IEventAggregator eventAggregator;
-        VCSystem vcSystem;
-
-        public VehicleStatusViewModel(IEventAggregator _ea, VCSystem _vcSystem )
-        {
-            this.eventAggregator = _ea;
-
-            this.vcSystem = _vcSystem;
-
-            this.VehicleState = vcSystem.autoManager.OperationModeProperty.ToString();
-        }
-
-        public void Init( ) { }
-    }
-}

+ 0 - 9
Dev/OHV/OHV.Module.Status/packages.config

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="CommonServiceLocator" version="2.0.4" targetFramework="net45" />
-  <package id="MaterialDesignColors" version="1.2.2" targetFramework="net45" />
-  <package id="MaterialDesignThemes" version="3.0.1" targetFramework="net45" />
-  <package id="Prism.Core" version="7.2.0.1422" targetFramework="net45" />
-  <package id="Prism.Wpf" version="7.2.0.1422" targetFramework="net45" />
-  <package id="System.ValueTuple" version="4.5.0" targetFramework="net45" />
-</packages>

+ 15 - 0
Dev/OHV/OHV.SqliteDAL/DAL/AbstractDAL.cs

@@ -68,6 +68,21 @@ namespace OHV.SqliteDAL.DAL
             }
         }
 
+        public virtual bool HasK(object key)
+        {
+            return GetK(key) == null ? false: true ;
+        }
+
+        public virtual bool HasN(Expression<Func<T, bool>> where)
+        {
+            List<T> ll = new List<T>();
+            using (var db = new OHVDbContext("OHVDb"))
+            {
+                ll = db.Set<T>().Where(where).ToList();
+            }
+            return ll.Count > 0;
+        }
+
         public void Add(T entity)
         {
             using (var db = new OHVDbContext("OHVDb"))

+ 14 - 0
Dev/OHV/OHV.SqliteDAL/DAL/RouteDAL.cs

@@ -35,5 +35,19 @@ namespace OHV.SqliteDAL.DAL
 
             return count;
         }
+
+        public Route GetRouteFromOCSMatchID(string matchID)
+        {
+            Route route = null;
+
+            using (var db = new OHVDbContext("OHVDb"))
+            {
+                route = db.Set<Route>().Where(x => x.OCSMatchID.Equals(matchID)).SingleOrDefault();
+            }
+
+            return route;
+        }
+
+
     }
 }

+ 13 - 1
Dev/OHV/VehicleControlSystem/ControlLayer/Vehicle.cs

@@ -128,7 +128,6 @@ namespace VehicleControlSystem.ControlLayer
         }
 
         private eVehicleState vehicleState;
-
         public eVehicleState VehicleStateProperty
         {
             get { return vehicleState; }
@@ -391,7 +390,13 @@ namespace VehicleControlSystem.ControlLayer
 
                 if ( this.ObstacleStateProperty == eObstacleState.Blocked )
                     return false;
+
+                //Todo: 이동중 명령이 삭제 되면 처리 할일들.
+                if (!sql.SubCmdDAL.HasK(this.CurrentSubCommand.ID))
+                {
+                }
             }
+
             return true;
         }
 
@@ -426,6 +431,7 @@ namespace VehicleControlSystem.ControlLayer
                 return false;
             }
 
+            //Load, Unload 가 끝나면 메인 Command 를 완료 했다고 판다.
             sql.CommandDAL.UpdateState( sub.CmdID, eCommandState.Complete );
             sql.SubCmdDAL.Delete( sub );
 
@@ -462,6 +468,12 @@ namespace VehicleControlSystem.ControlLayer
             return true;
         }
 
+        /// <summary>
+        /// Battery Charge
+        /// 
+        /// </summary>
+        /// <param name="sub"></param>
+        /// <returns></returns>
         public bool BatteryCharge( SubCmd sub )
         {
 

+ 9 - 1
Dev/OHV/VehicleControlSystem/Managers/HostManager.cs

@@ -328,7 +328,6 @@ namespace VehicleControlSystem.Managers
             this.Reply( msg );
 
             var cmd = new Command();
-            cmd.TargetID = msg.Tag;
 
             switch ( msg.SubCode )
             {
@@ -347,7 +346,16 @@ namespace VehicleControlSystem.Managers
                 default:
                     return;
             }
+
             //Todo: 등록 되어 있는 경로 가 있는 지 확인 필요.
+            var route = this.sql.RouteDal.GetRouteFromOCSMatchID(msg.Tag);
+            if (route == null)
+            {
+                logger.E($"[OCS] Message Tag [{msg.Tag}] - not found route");
+                return;
+            }
+
+            cmd.TargetID = route.Name;
 
             this.sql.CommandDAL.Add( cmd );
 

+ 1 - 1
Dev/OHV/VehicleControlSystem/VehicleControlSystem.csproj

@@ -18,7 +18,7 @@
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
     <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG</DefineConstants>
+    <DefineConstants>TRACE;DEBUG;SIMULATION</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>

+ 0 - 54
Dev/OHV/ViewTest/CustomControl1.cs

@@ -1,54 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace ViewTest
-{
-    /// <summary>
-    /// XAML 파일에서 이 사용자 지정 컨트롤을 사용하려면 1a 또는 1b단계를 수행한 다음 2단계를 수행하십시오.
-    ///
-    /// 1a단계) 현재 프로젝트에 있는 XAML 파일에서 이 사용자 지정 컨트롤 사용.
-    /// 이 XmlNamespace 특성을 사용할 마크업 파일의 루트 요소에 이 특성을 
-    /// 추가합니다.
-    ///
-    ///     xmlns:MyNamespace="clr-namespace:ViewTest"
-    ///
-    ///
-    /// 1b단계) 다른 프로젝트에 있는 XAML 파일에서 이 사용자 지정 컨트롤 사용.
-    /// 이 XmlNamespace 특성을 사용할 마크업 파일의 루트 요소에 이 특성을 
-    /// 추가합니다.
-    ///
-    ///     xmlns:MyNamespace="clr-namespace:ViewTest;assembly=ViewTest"
-    ///
-    /// 또한 XAML 파일이 있는 프로젝트의 프로젝트 참조를 이 프로젝트에 추가하고
-    /// 다시 빌드하여 컴파일 오류를 방지해야 합니다.
-    ///
-    ///     솔루션 탐색기에서 대상 프로젝트를 마우스 오른쪽 단추로 클릭하고
-    ///     [참조 추가]->[프로젝트]를 차례로 클릭한 다음 이 프로젝트를 선택합니다.
-    ///
-    ///
-    /// 2단계)
-    /// 계속 진행하여 XAML 파일에서 컨트롤을 사용합니다.
-    ///
-    ///     <MyNamespace:CustomControl1/>
-    ///
-    /// </summary>
-    public class CustomControl1 : Control
-    {
-        static CustomControl1()
-        {
-            DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl1), new FrameworkPropertyMetadata(typeof(CustomControl1)));
-        }
-    }
-}

+ 0 - 55
Dev/OHV/ViewTest/Properties/AssemblyInfo.cs

@@ -1,55 +0,0 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 
-// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
-// 이러한 특성 값을 변경하세요.
-[assembly: AssemblyTitle("ViewTest")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("ViewTest")]
-[assembly: AssemblyCopyright("Copyright ©  2020")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 
-// 표시되지 않습니다.  COM에서 이 어셈블리의 형식에 액세스하려면 
-// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
-[assembly: ComVisible(false)]
-
-//지역화 가능 애플리케이션 빌드를 시작하려면 다음을 설정하세요.
-//.csproj 파일에서 <PropertyGroup> 내에 <UICulture>CultureYouAreCodingWith</UICulture>를
-//설정하십시오. 예를 들어 소스 파일에서 영어(미국)를
-//사용하는 경우 <UICulture>를 en-US로 설정합니다. 그런 다음 아래
-//NeutralResourceLanguage 특성의 주석 처리를 제거합니다. 아래 줄의 "en-US"를 업데이트하여
-//프로젝트 파일의 UICulture 설정과 일치시킵니다.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly:ThemeInfo(
-    ResourceDictionaryLocation.None, //테마별 리소스 사전의 위치
-                             //(페이지 또는 응용 프로그램 리소스 사진에
-                             // 리소스가 없는 경우에 사용됨)
-    ResourceDictionaryLocation.SourceAssembly //제네릭 리소스 사전의 위치
-                                      //(페이지 또는 응용 프로그램 리소스 사진에
-                                      // 리소스가 없는 경우에 사용됨)
-)]
-
-
-// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
-//
-//      주 버전
-//      부 버전 
-//      빌드 번호
-//      수정 버전
-//
-// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
-// 기본값으로 할 수 있습니다.
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]

+ 0 - 62
Dev/OHV/ViewTest/Properties/Resources.Designer.cs

@@ -1,62 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     이 코드는 도구를 사용하여 생성되었습니다.
-//     런타임 버전:4.0.30319.42000
-//
-//     파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
-//     이러한 변경 내용이 손실됩니다.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace ViewTest.Properties {
-    
-    
-    /// <summary>
-    ///   지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
-    /// </summary>
-    // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
-    // 클래스에서 자동으로 생성되었습니다.
-    // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
-    // ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources() {
-        }
-        
-        /// <summary>
-        ///   이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if ((resourceMan == null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ViewTest.Properties.Resources", typeof(Resources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
-        ///   재정의합니다.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-    }
-}

+ 0 - 117
Dev/OHV/ViewTest/Properties/Resources.resx

@@ -1,117 +0,0 @@
-<?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.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: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" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-            </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" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>

+ 0 - 30
Dev/OHV/ViewTest/Properties/Settings.Designer.cs

@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.42000
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace ViewTest.Properties
-{
-    
-    
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
-    {
-        
-        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-        
-        public static Settings Default
-        {
-            get
-            {
-                return defaultInstance;
-            }
-        }
-    }
-}

+ 0 - 7
Dev/OHV/ViewTest/Properties/Settings.settings

@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
-  <Profiles>
-    <Profile Name="(Default)" />
-  </Profiles>
-  <Settings />
-</SettingsFile>

+ 0 - 18
Dev/OHV/ViewTest/Themes/Generic.xaml

@@ -1,18 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:local="clr-namespace:ViewTest">
-    <Style TargetType="{x:Type local:CustomControl1}">
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="{x:Type local:CustomControl1}">
-                    <Border Background="{TemplateBinding Background}"
-                            BorderBrush="{TemplateBinding BorderBrush}"
-                            BorderThickness="{TemplateBinding BorderThickness}">
-
-                    </Border>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-</ResourceDictionary>

+ 0 - 16
Dev/OHV/ViewTest/UserControl1.xaml

@@ -1,16 +0,0 @@
-<UserControl x:Class="ViewTest.UserControl1"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
-             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
-             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
-             xmlns:local="clr-namespace:ViewTest"
-             mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800"
-             
-             xmlns:prism="http://prismlibrary.com/"
-             prism:ViewModelLocator.AutoWireViewModel="True">
-    <Grid>
-            
-    </Grid>
-</UserControl>

+ 0 - 28
Dev/OHV/ViewTest/UserControl1.xaml.cs

@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace ViewTest
-{
-    /// <summary>
-    /// UserControl1.xaml에 대한 상호 작용 논리
-    /// </summary>
-    public partial class UserControl1 : UserControl
-    {
-        public UserControl1( )
-        {
-            InitializeComponent();
-        }
-    }
-}

+ 0 - 122
Dev/OHV/ViewTest/ViewTest.csproj

@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{A9F51664-1F9F-4C97-9C1E-0E02D2FD5920}</ProjectGuid>
-    <OutputType>library</OutputType>
-    <RootNamespace>ViewTest</RootNamespace>
-    <AssemblyName>ViewTest</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <WarningLevel>4</WarningLevel>
-    <Deterministic>true</Deterministic>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="CommonServiceLocator, Version=2.0.4.0, Culture=neutral, PublicKeyToken=489b6accfaf20ef0, processorArchitecture=MSIL">
-      <HintPath>..\packages\CommonServiceLocator.2.0.4\lib\net45\CommonServiceLocator.dll</HintPath>
-    </Reference>
-    <Reference Include="MaterialDesignColors, Version=1.2.2.920, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\MaterialDesignColors.1.2.2\lib\net45\MaterialDesignColors.dll</HintPath>
-    </Reference>
-    <Reference Include="MaterialDesignThemes.Wpf, Version=3.0.1.920, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\MaterialDesignThemes.3.0.1\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath>
-    </Reference>
-    <Reference Include="Prism, Version=7.2.0.1422, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
-      <HintPath>..\packages\Prism.Core.7.2.0.1422\lib\net45\Prism.dll</HintPath>
-    </Reference>
-    <Reference Include="Prism.Wpf, Version=7.2.0.1422, Culture=neutral, PublicKeyToken=40ee6c3a2184dc59, processorArchitecture=MSIL">
-      <HintPath>..\packages\Prism.Wpf.7.2.0.1422\lib\net45\Prism.Wpf.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.ValueTuple.4.5.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <HintPath>..\packages\Prism.Wpf.7.2.0.1422\lib\net45\System.Windows.Interactivity.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Xml" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Xaml">
-      <RequiredTargetFramework>4.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="WindowsBase" />
-    <Reference Include="PresentationCore" />
-    <Reference Include="PresentationFramework" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="UserControl1.xaml.cs">
-      <DependentUpon>UserControl1.xaml</DependentUpon>
-    </Compile>
-    <Page Include="Themes\Generic.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </Page>
-    <Compile Include="CustomControl1.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Page Include="UserControl1.xaml">
-      <SubType>Designer</SubType>
-      <Generator>MSBuild:Compile</Generator>
-    </Page>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>Resources.resx</DependentUpon>
-    </Compile>
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Settings.settings</DependentUpon>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-    </Compile>
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-    </EmbeddedResource>
-    <None Include="packages.config" />
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Import Project="..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets" Condition="Exists('..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets')" />
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
-    <PropertyGroup>
-      <ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
-    </PropertyGroup>
-    <Error Condition="!Exists('..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MaterialDesignThemes.3.0.1\build\MaterialDesignThemes.targets'))" />
-  </Target>
-</Project>

+ 0 - 9
Dev/OHV/ViewTest/packages.config

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="CommonServiceLocator" version="2.0.4" targetFramework="net45" />
-  <package id="MaterialDesignColors" version="1.2.2" targetFramework="net45" />
-  <package id="MaterialDesignThemes" version="3.0.1" targetFramework="net45" />
-  <package id="Prism.Core" version="7.2.0.1422" targetFramework="net45" />
-  <package id="Prism.Wpf" version="7.2.0.1422" targetFramework="net45" />
-  <package id="System.ValueTuple" version="4.5.0" targetFramework="net45" />
-</packages>