Forráskód Böngészése

Revert "no message"

This reverts commit 71f5b55e4af60d5f99b605208f49c67bb5a64529.
SK.Kang 6 éve
szülő
commit
5eed2734cc

+ 0 - 12
Dev/OHV/OHV.Common/Interfaces/ISqlManager.cs

@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace OHV.Common.Interfaces
-{
-    public interface ISqlManager
-    {
-    }
-}

+ 1 - 25
Dev/OHV/OHV.Common/Model/AxisVelocityData.cs

@@ -1,36 +1,12 @@
 using System;
 using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
-using SQLite.CodeFirst;
 
 namespace OHV.Common.Model
 {
-    public class AxisVelocityData
+    class AxisVelocityData
     {
-        [Autoincrement]
-        public int id { get; set; }
-
-        [Index("AxisName")]
-        [Required]
-        public string AxisName { get; set; }
-        public double AutoRunVelocity { get; set; }
-        public double AutoRunAccelerate { get; set; }
-        public double AutoRunDecelerate { get; set; }
-        public double ManualRunVelocity { get; set; }
-        public double JogSlow { get; set; }
-        public double JogFast { get; set; }
-        public double Tolerance { get; set; }
-        public DateTime CreateTime { get; set; }
-        public DateTime EditTime { get; set; }
-
-        public AxisVelocityData()
-        {
-            this.CreateTime = DateTime.Now;
-            this.EditTime = DateTime.Now;
-        }
     }
 }

+ 0 - 2
Dev/OHV/OHV.Common/OHV.Common.csproj

@@ -63,10 +63,8 @@
     <Compile Include="Events\MessageEventArgs.cs" />
     <Compile Include="Events\PubSubEvent.cs" />
     <Compile Include="Interfaces\IModelBase.cs" />
-    <Compile Include="Interfaces\ISqlManager.cs" />
     <Compile Include="Interfaces\IVehicle.cs" />
     <Compile Include="Model\AxisPositionData.cs" />
-    <Compile Include="Model\AxisVelocityData.cs" />
     <Compile Include="Model\Command.cs" />
     <Compile Include="Model\Config.cs" />
     <Compile Include="Model\Route.cs" />

+ 0 - 2
Dev/OHV/OHV.SqliteDAL/ModelConfiguration.cs

@@ -16,8 +16,6 @@ namespace OHV.SqliteDAL
             modelBuilder.Entity<Route>();
             modelBuilder.Entity<Command>();
             modelBuilder.Entity<SubCmd>();
-            modelBuilder.Entity<AxisPositionData>();
-            modelBuilder.Entity<AxisVelocityData>();
         }
     }
 }

+ 0 - 17
Dev/OHV/OHV.SqliteDAL/OHV.SqliteDAL.csproj

@@ -34,34 +34,18 @@
     <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="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.3.0\lib\net45\EntityFramework.dll</HintPath>
     </Reference>
     <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.3.0\lib\net45\EntityFramework.SqlServer.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="SQLite.CodeFirst, Version=1.5.3.29, Culture=neutral, PublicKeyToken=eb96ba0a78d831a7, processorArchitecture=MSIL">
       <HintPath>..\packages\SQLite.CodeFirst.1.5.3.29\lib\net45\SQLite.CodeFirst.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.ComponentModel.DataAnnotations" />
-    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
-    <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.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
@@ -79,7 +63,6 @@
     <Compile Include="OHVDbContext.cs" />
     <Compile Include="OHVDbInitializer.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="SqliteManager.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="App.config" />

+ 2 - 45
Dev/OHV/OHV.SqliteDAL/OHVDbInitializer.cs

@@ -53,53 +53,10 @@ namespace OHV.SqliteDAL
                 },
             });
 
-            context.Set<AxisPositionData>().AddRange(new List<AxisPositionData>()
+            context.Set<Route>().AddRange(new List<Route>()
             { 
-                new AxisPositionData
+                new Route
                 { 
-                    AxisName = ConstString.AXIS_CARRIER_LOCK_LEFT,
-                    Name = ConstString.TEACH_POSITION_LOCK,
-                },
-                new AxisPositionData
-                {
-                    AxisName = ConstString.AXIS_CARRIER_LOCK_LEFT,
-                    Name = ConstString.TEACH_POSITION_UNLOCK,
-                },
-                new AxisPositionData
-                {
-                    AxisName = ConstString.AXIS_CARRIER_LOCK_RIGHT,
-                    Name = ConstString.TEACH_POSITION_LOCK,
-                },
-                new AxisPositionData
-                {
-                    AxisName = ConstString.AXIS_CARRIER_LOCK_RIGHT,
-                    Name = ConstString.TEACH_POSITION_UNLOCK,
-                },
-            });
-
-            context.Set<AxisVelocityData>().AddRange(new List<AxisVelocityData>()
-            {
-                new AxisVelocityData
-                {
-                    AxisName = ConstString.AXIS_CARRIER_LOCK_LEFT,
-                    AutoRunVelocity = 100,
-                    AutoRunAccelerate = 100,
-                    AutoRunDecelerate = 100,
-                    ManualRunVelocity = 100,
-                    JogSlow = 5,
-                    JogFast = 10,
-                    Tolerance = 0.5,
-                },
-                new AxisVelocityData
-                {
-                    AxisName = ConstString.AXIS_CARRIER_LOCK_RIGHT,
-                    AutoRunVelocity = 100,
-                    AutoRunAccelerate = 100,
-                    AutoRunDecelerate = 100,
-                    ManualRunVelocity = 100,
-                    JogSlow = 5,
-                    JogFast = 10,
-                    Tolerance = 0.5,
                 },
             });
         }

+ 0 - 40
Dev/OHV/OHV.SqliteDAL/SqliteManager.cs

@@ -1,40 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using OHV.Common.Interfaces;
-using OHV.SqliteDAL.DAL;
-using Prism.Ioc;
-using Prism.Modularity;
-
-namespace OHV.SqliteDAL
-{
-    [Module(ModuleName = "SqlManager")]
-    [ModuleDependency("VCSystem")]
-    public class SqliteManager : ISqlManager, IModule
-    {
-        public ConfigDAL ConfigDal { get; set; }
-        public RouteDAL RouteDal { get; set; }
-        public CommandDAL CommandDAL { get; set; }
-        public SubCmdDAL SubCmdDAL { get; set; }
-
-        public SqliteManager()
-        {
-            this.ConfigDal = new ConfigDAL();
-            this.RouteDal = new RouteDAL();
-            this.SubCmdDAL = new SubCmdDAL();
-            this.CommandDAL = new CommandDAL();
-        }
-
-        public void RegisterTypes(IContainerRegistry containerRegistry)
-        {
-            if (!containerRegistry.IsRegistered<ISqlManager>())
-                containerRegistry.RegisterSingleton<ISqlManager, SqliteManager>();
-        }
-
-        public void OnInitialized(IContainerProvider containerProvider)
-        {
-        }
-    }
-}

+ 0 - 4
Dev/OHV/OHV.SqliteDAL/packages.config

@@ -1,9 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="CommonServiceLocator" version="2.0.4" targetFramework="net45" />
   <package id="EntityFramework" version="6.3.0" 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="SQLite.CodeFirst" version="1.5.3.29" targetFramework="net45" />
-  <package id="System.ValueTuple" version="4.5.0" targetFramework="net45" />
 </packages>

+ 1 - 9
Dev/OHV/OHV.Vehicle/App.xaml.cs

@@ -4,8 +4,6 @@ using CommonServiceLocator;
 using GSG.NET.Logging;
 using GSG.NET.Utils;
 using OHV.Common.Events;
-using OHV.Common.Interfaces;
-using OHV.SqliteDAL;
 using Prism.Events;
 using Prism.Ioc;
 using Prism.Modularity;
@@ -71,11 +69,7 @@ namespace OHV.Vehicle
 
         protected override void RegisterTypes(IContainerRegistry containerRegistry)
         {
-            if ( !containerRegistry.IsRegistered<VCSystem>() )
-                containerRegistry.RegisterSingleton<VCSystem>();
-
-            if (!containerRegistry.IsRegistered<ISqlManager>())
-                containerRegistry.RegisterSingleton<ISqlManager, SqliteManager>();
+            containerRegistry.RegisterSingleton<VCSystem>();
         }
 
         protected override void ConfigureViewModelLocator()
@@ -89,9 +83,7 @@ namespace OHV.Vehicle
         {
             base.ConfigureModuleCatalog(moduleCatalog);
 
-            moduleCatalog.AddModule(typeof(SqliteManager));
             moduleCatalog.AddModule(typeof(VCSystem));
-
             moduleCatalog.AddModule(typeof(OHV.Module.Monitoring.MonitoringModules));
             moduleCatalog.AddModule(typeof(OHV.Module.MainViews.MainViewModules));
             moduleCatalog.AddModule(typeof(OHV.Module.Interactivity.MessageController));

+ 5 - 5
Dev/OHV/OHV.Vehicle/MainWindowViewModel.cs

@@ -86,11 +86,11 @@ namespace OHV.Vehicle
         public void InitViewModel()
         {
             //VCSystem.Instance.Init();
-            //var containerRegistry = ServiceLocator.Current.GetInstance<VCSystem>();
-            //if (containerRegistry.Equals(this.VCSystem))
-            //{
-            //    Console.WriteLine("==");
-            //}
+            var containerRegistry = ServiceLocator.Current.GetInstance<VCSystem>();
+            if (containerRegistry.Equals(this.VCSystem))
+            {
+                Console.WriteLine("==");
+            }
             //var vsys = containerRegistry.GetContainer().Resolve<IContainerProvider>();
 
             regionManager.RequestNavigate(RegionNames.MainView, "ModuleAutoView");

+ 1 - 5
Dev/OHV/OHV.Vehicle/OHV.Vehicle.csproj

@@ -155,7 +155,7 @@
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
     <None Include="Config\IO.xlsx">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
     <None Include="DB\OHVDb.sqlite" />
     <None Include="packages.config" />
@@ -190,10 +190,6 @@
       <Project>{cf748e61-69c2-4dec-a9ec-755b6999077e}</Project>
       <Name>OHV.Module.Monitoring</Name>
     </ProjectReference>
-    <ProjectReference Include="..\OHV.SqliteDAL\OHV.SqliteDAL.csproj">
-      <Project>{122d81c8-9ab9-4ced-80d2-9c4f2f9deb4c}</Project>
-      <Name>OHV.SqliteDAL</Name>
-    </ProjectReference>
     <ProjectReference Include="..\VehicleControlSystem\VehicleControlSystem.csproj">
       <Project>{73BAB40E-FC7D-4AB5-85CA-B4CF221DFBD1}</Project>
       <Name>VehicleControlSystem</Name>

+ 28 - 0
Dev/OHV/VehicleControlSystem/ControlLayer/Actuator/Cylinder/Cylinder.cs

@@ -148,32 +148,46 @@ namespace VehicleControlSystem.ControlLayer.Actuator.Cylinder
                         {
                             case E_CylinderType.UP_DOWN:
                                 return 110008;
+                                break;
                             case E_CylinderType.LEFT_RIGHT:
                                 return 110009;
+                                break;
                             case E_CylinderType.FOR_BACK:
                                 return 110010;
+                                break;
                             case E_CylinderType.UPSTREAM_DOWNSTREAM:
                                 return 110011;
+                                break;
                             case E_CylinderType.CW_CCW:
                                 return 110012;
+                                break;
                             case E_CylinderType.OPEN_CLOSE:
                                 return 110013;
+                                break;
                             case E_CylinderType.TURN_RETURN:
                                 return 110014;
+                                break;
                             case E_CylinderType.LOCK_UNLOCK:
                                 return 110015;
+                                break;
                             case E_CylinderType.UP_MID_DOWN:
                                 return 110012;
+                                break;
                             case E_CylinderType.LEFT_MIDE_RIGHT:
                                 return 110012;
+                                break;
                             case E_CylinderType.FOR_MID_BACK:
                                 return 110012;
+                                break;
                             case E_CylinderType.UPSTREAM_MID_DOWNSTREAM:
                                 return 110012;
+                                break;
                             case E_CylinderType.UPSTREAM_DOWNSTREAM_VARIOUS_VELOCITY:
                                 return 110012;
+                                break;
                             case E_CylinderType.UPSTREAM_MID_DOWNSTREAM_VARIOUS_VELOCITY:
                                 return 110012;
+                                break;
                             default:
                                 break;
                         }
@@ -584,32 +598,46 @@ namespace VehicleControlSystem.ControlLayer.Actuator.Cylinder
                         {
                             case E_CylinderType.UP_DOWN:
                                 return 110008;
+                                break;
                             case E_CylinderType.LEFT_RIGHT:
                                 return 110009;
+                                break;
                             case E_CylinderType.FOR_BACK:
                                 return 110010;
+                                break;
                             case E_CylinderType.UPSTREAM_DOWNSTREAM:
                                 return 110011;
+                                break;
                             case E_CylinderType.CW_CCW:
                                 return 110012;
+                                break;
                             case E_CylinderType.OPEN_CLOSE:
                                 return 110013;
+                                break;
                             case E_CylinderType.TURN_RETURN:
                                 return 110014;
+                                break;
                             case E_CylinderType.LOCK_UNLOCK:
                                 return 110015;
+                                break;
                             case E_CylinderType.UP_MID_DOWN:
                                 return 110012;
+                                break;
                             case E_CylinderType.LEFT_MIDE_RIGHT:
                                 return 110012;
+                                break;
                             case E_CylinderType.FOR_MID_BACK:
                                 return 110012;
+                                break;
                             case E_CylinderType.UPSTREAM_MID_DOWNSTREAM:
                                 return 110012;
+                                break;
                             case E_CylinderType.UPSTREAM_DOWNSTREAM_VARIOUS_VELOCITY:
                                 return 110012;
+                                break;
                             case E_CylinderType.UPSTREAM_MID_DOWNSTREAM_VARIOUS_VELOCITY:
                                 return 110012;
+                                break;
                             default:
                                 break;
                         }

+ 7 - 11
Dev/OHV/VehicleControlSystem/ControlLayer/Vehicle.cs

@@ -9,7 +9,6 @@ using GSG.NET.Logging;
 using GSG.NET.Utils;
 using OHV.Common.Model;
 using OHV.Common.Shareds;
-using OHV.SqliteDAL;
 using VehicleControlSystem.ControlLayer.Actuator.Cylinder;
 using VehicleControlSystem.ControlLayer.Axis;
 using VehicleControlSystem.ControlLayer.IO;
@@ -54,8 +53,6 @@ namespace VehicleControlSystem.ControlLayer
 
         IIO iO = null;
         GSIMotion motion = null;
-        SqliteManager sqliteManager = null;
-
 
         #region List.
         List<ICylinder> cylinders = new List<ICylinder>();
@@ -74,11 +71,10 @@ namespace VehicleControlSystem.ControlLayer
         }
 
 
-        public Vehicle(IIO io, SqliteManager sql)
+        public Vehicle(IIO io)
         {
             this.iO = io;
             this.motion = new GSIMotion();
-            this.sqliteManager = sql;
 
             this.obstacleBitList.AddRange(new string[] 
             {
@@ -144,14 +140,14 @@ namespace VehicleControlSystem.ControlLayer
                     if (this.VehicleStateProperty != eVehicleState.Idle) //상태가 Idle 가 아니면 subcmd 를 가져 오지 않는다.
                         continue;
 
-                    var subCmd = sqliteManager.SubCmdDAL.GetSubCmd();
+                    var subCmd = SqlManager.Instance.SubCmdDAL.GetSubCmd();
                     if (subCmd == null) continue;
 
-                    if (!sqliteManager.CommandDAL.All.Any(x => x.CommandID.Equals(subCmd.CmdID)))
+                    if (!SqlManager.Instance.CommandDAL.All.Any(x => x.CommandID.Equals(subCmd.CmdID)))
                     {
                         if (subCmd.CmdType == SubCmd.eCmdType.Auto) //자동 명령중 Main Command 가 없으면 삭제.
                         {
-                            this.sqliteManager.SubCmdDAL.Delete(subCmd);
+                            SqlManager.Instance.SubCmdDAL.Delete(subCmd);
                             logger.I($"SubCmd Deleted - ID={subCmd.ID}, CommandID={subCmd.CmdID}");
                         }
                     }
@@ -196,7 +192,7 @@ namespace VehicleControlSystem.ControlLayer
         {
             if (this.MoveTo(sub.TargetID))
             {
-                sqliteManager.SubCmdDAL.Delete(sub);
+                SqlManager.Instance.SubCmdDAL.Delete(sub);
             }
             else 
             { 
@@ -234,11 +230,11 @@ namespace VehicleControlSystem.ControlLayer
         void Load(SubCmd sub)
         {
             if ( this.LoadCarrier(sub))
-                sqliteManager.SubCmdDAL.Delete(sub);
+                SqlManager.Instance.SubCmdDAL.Delete(sub);
         }
         public bool LoadCarrier(SubCmd sub)
         {
-            var route = sqliteManager.RouteDal.GetRoute(sub.TargetID);
+            var route = SqlManager.Instance.RouteDal.GetRoute(sub.TargetID);
 
             if (!CorrectPosition(route, this.CurrentPosition))
                 return false; //Alarm

+ 5 - 8
Dev/OHV/VehicleControlSystem/Managers/HostManager.cs

@@ -6,7 +6,6 @@ using System.Threading.Tasks;
 using GSG.NET.Logging;
 using OHV.Common.Events;
 using OHV.Common.Shareds;
-using OHV.SqliteDAL;
 using OHVConnector;
 using Prism.Events;
 using VehicleControlSystem.ControlLayer;
@@ -23,23 +22,21 @@ namespace VehicleControlSystem.Managers
         OHVConnector.Manager manager = new OHVConnector.Manager();
         IEventAggregator eventAggregator = null;
         Vehicle vehicle;
-        SqliteManager sql = null;
 
-        public HostManager(IEventAggregator ea, Vehicle vehicle, SqliteManager sqlite)
+        public HostManager(IEventAggregator ea, Vehicle vehicle)
         {
             this.eventAggregator = ea;
             this.vehicle = vehicle;
-            this.sql = sqlite;
         }
 
         public void Init()
         {
             this.manager.Config = new Config
             {
-                ID = sql.ConfigDal.GetConfig(ConstString.VehicleID).Value,
-                IpAddress = sql.ConfigDal.GetConfig(ConstString.Addr).Value,
-                Port = Convert.ToInt16(sql.ConfigDal.GetConfig(ConstString.PortNo).Value),
-                HostID = sql.ConfigDal.GetConfig(ConstString.OCSID).Value,
+                ID = SqlManager.Instance.ConfigDal.GetConfig(ConstString.VehicleID).Value,
+                IpAddress = SqlManager.Instance.ConfigDal.GetConfig(ConstString.Addr).Value,
+                Port = Convert.ToInt16(SqlManager.Instance.ConfigDal.GetConfig(ConstString.PortNo).Value),
+                HostID = SqlManager.Instance.ConfigDal.GetConfig(ConstString.OCSID).Value,
             };
 
             this.manager.OnContd += Manager_OnContd;

+ 13 - 16
Dev/OHV/VehicleControlSystem/Managers/Scheduler.cs

@@ -10,7 +10,6 @@ using GSG.NET.Logging;
 using GSG.NET.Utils;
 using OHV.Common.Events;
 using OHV.Common.Model;
-using OHV.SqliteDAL;
 using Prism.Events;
 
 namespace VehicleControlSystem.Managers
@@ -32,16 +31,14 @@ namespace VehicleControlSystem.Managers
 
         IEventAggregator eventAggregator;
         AutoManager autoManager;
-        SqliteManager sql;
 
-        public Scheduler(IEventAggregator ea, AutoManager autoManager, SqliteManager sql)
+        public Scheduler(IEventAggregator ea, AutoManager autoManager)
         {
             this.CommandsList = new List<Command>();
             eventAggregator = ea;// CommonServiceLocator.ServiceLocator.Current.GetInstance<IEventAggregator>();
             eventAggregator.GetEvent<VCSMessagePubSubEvent>().Subscribe(OnReceivedMessageEvent);
 
             this.autoManager = autoManager;
-            this.sql = sql;
         }
 
         private void OnReceivedMessageEvent(VCSMessageEventArgs obj)
@@ -108,7 +105,7 @@ namespace VehicleControlSystem.Managers
                             break;
                         case OHV.Common.Shareds.eAutoModeState.Run:
                             {
-                                Command cmd = sql.CommandDAL.GetCmd();
+                                Command cmd = SqlManager.Instance.CommandDAL.GetCmd();
                                 if (cmd == null) continue;
 
                                 DoWork(cmd);
@@ -132,7 +129,7 @@ namespace VehicleControlSystem.Managers
             switch (cmd.State)
             {
                 case OHV.Common.Shareds.eCommandState.Queued:
-                    if (sql.SubCmdDAL.GetCount() <= 0)
+                    if ( SqlManager.Instance.SubCmdDAL.GetCount() <= 0)
                     {
                         switch (cmd.Type)
                         {
@@ -147,29 +144,29 @@ namespace VehicleControlSystem.Managers
                                 break;
                         }
                     }
-                    sql.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Assign);
+                    SqlManager.Instance.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Assign);
                     break;
 
                 case OHV.Common.Shareds.eCommandState.Assign: //Assign 되면 Vehicle 의 상태가 Busy 면 Processing 으로 전환.
                     { 
-                        var subCmd = sql.SubCmdDAL.GetSubCmd();
+                        var subCmd = SqlManager.Instance.SubCmdDAL.GetSubCmd();
                         if (subCmd == null) break;
 
                         if (!subCmd.CmdID.Equals(cmd.CommandID))
                             break;
                     }
 
-                    sql.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Processing);
+                    SqlManager.Instance.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Processing);
                     break;
 
                 case OHV.Common.Shareds.eCommandState.Processing:
                     {
-                        var subCmd = sql.SubCmdDAL.GetSubCmd();
+                        var subCmd = SqlManager.Instance.SubCmdDAL.GetSubCmd();
                         if (subCmd == null) // Move 명령을 수행 완료 했다고 판단.
                         {
                             if ( cmd.IsSecondCommanded)
                             {
-                                sql.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Complete);
+                                SqlManager.Instance.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Complete);
                                 break;
                             }
 
@@ -193,7 +190,7 @@ namespace VehicleControlSystem.Managers
                             }
                             else //Move Command
                             {
-                                sql.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Complete);
+                                SqlManager.Instance.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Complete);
                                 break;
                             }
                         }
@@ -203,11 +200,11 @@ namespace VehicleControlSystem.Managers
                         else //다른 아이디의 일을 하고 있을 경우 가 생길까??
                         { }
                     }
-                    sql.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Complete);
+                    SqlManager.Instance.CommandDAL.UpdateState(cmd.CommandID, OHV.Common.Shareds.eCommandState.Complete);
                     break;
 
                 case OHV.Common.Shareds.eCommandState.Complete:
-                    sql.CommandDAL.Delete(cmd);
+                    SqlManager.Instance.CommandDAL.Delete(cmd);
                     break;
                 default:
                     break;
@@ -238,7 +235,7 @@ namespace VehicleControlSystem.Managers
                 TargetID = cmd.TargetID,
                 CmdID = cmd.CommandID,
             };
-            sql.SubCmdDAL.Add(sub);
+            SqlManager.Instance.SubCmdDAL.Add(sub);
             logger.I($"{sub.ID} Sub Command Create - Type={sub.Type}, TargetID={sub.TargetID}, CommandID={sub.CmdID}");
 
             return true;
@@ -250,7 +247,7 @@ namespace VehicleControlSystem.Managers
             {
             };
 
-            sql.CommandDAL.Add(cmd);
+            SqlManager.Instance.CommandDAL.Add(cmd);
             logger.I($"{cmd.CommandID} Command Create - Type={cmd.Type}, TargetID={cmd.TargetID}");
             return true;
         }

+ 26 - 0
Dev/OHV/VehicleControlSystem/Managers/SqlManager.cs

@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using GSG.NET.ObjectBase;
+using OHV.SqliteDAL.DAL;
+
+namespace VehicleControlSystem.Managers
+{
+    public class SqlManager : SingletonBase<SqlManager>
+    {
+        public ConfigDAL ConfigDal { get; set; }
+        public RouteDAL RouteDal { get; set; }
+        public CommandDAL CommandDAL { get; set; }
+        public SubCmdDAL SubCmdDAL { get; set; }
+
+        private SqlManager()
+        {
+            this.ConfigDal = new ConfigDAL();
+            this.RouteDal = new RouteDAL();
+            this.SubCmdDAL = new SubCmdDAL();
+            this.CommandDAL = new CommandDAL();
+        }
+    }
+}

+ 5 - 15
Dev/OHV/VehicleControlSystem/VCSystem.cs

@@ -2,15 +2,12 @@
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
-using System.Runtime.CompilerServices;
 using System.Text;
 using System.Threading.Tasks;
 using GSG.NET;
 using GSG.NET.ObjectBase;
 using OHV.Common.Events;
-using OHV.Common.Interfaces;
 using OHV.Common.Model;
-using OHV.SqliteDAL;
 using Prism.Events;
 using Prism.Ioc;
 using Prism.Modularity;
@@ -21,7 +18,6 @@ using VehicleControlSystem.Managers;
 namespace VehicleControlSystem
 {
     [Module(ModuleName ="VCSystem")]
-    //[ModuleDependency("SqlManager")]
     public class VCSystem : IModule, IDisposable
     {
         Scheduler scheduler = null;
@@ -31,19 +27,14 @@ namespace VehicleControlSystem
         HostManager hostManager = null;
         Vehicle vehicle = null;
 
-        public SqliteManager sqlManager { get; set; }
-
-        public VCSystem(IEventAggregator ea, ISqlManager sql) 
+        public VCSystem(IEventAggregator ea) 
         {
-            //if (this.sqlManager == null) { }
             this.eventAggregator = ea;
 
             this.eventAggregator.GetEvent<ApplicationExitEvent>().Subscribe((o) => Dispose(), true);
 
             this.eventAggregator.GetEvent<VCSMessagePubSubEvent>().Unsubscribe(ReceivedMessageEvent);
             this.eventAggregator.GetEvent<VCSMessagePubSubEvent>().Subscribe(this.ReceivedMessageEvent, ThreadOption.BackgroundThread);
-
-            this.sqlManager = sql as SqliteManager;
         }
 
         public void Init()
@@ -62,13 +53,13 @@ namespace VehicleControlSystem
             this.autoManager = new AutoManager(this.IO);
             this.autoManager.Init();
 
-            this.scheduler = new Scheduler(eventAggregator, this.autoManager, this.sqlManager);
+            this.scheduler = new Scheduler(eventAggregator, this.autoManager);
             this.scheduler.Init();
 
-            this.vehicle = new Vehicle(this.IO, this.sqlManager);
+            this.vehicle = new Vehicle(this.IO);
             this.vehicle.Init();
 
-            this.hostManager = new HostManager(this.eventAggregator, this.vehicle, this.sqlManager);;
+            this.hostManager = new HostManager(this.eventAggregator, this.vehicle);;
             this.hostManager.Init();
         }
 
@@ -129,8 +120,7 @@ namespace VehicleControlSystem
 
         public void RegisterTypes(IContainerRegistry containerRegistry)
         {
-            if ( !containerRegistry.IsRegistered<VCSystem>() )
-                containerRegistry.RegisterSingleton<VCSystem>();
+            //containerRegistry.RegisterSingleton<VCSystem>();
         }
 
         public void OnInitialized(IContainerProvider containerProvider)

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

@@ -105,6 +105,7 @@
     <Compile Include="Managers\AutoManager.cs" />
     <Compile Include="Managers\HostManager.cs" />
     <Compile Include="Managers\Scheduler.cs" />
+    <Compile Include="Managers\SqlManager.cs" />
     <Compile Include="VCSystem.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>