/// <summary> /// Método Web Service para obter status de um dispositivo /// Caso não informado identificador do dispositivo, é retornado para o Piso respectivo /// </summary> public bool StatusDispositivos(string Piso, string IdentificadorDispositivo, out Dictionary <string, string> DispositivosStatus, out string Mensagem) { Mensagem = string.Empty; DispositivosStatus = new Dictionary <string, string>(); try { // Recebido Identificador específico para o Dispositivo if (!string.IsNullOrEmpty(IdentificadorDispositivo)) { if (cdStatusDispositivos.ContainsKey(IdentificadorDispositivo)) { DispositivosStatus.Add(IdentificadorDispositivo, cdStatusDispositivos[IdentificadorDispositivo]); } return(true); } List <Biblioteca.Modelo.Dispositivo> lstDisp = null; using (Dados.GerenciadorDB mngDB = new Dados.GerenciadorDB(false)) { controlBase <Biblioteca.Modelo.Dispositivo> ctrlDisp = new controlBase <Biblioteca.Modelo.Dispositivo>(); if (string.IsNullOrEmpty(Piso)) { lstDisp = ctrlDisp.LoadTodos(mngDB); } else { lstDisp = ctrlDisp.LoadFiltro(mngDB, l => l.Piso == Piso); } } // Filtra dispositivos conectados var Disps = from Biblioteca.Modelo.Dispositivo objAux in lstDisp where cdStatusDispositivos.ContainsKey(objAux.Codigo) select objAux; DispositivosStatus = new Dictionary <string, string>(Disps.ToDictionary(i => i.Codigo, i => cdStatusDispositivos[i.Codigo])); return(true); } catch (Exception exc) { try { Mensagem = string.Format("Não foi possível verificar o(s) valor(es) do(s) dispositivo(s) solicitado(s). Erro: {0}", exc.Message); controlLog.Insere(Biblioteca.Modelo.Log.LogTipo.Erro, Mensagem, exc); } catch { // Vish } return(false); } }
/// <summary> /// The main entry point for the application. /// </summary> static void Main() { bool bLoga = false; #region Validações // Faz um teste inicial de Conexão com o Banco de Dados if (!Util.TestaArquivoConexao()) { return; } // Carrega configurador geral do sistema List <Biblioteca.Modelo.ConfiguracaoGeral> lstConfig = null; using (Dados.GerenciadorDB mngBD = new Dados.GerenciadorDB(false)) { Biblioteca.Controle.controlBase <Biblioteca.Modelo.ConfiguracaoGeral> ctrlGeral = new Biblioteca.Controle.controlBase <Biblioteca.Modelo.ConfiguracaoGeral>(); lstConfig = ctrlGeral.LoadTodos(mngBD); } // Não configurado sistema if (lstConfig == null || lstConfig.Count == 0) { Biblioteca.Controle.controlLog.Insere(Biblioteca.Modelo.Log.LogTipo.Erro, "Erro ao iniciar o Serviço do Gerenciador. Não foi possível carregar os dados da tabela: ConfiguracaoGeral do sistema."); return; } // Deve existir apenas um item Service._configuradorGeral = lstConfig.First(); #endregion #region Debug // Permite executar Serviço em Debug if (System.Diagnostics.Debugger.IsAttached) { RodaComoServico(); } #endregion // Aqui é execução do Serviço ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Service(bLoga) }; ServiceBase.Run(ServicesToRun); }