// Modelo // new capacitor.CAP74563,Phases=3,bus1=BMT156066088.1.2.3.0,conn=wye,Kvar=300,Kv=13.8 public bool ConsultaBanco(bool _modoReconf) { _arqCapacitor = new StringBuilder(); using (SqlConnection conn = new SqlConnection(_connBuilder.ToString())) { // abre conexao conn.Open(); using (SqlCommand command = conn.CreateCommand()) { // se modo reconfiguracao if (_modoReconf) { command.CommandText = "select CodCapMT,CodPonAcopl,CodFas,PotNom_KVAr,kvnom " + "from dbo.CemigCapacitorMT where CodBase=@codbase and CodAlim in (" + _par._conjAlim + ")"; command.Parameters.AddWithValue("@codbase", _par._codBase); } else { command.CommandText = "select CodCapMT,CodPonAcopl,CodFas,PotNom_KVAr,kvnom " + "from dbo.CemigCapacitorMT where CodBase=@codbase and CodAlim=@CodAlim"; command.Parameters.AddWithValue("@codbase", _par._codBase); command.Parameters.AddWithValue("@CodAlim", _alim); } using (var rs = command.ExecuteReader()) { // verifica ocorrencia de elemento no banco if (!rs.HasRows) { return(false); } while (rs.Read()) { string fasesDSS = AuxFunc.GetFasesDSS(rs["CodFas"].ToString()); string numFases = AuxFunc.GetNumFases(rs["CodFas"].ToString()); string kvbase = rs["kvnom"].ToString(); /* // OLD CODE * // conserta base kv do capacitor * switch ( rs["kvnom"].ToString() ) * { * case "13.8": * kvbase = "13.8"; * break; * case "22.2": * kvbase = "22.0"; * break; * default: * kvbase = "13.8"; * break; * } */ string linha = ""; // se banco trifasico if (numFases.Equals("3")) { // calcula potencia por fase string potFase = AuxFunc.GetPotPorFase(rs["PotNom_KVAr"].ToString()); string[] fases = { "1", "2", "3" }; foreach (string fase in fases) { linha += "new capacitor." + "CAP" + rs["CodCapMT"].ToString() + "-" + fase + " bus1=" + "BMT" + rs["CodPonAcopl"].ToString() + "." + fase + ".0" // OBS: o ".0" transforma em ligacao Y //OBS1 + ",Phases=1" + ",Conn=LN" + ",Kvar=" + potFase + ",Kv=" + kvbase + Environment.NewLine; } } // capacitor monofasico else { linha = "new capacitor." + "CAP" + rs["CodCapMT"].ToString() + " bus1=" + "BMT" + rs["CodPonAcopl"].ToString() + fasesDSS + ".0" // OBS: o ".0" transforma em ligacao Y //OBS1 + ",Phases=1" + ",Conn=LN" + ",Kvar=" + rs["PotNom_KVAr"].ToString() + ",Kv=" + kvbase + Environment.NewLine; } _arqCapacitor.Append(linha); } } } //fecha conexao conn.Close(); } return(true); }