/// <summary> /// 递归获取子集栏目权限 /// </summary> /// <param name="powerModuleId"></param> /// <param name="yunEntities"></param> /// <returns></returns> public List <ModulePower> GetChildrenModulePower(int powerModuleId, IYunEntities yunEntities) { const int vaild = (int)DataState.Able; const int menu = (int)PowerState.Able; var modulePowerSons = yunEntities.VW_Power.Where( u => u.y_parentID == powerModuleId && u.y_roleID == YdAdminRoleId && u.y_vaild == vaild && u.y_menu == menu).OrderByDescending(u => u.y_sort); var children = new List <ModulePower>(); foreach (var modulePowerSon in modulePowerSons) { var modulePowerChildren = new ModulePower { id = modulePowerSon.id, y_url = modulePowerSon.y_url, y_sort = modulePowerSon.y_sort, y_parentID = modulePowerSon.y_parentID, y_level = modulePowerSon.y_level, y_vaild = modulePowerSon.y_vaild, y_roleID = modulePowerSon.y_roleID, y_moduleID = modulePowerSon.y_moduleID, y_menu = modulePowerSon.y_menu, y_insert = modulePowerSon.y_insert, y_delete = modulePowerSon.y_delete, y_update = modulePowerSon.y_update, y_select = modulePowerSon.y_select, y_roleName = modulePowerSon.y_roleName, y_moudleName = modulePowerSon.y_moudleName, }; children.Add(modulePowerChildren); } return(children); }
public void module_powerTest() { var m = new ModulePower(); Assert.AreEqual("4", m.module_power("4", "3")); Assert.AreEqual("-5", m.module_power("-7", "2")); Assert.AreEqual("80", m.module_power("80", "1111")); Assert.AreEqual("-1", m.module_power("-999900987", "1")); Assert.AreEqual("0", m.module_power("-2", "1")); Assert.AreEqual("1", m.module_power("1", "6666666666666")); Assert.AreEqual("35", m.module_power("35", "2015")); Assert.AreEqual("1", m.module_power("35", "2016")); Assert.AreEqual("-98763", m.module_power("-98765", "11102")); Assert.AreEqual("-1", m.module_power("-98765", "11111")); }
// Модуль питания public ModuleBoard(string GetIndificator) { if (GetIndificator != "") { Console.WriteLine("Устройство с индификатором " + GetIndificator); string[] TempStringIndificator = GetIndificator.Split('-'); for (int shag = 0; shag <= 7; shag++) { MACDevices[shag] = System.Convert.ToByte(TempStringIndificator[shag]); } } else { new System.Random(System.DateTime.Now.Millisecond).NextBytes(MACDevices); // Генерация случайного индификатора платы } MemoryDevies = new ModuleMemory(MACDevices); // Генерация модуля памяти, попытка открыть конфигурацию // с жесткого диска по названию индификатора this.CPU = new ModuleCPU(MACDevices); // Генерация модуля Процессора, передается уникальный индификатор this.Power = new ModulePower(); // Генерация модуля питания RS485 = new ModuleRS485(); // AdressRS, NameDevices, VersionProshivki, 9600 // Генерация модуля Интерфейса. // Конструктор нужно разобрать, кофигурация модуля интерфейса происходит // через процессор this.MemoryDevies.WriteCPU += CPU.EventMemory; CPU.WriteMemory += this.MemoryDevies.ReadCPU; Power.WriteInfoCPU += CPU.EventPower; // Приявяска модуля питания к Процессору CPU.WritePower += Power.ReadCPU; // Привязка модуля процессора к модуля питания RS485.CPUWriteDataRS += CPU.EventRS485; CPU.WriteRS485 += RS485.CPUReadDataRS; }