protected override bool ChampsValides() { string no_dossier = ""; if (m_typeDeSaisie == TypeDeSaisie.Ajout) { no_dossier = Document.PREFIXE_POSTE + " " + DateTime.Now.ToString("yyyyMMdd") + "-" + Document.Instance.NumProchainDossier().ToString().PadLeft(3, '0'); } CodeStatut codeStatut = (CodeStatut)comboBoxStatut.SelectedItem; Statut statut = new Statut(no_dossier, DateNow(), codeStatut, LoggedUser.compte.Matricule); Destination destination = new Destination(DateNow(), CodeDestination.RED, "", (m_typeDeSaisie == TypeDeSaisie.Modification) ? m_dossier.Numero : no_dossier, LoggedUser.compte.Matricule); if (m_dossier.RapportEvenement == null && m_dossier.RapportAccident == null) { MB.AvertirCritique("Au moins un rapport (Évenement ou Accident) doit être lié au dossier."); return(false); } m_dossier = new Dossier((m_typeDeSaisie == TypeDeSaisie.Modification) ? m_dossier.Numero : no_dossier, (m_dossier.Statut == null) ? statut : m_dossier.Statut, m_dossier.RapportAccident, m_dossier.RapportEvenement, m_dossier.RapportEnquete, (m_dossier.Destination == null) ? destination : m_dossier.Destination, m_dossier.Vehicules, m_dossier.Personnes); EnregistrerEtiquete(m_dossier.Numero, LoggedUser.compte.Matricule); return(true); }
private Document() { try { RequetesSQL.Connecterbd(strAccessConn); } catch { MB.AvertirCritique("La lecture de « {0} » a échoué.\n" + "Le programme va s'arrêter.\n", NomFichierDonnees); Environment.Exit(0); // Permet d'arrêter le programme directement. } }
/// <summary> /// Connecter à la base des données /// </summary> /// <param name="p_strAccessConnection"></param> public static void Connecterbd(string p_strAccessConnection) { try { m_bd = new OleDbConnection(p_strAccessConnection); m_bd.Open(); } catch (Exception e) { MB.AvertirCritique("La base de données n'est pas accessible. « {0} »\n\n" + "{1}\n\n" + "Le programme va s'arrêter.\n", p_strAccessConnection, e.Message); Environment.Exit(0); } }
/// <summary> /// Ajouter un Article à la base de donnée /// </summary> /// <param name="p_article"></param> /// <returns>true quand operation reussit, false sinon</returns> public static bool AjouterArticle(ArticlePhilatélique p_article) { // Obtenir la bonne fabrique IFabriqueCommande f = LesFabriques.FabriqueDe(p_article.GetType()); CommandeEcrireSQL cmdEcrireArticle = (CommandeEcrireSQL)f.CréerCommandeSQLPourEcrireArticle(); // Executer le sql correspondant à l'article try { return(cmdEcrireArticle.ExecuterSQLEnregistrerArticle(m_bd, p_article)); } catch (Exception e) { MB.AvertirCritique("Article ne peut etre ajouté à la base des données. « {0} ».", e.Message); return(false); } }
public override bool SQLEcrireArticle(OleDbConnection m_bd, ArticlePhilatélique p_article) { TimbreSeul Article = p_article as TimbreSeul; try { BdNonQuery insert = new BdNonQuery(m_bd, "INSERT INTO Articles(type, numero, motif, date_parution, prix_payé, " + "valeur_timbre, obliteration, taille_forme) " + "VALUES(?,?,?,?,? ,?,?,?)", Article.GetType().ToString(), Article.Numéro, Article.Motif, Article.Parution.Value.Date, Article.PrixPayé, Article.ValeurTimbre, (int)Article.Oblitération, Article.TailleEtForme); insert.ExecuteNonQuery(); } catch (Exception e) { MB.AvertirCritique("Une erreur s'est produite lors de l'insertion d'un nouvel article dans la base de donnée. \n\n" + "{0}\n\n", e.Message); return(false); } return(true); }
/// <summary> /// Inserer Colonnes Si Non Existantes à une table dans la base des données /// </summary> /// <param name="p_nomTable">table à alterer</param> /// <param name="p_colonnes">table de colonnes à ajouter (nom, type)</param> public static void InsererColonnesSiNonExistantes(string p_nomTable, Tuple <string, string>[] p_colonnes) { foreach (Tuple <string, string> n in p_colonnes) { try { if (!ColonneExiste(n.Item1)) { BdNonQuery ajouterColonne = new BdNonQuery(m_bd, "ALTER TABLE " + p_nomTable + " ADD " + n.Item1 + " " + n.Item2 + ";"); ajouterColonne.ExecuteNonQuery(); } } catch (Exception e) { MB.AvertirCritique("Une erreur s'est produite lors de l'insertion d'une nouvelle colonne. \n\n" + "{2}\n\n" + "« {0} {1}».\n", n.Item1, n.Item2, e.Message); } } }