public List <SetorInfo> BuscaSetoresEsquematico(int assinaturaID, int ano, IRLib.Paralela.SingleTonObjectsParalela singleTon, ref int mapaEsquematicoID, int apresentacaoID, bool bancoIngresso) { try { string sql = @"SELECT DISTINCT ApresentacaoID, SetorID FROM tAssinatura a (NOLOCK) INNER JOIN tAssinaturaAno an (NOLOCK) ON an.AssinaturaID = a.ID INNER JOIN tAssinaturaItem ai (NOLOCK) ON ai.AssinaturaAnoID = an.ID WHERE a.ID = " + assinaturaID + " AND an.Ano = '" + ano + "' AND a.Ativo = 'T' " + (apresentacaoID > 0 ? " AND ai.ApresentacaoID = " + apresentacaoID : string.Empty); bd.Consulta(sql); if (!bd.Consulta().Read()) { throw new Exception("Não foi possível encontrar as informações da assinatura selecionada."); } List <int> setoresID = new List <int>(); if (apresentacaoID == 0) { apresentacaoID = bd.LerInt("ApresentacaoID"); } do { if (!setoresID.Contains(bd.LerInt("SetorID"))) { setoresID.Add(bd.LerInt("SetorID")); } } while (bd.Consulta().Read()); var mapaEsquematicoInfo = singleTon.bufferMapaEsquematico.BuscarInformacaoEstrutura(apresentacaoID); mapaEsquematicoID = mapaEsquematicoInfo.ID; return ((from me in mapaEsquematicoInfo.Setores join s in setoresID on me.ID equals s where me.Coordenadas.Count > 0 select me).ToList()); } finally { bd.Fechar(); } }
public List <SetorInfo> BuscaSetoresEsquematico(int assinaturaID, int ano, IRLib.Paralela.SingleTonObjectsParalela singleTon, ref int mapaEsquematicoID) { return(BuscaSetoresEsquematico(assinaturaID, ano, singleTon, ref mapaEsquematicoID, 0, false)); }