public IActionResult UpdateModulesState(ModulesParam param)//int id
        {
            var resModel = new ResponseModel(ResponseCode.Error, "修改模块状态失败");

            try
            {
                ModulesInfo modulesinfo = new ModulesInfo()
                {
                    status = param.disable
                };
                //执行修改方法
                var row = this.Update <ModulesInfo>(modulesinfo).Columns("status").Where("id", param.id).Execute();
                if (row > 0)
                {
                    resModel.msg  = "保存成功";
                    resModel.code = (int)ResponseCode.Success;
                }
            }
            catch (Exception ex)
            {
                LogError("修改模块状态失败", ex);
                resModel.msg = "修改模块状态失败";
            }
            return(Json(resModel));
        }
Exemplo n.º 2
0
 private async void accordionControlElementCategories_Click(object sender, EventArgs e)
 {
     this.itemNav.Caption = $"{accordionControlCategories.Text}/{accordionControlElementCategories.Text}";
     if (ModulesInfo.GetItem("ucCategory") == null)
     {
         ModulesInfo.Add(new ModuleInfo("ucCategory", "Dev001.UI.Modules.ucCategory"));
     }
     await LoadModelAsync(ModulesInfo.GetItem("ucCategory"));
 }
Exemplo n.º 3
0
 private SoftwareItemViewModel CreateItemViewModel(SoftwareInfo software, ModulesInfo modules)
 {
     return(new SoftwareItemViewModel
     {
         DisplayName = GetDisplayName(software),
         Info = software,
         Modules = CreateModulesViewModel(software, modules),
     });
 }
Exemplo n.º 4
0
        protected virtual void OnLoad(object sender, EventArgs e)
        {
            LookAndFeelMenu.RegisterDefaultBonusSkin();
            this.CreateMenu();
            this.RegisterTutorials();
            ModuleInfo item = ModulesInfo.GetItem(ItemName);

            if (item != null)
            {
                this.ShowModule(item.Name);
            }
        }
Exemplo n.º 5
0
        private bool UpdateModules(SoftwareInfo software, out ModulesInfo modules, string destPath, IProgress <double> progress, CancellationToken token)
        {
            modules = MetadaModulesDetector.GetModules(destPath, destPath, software, progress, token);
            if (modules != null)
            {
                return(false);
            }

            modules = FileSystemModulesDetector.GetModules(software, destPath, progress, token);

            Logger.LogObject(LogLevel.Information, "Detected {0}", modules);

            return(true);
        }
        public IActionResult AddModules([FromBody] ModulesInfo entity)
        {
            var resModel = new ResponseModel(ResponseCode.Error, "操作失败");

            try
            {
                var count = 0;//数据库执行返回结果
                if (entity.id.IsNullOrEmpty())
                {
                    //根据模块名称验证模块是否存在
                    var ModulesInfo = this.Query <ModulesInfo>().Where("parent_id", entity.parent_id).Where("name", entity.name).Exists();
                    if (ModulesInfo)
                    {
                        resModel.msg = "该模块名称已存在!";
                        return(Json(resModel));
                    }
                    //ID为空为新增
                    entity.status = 1;
                    count         = this.Add <ModulesInfo>(entity).Execute();
                }
                else
                {
                    //根据模块名称验证模块是否存在
                    var ModulesList = this.Query <ModulesInfo>().Where("parent_id", entity.parent_id).Where("name", entity.name).GetModelList();
                    var isTrue      = ModulesList != null && ModulesList.Where(d => d.id != entity.id).Any();
                    if (isTrue)
                    {
                        resModel.msg = "该模块名称已存在!";
                        return(Json(resModel));
                    }
                    //修改模块
                    entity.update_time = DateTime.Now;
                    count = this.Update <ModulesInfo>(entity)
                            .Columns("parent_id", "name", "code", "title", "path", "status", "sno", "icon", "is_firstpage", "resource_type", "is_child_page", "describe", "update_time")
                            .Where("id", entity.id).Execute();
                }
                //成功
                if (count > 0)
                {
                    resModel.code = (int)ResponseCode.Success;
                    resModel.msg  = "执行成功";
                }
            }
            catch (Exception ex)
            {
                LogError("新增或修改模块", ex);
                resModel.msg = "操作异常";
            }
            return(Json(resModel));
        }
Exemplo n.º 7
0
        private ModulesViewModel CreateModulesViewModel(SoftwareInfo software, ModulesInfo modules)
        {
            var productName = software.Product?.Name;

            if (productName == null)
            {
                return(null);
            }
            var items = modules.Modules?
                        .Select(kvp => CreateModuleItemViewModel(software, kvp.Key, kvp.Value))
                        .Where(vm => vm != null)
                        .ToArray();

            return(new ModulesViewModel
            {
                Items = items,
            });
        }
        public IActionResult DelModules(QueryStateParam param)
        {
            var resModel = new ResponseModel(ResponseCode.Error, "删除失败", false);

            try
            {
                //判断是否传入id
                if (!param.id.IsNullOrEmpty())
                {
                    resModel.msg = "数据异常";
                    return(Json(resModel));
                }
                var entity = new ModulesInfo()
                {
                    id     = param.id,
                    status = 0
                };
                //管理员禁用/启用模块
                var state = this.Update <ModulesInfo>(entity)
                            .Columns("status")
                            .Where("id", entity.id)
                            .Execute();
                if (state > 0)//判断不为空
                {
                    resModel.data = true;
                    resModel.code = (int)ResponseCode.Success;
                    resModel.msg  = "删除成功";
                }
            }
            catch (Exception ex)
            {
                LogError("删除模块", ex);
                resModel.msg = "修改异常";
            }

            return(Json(resModel));
        }
Exemplo n.º 9
0
        public ModulesInfo InitializedData()
        {
            var modulesInfoChecked = new ModulesInfo {
                modules      = ModulesInfo.modules,
                IOs          = ModulesInfo.IOs,
                Components   = ModulesInfo.Components,
                MotFrqSetups = ModulesInfo.MotFrqSetups
            };


            var initControllerInfo = new InitControllerInfo(ModulesInfo.controller);

            modulesInfoChecked.controller = initControllerInfo.InitializedData();   //init controller, already made in InitControllerInfo


            foreach (Module module in modulesInfoChecked.modules)                    //init module tags comment
            {
                var length = 0;

                switch (module.IOModulesType)
                {
                case ViewModels.Enums.IOModulesType.EmbDIx16:
                    length = 16;
                    break;

                case ViewModels.Enums.IOModulesType.EmbDOx16:
                    length = 16;
                    break;

                case ViewModels.Enums.IOModulesType.DIx4:
                    length = 4;
                    break;

                case ViewModels.Enums.IOModulesType.DIx8:
                    length = 8;
                    break;

                case ViewModels.Enums.IOModulesType.DOx4:
                    length = 4;
                    break;

                case ViewModels.Enums.IOModulesType.DOx8:
                    length = 8;
                    break;

                case ViewModels.Enums.IOModulesType.AIx4:
                    length = 4;
                    break;

                case ViewModels.Enums.IOModulesType.AIx8:
                    length = 8;
                    break;

                case ViewModels.Enums.IOModulesType.AOx4:
                    length = 4;
                    break;

                default:
                    throw new Exception("Module does not exist in Module init. switch case");
                }
                //Allocate comment array
                module.Comments = new string[length];

                //Embeded module has both DI and DO --- filter Di comments for DI nad same for DO
                var connectionType = new ViewModels.Enums.ConnectionType();
                var modulesIO      = new List <IO>();
                if (module.IOModulesType == ViewModels.Enums.IOModulesType.EmbDIx16 || module.IOModulesType == ViewModels.Enums.IOModulesType.EmbDOx16)
                {
                    switch (module.IOModulesType)
                    {
                    case ViewModels.Enums.IOModulesType.EmbDIx16:
                        connectionType = ViewModels.Enums.ConnectionType.DI;
                        break;

                    case ViewModels.Enums.IOModulesType.EmbDOx16:
                        connectionType = ViewModels.Enums.ConnectionType.DO;
                        break;

                    default:
                        break;
                    }

                    modulesIO = ModulesInfo.IOs.Where(m => m.IOAddress.Module == module.Address && m.ConnectionType == connectionType).ToList();
                }
                else
                {
                    modulesIO = ModulesInfo.IOs.Where(m => m.IOAddress.Module == module.Address).ToList();
                }



                //Skip comment init if there is no IOs from the module
                if (modulesIO == null)
                {
                    continue;
                }

                for (int i = 0; i < length; i++)
                {
                    //Check channel IO comment exists
                    var io = modulesIO.SingleOrDefault(m => m.IOAddress.Channel == i);

                    //Skip if not
                    if (io == null)
                    {
                        module.Comments[i] = "Disp.";
                        continue;
                    }

                    //IF it is null empty or whitespace -> Disp.
                    if (String.IsNullOrEmpty(io.Comment) || String.IsNullOrWhiteSpace(io.Comment))
                    {
                        module.Comments[i] = "Disp.";
                    }
                    else
                    {
                        module.Comments[i] = io.Comment;
                    }
                }
            }



            return(modulesInfoChecked);
        }
Exemplo n.º 10
0
 public InitModulesInfo(ModulesInfo modulesInfo)
 {
     ModulesInfo = modulesInfo;
 }
Exemplo n.º 11
0
        private XElement Generate()
        {
            var userName = User.Identity.GetUserName();
            var xmlDB    = new XMLDatabase(userName, _context.Users.First(c => c.Name == userName).ActProject);

            String pageName;

            if (String.IsNullOrEmpty(userName))
            {
                pageName = "";
            }
            else
            {
                pageName = _context.Users.First(c => c.Name == userName).ActProject;
            }

            var controllerInfo = new ControllerInfo();
            var datatypesInfo  = new DataTypesInfo
            {
                Components = xmlDB.Components.ToList(),
                Standards  = xmlDB.Standards.ToList(),
                Locations  = xmlDB.Locations.ToList(),
                IOs        = xmlDB.IOs.ToList(),
                //DIPulseSetups = _context.DIpulses.ToList(),
                Modules = xmlDB.Modules.ToList(),
                //MotFrqSetups = _context.MotFrqs.ToList(),
                //DIAlarmSetups = _context.DIAlarms.ToList(),
                //AIAlarmSetups = _context.AIAlarms.ToList(),
                ApplyLocationFilter = false
            };

            var modulesInfo = new ModulesInfo
            {
                modules    = xmlDB.Modules.ToList(),
                controller = new ControllerInfo
                {
                    name        = "StdPLC",
                    description = "Standard controller"                   //TODO From database
                },
                IOs        = xmlDB.IOs.ToList(),
                Components = xmlDB.Components.ToList(),
                //MotFrqSetups = xmlDB.MotFrqs.ToList()
            };

            var tagsInfo = new TagsInfo();

            var programsInfo = new ProgramsInfo
            {
                IOs     = xmlDB.IOs.ToList(),
                Modules = xmlDB.Modules.ToList(),
                //AIAlarmSetups = xmlDB.AIAlarms.ToList(),
                //DIAlarmSetups = xmlDB.DIAlarms.ToList(),
                //DIPulseSetups = xmlDB.DIpulses.ToList(),
                //MDirSetups = xmlDB.MDirs.ToList(),
                //MRevSetups = xmlDB.MRevs.ToList(),
                //MotFrqSetups = xmlDB.MotFrqs.ToList(),
                //StdVlvSetups = xmlDB.StdVlvs.ToList(),
                Components = xmlDB.Components.ToList()
            };

            var tasksInfo = new TasksInfo();
            var addOnInstructionDefinitionsInfo = new AddOnInstructionDefinitionsInfo
            {
                Components = xmlDB.Components.ToList(),
                Standards  = xmlDB.Standards.ToList()
            };



            var generator = new ProjectGenerator(controllerInfo, datatypesInfo, modulesInfo, addOnInstructionDefinitionsInfo, tagsInfo, programsInfo, tasksInfo);


            return(generator.GenerateProject());
        }