// Funcao responsavel por adicionar a TAG no dicionario da sala para qual a TAG fez a transicao public static void transicaoADD(string EPC, int sala_atual, Tags_TG tag) { switch (sala_atual) { case 0: GlobalData.DictAmbienteExterno.Add(EPC, tag); tag.Ambiente = 0; break; case 1: GlobalData.DictSalaPrincipal.Add(EPC, tag); tag.Ambiente = 1; if (GlobalData.DictSalaPrincipal.Count > 2 && GlobalData.AcionamtSalaPrincipal == 0) { Console.WriteLine("\n*Acionamento do ventilador na Sala Principal*\n"); GlobalData.AcionamtSalaPrincipal = 1; SerialCom.Controle_Ar("Sala Principal"); } break; case 2: GlobalData.DictSalaReunioes.Add(EPC, tag); tag.Ambiente = 2; if (GlobalData.DictSalaReunioes.Count > 2 && GlobalData.AcionamtSalaReunioes == 0) { Console.WriteLine("\n*Acionamento do ventilador na Sala de Reunioes*\n"); GlobalData.AcionamtSalaReunioes = 1; SerialCom.Controle_Ar("Sala Reuniões"); } break; case 3: GlobalData.DictCorredorBaias.Add(EPC, tag); tag.Ambiente = 3; if (GlobalData.DictCorredorBaias.Count > 2 && GlobalData.AcionamtCorredorBaias == 0) { Console.WriteLine("\n*Acionamento do ventilador no Corredor de Baias*\n"); GlobalData.AcionamtCorredorBaias = 1; SerialCom.Controle_Ar("Corredor de Baias"); } break; default: Console.Write("Caso não identificado"); break; } }
// Funcao responsavel por fazer a remocao da TAG no dicionario da sala anterior a transicao public static void transicaoRemove(string EPC, int sala_anterior) { switch (sala_anterior) { case 0: GlobalData.DictAmbienteExterno.Remove(EPC); break; case 1: GlobalData.DictSalaPrincipal.Remove(EPC); if (GlobalData.DictSalaPrincipal.Count <= 2 && GlobalData.AcionamtSalaPrincipal == 1) { Console.WriteLine("\n*Desacionamento do ventilador na Sala Principal*\n"); GlobalData.AcionamtSalaPrincipal = 0; SerialCom.Controle_Ar("Sala Principal"); } break; case 2: GlobalData.DictSalaReunioes.Remove(EPC); if (GlobalData.DictSalaReunioes.Count <= 2 && GlobalData.AcionamtSalaReunioes == 1) { Console.WriteLine("\n*Desacionamento do ventilador na Sala de Reunioes*\n"); GlobalData.AcionamtSalaReunioes = 0; SerialCom.Controle_Ar("Sala Reuniões"); } break; case 3: GlobalData.DictCorredorBaias.Remove(EPC); if (GlobalData.DictCorredorBaias.Count <= 2 && GlobalData.AcionamtCorredorBaias == 1) { Console.WriteLine("\n*Desacionamento do ventilador no Corredor de Baias*\n"); GlobalData.AcionamtCorredorBaias = 0; SerialCom.Controle_Ar("Corredor de Baias"); } break; default: Console.Write("Caso não identificado"); break; } }