public List <Acft> LerAcfts(Grupo grupo) { DataTable dt = LerAcfts_DataTable(grupo); List <Acft> acfts = new List <Acft>(); acfts = ( from row in dt.AsEnumerable() select new Acft { donoGrupo = grupo, Id = (int)row["ID"], Matricula = row["Matricula"].ToString(), Tipo = row["Tipo"].ToString(), Velocidade = (int)row["Velocidade"], Altitude = (int)row["Altitude"], //CorFonteMatricula = Color.FromName(row["CorFonteMatricula"].ToString()), //CorFonteAltitude = Color.FromName(row["CorFonteAltitude"].ToString()), //CorLinhas = Color.FromName(row["CorLinhas"].ToString()), //CorPerimetro = Color.FromName(row["CorPerimetro"].ToString()), CorFonteMatricula = Cores.toColor(row["CorFonteMatricula"].ToString()), CorFonteAltitude = Cores.toColor(row["CorFonteAltitude"].ToString()), CorLinhas = Cores.toColor(row["CorLinhas"].ToString()), CorPerimetro = Cores.toColor(row["CorPerimetro"].ToString()), MostrarMatricula = (bool)row["MostrarMatricula"], MostrarRumo = (bool)row["MostrarRumo"], MostrarPerimetro = (bool)row["MostrarPerimetro"] } ).ToList(); List <Local> locais = new List <Local>(); foreach (var acft in acfts) { acft.locais = LerLocais(grupo, acft); } return(acfts); }
public void InserirAlterarAcft(Acft acft, bool manterConexaoAberta = true) { OleDbCommand command = null; string sql = ""; if (acft.Id == 0) { sql += " INSERT INTO Acft "; sql += " ( "; sql += " Id_Grupo, Id, Matricula, Tipo, Velocidade, Altitude, "; sql += " CorFonteMatricula, CorFonteAltitude, CorLinhas, CorPerimetro, "; sql += " MostrarMatricula, MostrarRumo, MostrarPerimetro "; sql += " ) "; sql += " VALUES "; sql += " ( "; sql += " @Id_Grupo, @Id, @Matricula, @Tipo, @Velocidade, @Altitude, "; sql += " @CorFonteMatricula, @CorFonteAltitude, @CorLinhas, @CorPerimetro, "; sql += " @MostrarMatricula, @MostrarRumo, @MostrarPerimetro "; sql += " ) "; command = new OleDbCommand(sql, conexao); acft.Id = LerNovoId("Acft"); command.Parameters.AddWithValue("@Id_Grupo", acft.donoGrupo.Id); command.Parameters.AddWithValue("@Id", acft.Id); command.Parameters.AddWithValue("@Matricula", acft.Matricula); command.Parameters.AddWithValue("@Tipo", acft.Tipo); command.Parameters.AddWithValue("@Velocidade", acft.Velocidade); command.Parameters.AddWithValue("@Altitude", acft.Altitude); command.Parameters.AddWithValue("@CorFonteMatricula", Cores.toARGB(acft.CorFonteMatricula)); command.Parameters.AddWithValue("@CorFonteAltitude", Cores.toARGB(acft.CorFonteAltitude)); command.Parameters.AddWithValue("@CorLinhas", Cores.toARGB(acft.CorLinhas)); command.Parameters.AddWithValue("@CorPerimetro", Cores.toARGB(acft.CorPerimetro)); command.Parameters.AddWithValue("@MostrarMatricula", acft.MostrarMatricula); command.Parameters.AddWithValue("@MostrarRumo", acft.MostrarRumo); command.Parameters.AddWithValue("@MostrarPerimetro", acft.MostrarPerimetro); } else { sql += "UPDATE Acft SET "; sql += " Matricula = @Matricula, "; sql += " Tipo = @Tipo, "; sql += " Velocidade = @Velocidade, "; sql += " Altitude = @Altitude, "; sql += " CorFonteMatricula = @CorFonteMatricula, "; sql += " CorFonteAltitude = @CorFonteAltitude, "; sql += " CorLinhas = @CorLinhas, "; sql += " CorPerimetro = @CorPerimetro, "; sql += " MostrarMatricula = @MostrarMatricula, "; sql += " MostrarRumo = @MostrarRumo, "; sql += " MostrarPerimetro = @MostrarPerimetro "; sql += " WHERE Id = @Id "; command = new OleDbCommand(sql, conexao); command.Parameters.AddWithValue("@Matricula", acft.Matricula); command.Parameters.AddWithValue("@Tipo", acft.Tipo); command.Parameters.AddWithValue("@Velocidade", acft.Velocidade); command.Parameters.AddWithValue("@Altitude", acft.Altitude); command.Parameters.AddWithValue("@CorFonteMatricula", Cores.toARGB(acft.CorFonteMatricula)); command.Parameters.AddWithValue("@CorFonteAltitude", Cores.toARGB(acft.CorFonteAltitude)); command.Parameters.AddWithValue("@CorLinhas", Cores.toARGB(acft.CorLinhas)); command.Parameters.AddWithValue("@CorPerimetro", Cores.toARGB(acft.CorPerimetro)); command.Parameters.AddWithValue("@MostrarMatricula", acft.MostrarMatricula); command.Parameters.AddWithValue("@MostrarRumo", acft.MostrarRumo); command.Parameters.AddWithValue("@MostrarPerimetro", acft.MostrarPerimetro); //where command.Parameters.AddWithValue("@Id", acft.Id); } ExecutarComando(command, manterConexaoAberta); ExcluirLocaisAcft(acft); InserirLocais(acft.locais); }