Exemple #1
0
 private bool DeleteDeviceFromDB(int id)
 {
     try
     {
         IFileService          _fileService         = new SCA.BusinessLib.Utility.FileService();
         ILogRecorder          logger               = null;
         DBFileVersionManager  dbFileVersionManager = new DBFileVersionManager(TheLoop.Controller.Project.SavePath, logger, _fileService);
         IDBFileVersionService dbFileVersionService = dbFileVersionManager.GetDBFileVersionServiceByVersionID(DBFileVersionManager.CurrentDBFileVersion);
         IDeviceDBServiceTest  deviceDBService      = SCA.DatabaseAccess.DBContext.DeviceManagerDBServiceTest.GetDeviceDBContext(TheLoop.Controller.Type, dbFileVersionService);
         if (deviceDBService.DeleteDeviceByID(id))
         {
             if (BusinessLib.ProjectManager.GetInstance.MaxDeviceIDInController8021 == id) //如果最大ID等于被删除的ID,则重新赋值
             {
                 ControllerOperation8021 controllerOperation = new ControllerOperation8021();
                 BusinessLib.ProjectManager.GetInstance.MaxDeviceIDInController8021 = controllerOperation.GetMaxDeviceID();
             }
         }
         ILoopDBService loopDBService = new SCA.DatabaseAccess.DBContext.LoopDBService(dbFileVersionService); //更新回路中存储的器件数量
         loopDBService.AddLoopInfo(TheLoop);
     }
     catch (Exception ex)
     {
         return(false);
     }
     return(true);
 }
Exemple #2
0
        private bool DeleteDeviceFromDB(int id)
        {
            try
            {
                IFileService     _fileService     = new SCA.BusinessLib.Utility.FileService();
                ILogRecorder     logger           = null;
                IDatabaseService _databaseService = new SCA.DatabaseAccess.SQLiteDatabaseAccess(TheLoop.Controller.Project.SavePath, logger, _fileService);

                IDeviceDBServiceTest deviceDBService = SCA.DatabaseAccess.DBContext.DeviceManagerDBServiceTest.GetDeviceDBContext(TheLoop.Controller.Type, _databaseService);

                deviceDBService.DeleteDeviceByID(id);
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
Exemple #3
0
 public bool SaveToDB()
 {
     try
     {
         ILogRecorder          logger                = null;
         IFileService          fileService           = new SCA.BusinessLib.Utility.FileService();
         DBFileVersionManager  dbFileVersionManager  = new DBFileVersionManager(this.TheLoop.Controller.Project.SavePath, logger, fileService);
         IDBFileVersionService _dbFileVersionService = dbFileVersionManager.GetDBFileVersionServiceByVersionID(SCA.BusinessLogic.DBFileVersionManager.CurrentDBFileVersion);
         ILoopDBService        _loopDBService        = new SCA.DatabaseAccess.DBContext.LoopDBService(_dbFileVersionService);
         _loopDBService.AddLoopInfo(TheLoop);
         IDeviceDBServiceTest dbService = DeviceManagerDBServiceTest.GetDeviceDBContext(ControllerType.NT8021, _dbFileVersionService);
         dbService.AddDevice(TheLoop);
     }
     catch
     {
         return(false);
     }
     return(true);
 }
 private bool DeleteControllerFromDB(ControllerModel controller)
 {
     try
     {
         IFileService         _fileService        = new SCA.BusinessLib.Utility.FileService();
         ILogRecorder         logger              = null;
         IDatabaseService     _databaseService    = new SCA.DatabaseAccess.SQLiteDatabaseAccess(controller.Project.SavePath, logger, _fileService);
         IControllerDBService controllerDBService = new SCA.DatabaseAccess.DBContext.ControllerDBService(_databaseService);
         ILoopDBService       loopDBService       = new SCA.DatabaseAccess.DBContext.LoopDBService(_databaseService);
         IDeviceDBServiceTest deviceDBService     = SCA.DatabaseAccess.DBContext.DeviceManagerDBServiceTest.GetDeviceDBContext(controller.Type, _databaseService);
         deviceDBService.DeleteAllDevicesByControllerID(controller.ID);
         loopDBService.DeleteLoopsByControllerID(controller.ID);
         controllerDBService.DeleteController(controller.ID);
     }
     catch (Exception ex)
     {
         return(false);
     }
     return(true);
 }
Exemple #5
0
        public void SaveProject()
        {
            if (this.Project.IsDirty)
            {
                if (!_fileService.IsExistFile(this.Project.SaveFilePath)) //数据文件不存在
                {
                    _projectDBService.CreateLocalDBFile();
                }
                if (!IsCreatedFundamentalTableStructure) //未建立项目基础表结构
                {
                    if (_projectDBService != null)
                    {
                        _projectDBService.CreatFundamentalTableStructure();  //创建基础存储结构
                    }
                }
                //保存工程信息
                _projectDBService.AddProject(this.Project);
                //初始化“控制器类型信息”
                _projectDBService.InitializeControllerTypeInfo();

                //初始化此工程下的“器件类型”
                int projectID = _projectDBService.GetMaxID();
                IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(ControllerType.NONE);

                _deviceTypeDBService.InitializeDeviceTypeInfo(controllerConfig.GetALLDeviceTypeInfo(projectID));

                //保存此工程下的回路,器件,组态,手动盘
                foreach (var c in this.Project.Controllers)
                {
                    _deviceDBService = SCA.DatabaseAccess.DBContext.DeviceManagerDBServiceTest.GetDeviceDBContext(c.Type, _databaseService);
                    c.Project.ID     = projectID;
                    c.ProjectID      = projectID;
                    _controllerDBService.AddController(c);

                    //更新器件类型表的“匹配控制器信息”
                    controllerConfig = ControllerConfigManager.GetConfigObject(c.Type);
                    _deviceTypeDBService.UpdateMatchingController(c.Type, controllerConfig.GetDeviceTypeCodeInfo());

                    //取得当前ControllerID
                    // int controllerID = _controllerDBService.GetMaxID();
                    _deviceDBService.CreateTableStructure();
                    foreach (var loop in c.Loops)
                    {
                        loop.Controller.ID = c.ID;
                        loop.ControllerID  = c.ID;
                        _loopDBService.AddLoopInfo(loop);
                        //取得当前LoopID
                        //  int loopID = _loopDBService.GetMaxID();
                        loop.ID = loop.ID;
                        _deviceDBService.AddDevice(loop);
                        //取得当前器件最大ID号
                        //int deviceID=_deviceDBService.GetMaxID();
                    }
                    if (c.StandardConfig.Count != 0)
                    {
                        _linkageConfigStandardDBService.AddStandardLinkageConfigInfo(c.StandardConfig);
                    }
                    if (c.GeneralConfig.Count != 0)
                    {
                        _linkageConfigGeneralDBService.AddGeneralLinkageConfigInfo(c.GeneralConfig);
                    }
                    if (c.MixedConfig.Count != 0)
                    {
                        _linkageConfigMixedDBService.AddMixedLinkageConfigInfo(c.MixedConfig);
                    }
                    if (c.ControlBoard.Count != 0)
                    {
                        _manualControlBoardDBService.AddManualControlBoardInfo(c.ControlBoard);
                    }
                }
            }
            Project.IsDirty = false;
        }
Exemple #6
0
        public void SaveProject()
        {
            if (this.Project != null)
            {
                if (this.Project.IsDirty)
                {
                    if (!_fileService.IsExistFile(this.Project.SavePath)) //数据文件不存在
                    {
                        if (_projectDBService.CreateLocalDBFile())
                        {
                            Console.WriteLine("创建文件成功");
                        }
                        else
                        {
                            Console.WriteLine("创建文件失败");
                        }
                    }
                    if (!IsCreatedFundamentalTableStructure) //未建立项目基础表结构
                    {
                        if (_projectDBService != null)
                        {
                            if (_projectDBService.CreatFundamentalTableStructure())//;  //创建基础存储结构
                            {
                                Console.WriteLine("初始化成功");
                            }
                            else
                            {
                                Console.WriteLine("初始化失败");
                            }
                        }
                    }
                    //保存工程信息

                    if (_projectDBService.AddProject(this.Project) > 0)//;
                    {
                        Console.WriteLine("工程信息保存成功");
                    }
                    else
                    {
                        Console.WriteLine("工程信息保存失败");
                    }

                    //初始化“控制器类型信息”
                    if (_projectDBService.InitializeControllerTypeInfo())
                    {
                        Console.WriteLine("控制器类型初始化成功");
                    }
                    else
                    {
                        Console.WriteLine("控制器类型初始化失败");
                    }

                    //初始化此工程下的“器件类型”
                    int projectID = _projectDBService.GetMaxID();
                    IControllerConfig controllerConfig = ControllerConfigManager.GetConfigObject(ControllerType.NONE);

                    if (_deviceTypeDBService.InitializeDeviceTypeInfo(controllerConfig.GetALLDeviceTypeInfo(projectID)))
                    {
                        Console.WriteLine("器件类型初始化成功");
                    }
                    else
                    {
                        Console.WriteLine("器件类型初始化失败");
                    }

                    //保存此工程下的回路,器件,组态,手动盘
                    foreach (var c in this.Project.Controllers)
                    {
                        _deviceDBService = SCA.DatabaseAccess.DBContext.DeviceManagerDBServiceTest.GetDeviceDBContext(c.Type, _dbFileVersionService);
                        c.Project.ID     = projectID;
                        c.ProjectID      = projectID;
                        if (_controllerDBService.AddController(c))
                        {
                            Console.WriteLine(c.Name + "控制器保存成功");
                        }
                        else
                        {
                            Console.WriteLine(c.Name + "控制器保存失败");
                        }

                        //更新器件类型表的“匹配控制器信息”
                        controllerConfig = ControllerConfigManager.GetConfigObject(c.Type);
                        if (_deviceTypeDBService.UpdateMatchingController(c.Type, controllerConfig.GetDeviceTypeCodeInfo()))
                        {
                            Console.WriteLine(c.Name + "控制器匹配信息更新成功");
                        }
                        else
                        {
                            Console.WriteLine(c.Name + "控制器匹配信息更新失败");
                        }

                        //取得当前ControllerID
                        // int controllerID = _controllerDBService.GetMaxID();
                        if (_deviceDBService.CreateTableStructure())
                        {
                            Console.WriteLine("器件结构初始化成功");
                        }
                        else
                        {
                            Console.WriteLine("器件结构初始化失败");
                        }
                        foreach (var loop in c.Loops)
                        {
                            loop.Controller.ID = c.ID;
                            loop.ControllerID  = c.ID;
                            if (_loopDBService.AddLoopInfo(loop))
                            {
                                Console.WriteLine("回路信息初始化成功");
                            }
                            else
                            {
                                Console.WriteLine("回路信息初始化失败");
                            }
                            //取得当前LoopID
                            //  int loopID = _loopDBService.GetMaxID();
                            loop.ID = loop.ID;
                            if (_deviceDBService.AddDevice(loop))
                            {
                                Console.WriteLine("器件信息保存成功");
                            }
                            else
                            {
                                Console.WriteLine("器件信息保存失败");
                            }
                            //取得当前器件最大ID号
                            //int deviceID=_deviceDBService.GetMaxID();
                        }
                        if (c.StandardConfig.Count != 0)
                        {
                            if (_linkageConfigStandardDBService.AddStandardLinkageConfigInfo(c.StandardConfig))
                            {
                                Console.WriteLine("标准组态信息保存成功");
                            }
                            else
                            {
                                Console.WriteLine("标准组态信息保存失败");
                            }
                        }
                        if (c.GeneralConfig.Count != 0)
                        {
                            if (_linkageConfigGeneralDBService.AddGeneralLinkageConfigInfo(c.GeneralConfig))
                            {
                                Console.WriteLine("通用组态信息保存成功");
                            }
                            else
                            {
                                Console.WriteLine("通用组态信息保存失败");
                            }
                        }
                        if (c.MixedConfig.Count != 0)
                        {
                            if (_linkageConfigMixedDBService.AddMixedLinkageConfigInfo(c.MixedConfig))
                            {
                                Console.WriteLine("混合组态信息保存成功");
                            }
                            else
                            {
                                Console.WriteLine("混合组态信息保存失败");
                            }
                        }
                        if (c.ControlBoard.Count != 0)
                        {
                            if (_manualControlBoardDBService.AddManualControlBoardInfo(c.ControlBoard))
                            {
                                Console.WriteLine("手控盘保存成功");
                            }
                            else
                            {
                                Console.WriteLine("手控盘保存失败");
                            }
                        }
                    }
                }
                RecentFiles.Add(Project.SavePath);
                SaveRecentFiles();
                Project.IsDirty = false;
            }
        }