public void sdk_User_Rule() { long area = eqpt.LoadOrAdd <Areas>("API B"); long grupo = eqpt.LoadOrAdd <Groups>("Engenharia"); Access_Rules rule = eqpt.LoadOrSet(0, new Access_Rules() { name = "Minha Regra", type = 1, priority = 0 }); eqpt.SetGroupAreaTime(rule.id, grupo, area, 1); eqpt.Set(new User_Groups() { user_id = 1, group_id = grupo }); }
public void sdk_Generic_Rules() { eqpt.ClearWigandPortal(); // Inativa as leitoras e relês eqpt.ClearAreasTimesRules(); // Limpa todas as regras! // Parametros da Autorização: supondo o acesso a duas áreas int nLeitoraWigandEntrada = 2; int nLeitoraWigandSaida = 3; int nRelePortal = 2; long nAreaFora = eqpt.LoadOrAdd <Groups>("Hall"); long nAreaDentro = eqpt.LoadOrAdd <Groups>("Area Engenharia"); long nGrupo = eqpt.LoadOrAdd <Groups>("Grupo Engenharia"); // As duas linhas seguintes abaixo representão toda a logica existente em seguida //if(eqpt.SetWigandRuleAreaGroupTime(nLeitoraWigandEntrada, nRelePortal, cAreaHall, cAreaEngenharia, cGrupo, 1)) // eqpt.SetWigandRuleAreaGroupTime(nLeitoraWigandSaida, nRelePortal, cAreaEngenharia, cAreaHall, cGrupo, 1); // Leitora 2, libera o Relê 2, cuja oriem é o Hall e dá acesso a Engenharia if (eqpt.SetWigandPortal(nLeitoraWigandEntrada, nRelePortal, nAreaFora, nAreaDentro)) { // Cria uma nova regra de autorização: Tipo 1 é de autorizar, e a prioridade é a ordem a ser executado Access_Rules rule = eqpt.LoadOrSet(0, new Access_Rules() { name = "(auto Dentro)", type = 1, priority = 0 }); // Define que as a regra de acesso a 'Engenharia' eqpt.Set(new Area_Access_Rules() { access_rule_id = rule.id, area_id = nAreaDentro }); // liberando por área // eqpt.Set(new Portal_Access_Rules() { access_rule_id = rule.id, portal_id = nRelePortal }); // liberando por portal // Dá acesso as pessoas do grupo engenharia a regra de acesso eqpt.Set(new Group_Access_Rules() { access_rule_id = rule.id, group_id = nGrupo }); // Libera o horario padrão (id:1) para o acesso da regra eqpt.Set(new Access_Rule_Time_Zones() { access_rule_id = rule.id, time_zone_id = 1 }); // Agora para sair, usando outro leitor é preciso criar novas regras e acessos if (eqpt.SetWigandPortal(nLeitoraWigandSaida, nRelePortal, nAreaDentro, nAreaFora)) { // Cria uma nova regra de autorização: Tipo 1 é de autorizar, e a prioridade é a ordem a ser executado Access_Rules ruleOut = eqpt.LoadOrSet(0, new Access_Rules() { name = "(auto Fora)", type = 1, priority = 0 }); // Define que as a regra de acesso ao 'Hall' eqpt.Set(new Area_Access_Rules() { access_rule_id = ruleOut.id, area_id = nAreaFora }); // liberando por área // eqpt.Set(new Portal_Access_Rules() { access_rule_id = ruleOut.id, portal_id = nRelePortal }); // liberando por portal // Dá acesso as pessoas do grupo engenharia a regra de acesso eqpt.Set(new Group_Access_Rules() { access_rule_id = ruleOut.id, group_id = nGrupo }); // Libera o horario padrão (id:1) para o acesso da regra de saida eqpt.Set(new Access_Rule_Time_Zones() { access_rule_id = ruleOut.id, time_zone_id = 1 }); } } else { Assert.Inconclusive("Eoo ao definir a Leitora ao Portal"); } //Console.WriteLine("\r\nCards:"); //var cards = eqpt.List<Cards>(); //foreach (var i in cards) // Console.WriteLine(i.id + ": " + i.value + " user: "******"\r\nUser Card Test: " + user.id + " - " + user.name); Console.WriteLine("\r\nGrupos:"); foreach (var i in eqpt.List <Groups>()) { Console.WriteLine(i.id + ": " + i.name); } Console.WriteLine("\r\nAreas:"); foreach (var i in eqpt.List <Areas>()) { Console.WriteLine(i.id + ": " + i.name); } Console.WriteLine("\r\nPortals:"); foreach (var i in eqpt.List <Portals>()) { Console.WriteLine(i.id + ": " + i.name + (i.name.EndsWith("inativo") ? "" : (" - Areas: " + i.area_from_id + " => " + i.area_to_id))); } Console.WriteLine("\r\nAccess Rules:"); foreach (var i in eqpt.List <Access_Rules>()) { Console.WriteLine(i.id + ": " + i.name + " - tipo " + i.type + " prioridade " + i.priority); } Console.WriteLine("\r\nRules Groups:"); foreach (var i in eqpt.List <Group_Access_Rules>()) { Console.WriteLine("Group: " + i.group_id + " Rule: " + i.access_rule_id); } Console.WriteLine("\r\nArea Access Rules:"); foreach (var i in eqpt.List <Area_Access_Rules>()) { Console.WriteLine("Area: " + i.area_id + " Rule: " + i.access_rule_id); } Console.WriteLine("\r\nAccess Rule Time Zone:"); foreach (var i in eqpt.List <Access_Rule_Time_Zones>()) { Console.WriteLine("Time: " + i.time_zone_id + " Rule: " + i.access_rule_id); } Console.WriteLine("\r\nPortal Access Rules:"); foreach (var i in eqpt.List <Portal_Access_Rules>()) { Console.WriteLine("Portal: " + i.portal_id + " Rule: " + i.access_rule_id); } Console.WriteLine("\r\nPortal Script Parameters:"); foreach (var i in eqpt.List <Portal_Script_Parameters>()) { Console.WriteLine("script_parameter_id: " + i.script_parameter_id + ": script_instance_id: " + i.script_instance_id + " sequence: " + i.sequence + " value: " + i.value); } Console.WriteLine("\r\nActions:"); foreach (var i in eqpt.List <Actions>()) { Console.WriteLine(i.id + ": " + i.name + " - action: " + i.action + " parameters: " + i.parameters); } }