Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoi les donnée dans deux table la même requête

Avec ENTITY FRAMEWORK

    12 décembre 2020 à 14:32:58

    bonjour,

    je suis entrain de travaille sur un projet, je n'arrive à crée une requête d'envoi des donnée avec deux table dans la même requête. j'utilise comme Framework entity.

    les entités de la table agent.

    //------------------------------------------------------------------------------
    // <auto-generated>
    //     This code was generated from a template.
    //
    //     Manual changes to this file may cause unexpected behavior in your application.
    //     Manual changes to this file will be overwritten if the code is regenerated.
    // </auto-generated>
    //------------------------------------------------------------------------------
    
    namespace GestionScolaire
    {
        using System;
        using System.Collections.Generic;
        
        public partial class agent
        {
            public int CodeAgent { get; set; }
            public string NmAg { get; set; }
            public string PrnmAg { get; set; }
            public System.DateTime DtNaisAg { get; set; }
            public string LieuNaisAg { get; set; }
            public string SexeAg { get; set; }
            public string NotionAg { get; set; }
            public string AdreAg { get; set; }
            public string NumAg { get; set; }
            public string EmailAg { get; set; }
            public Nullable<int> CodeFonct { get; set; }
        
            public virtual fonction fonction { get; set; }
        }
    }
    

    les entité de la table fonction

    //------------------------------------------------------------------------------
    // <auto-generated>
    //     This code was generated from a template.
    //
    //     Manual changes to this file may cause unexpected behavior in your application.
    //     Manual changes to this file will be overwritten if the code is regenerated.
    // </auto-generated>
    //------------------------------------------------------------------------------
    
    namespace GestionScolaire
    {
        using System;
        using System.Collections.Generic;
        
        public partial class fonction
        {
            [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
            public fonction()
            {
                this.agents = new HashSet<agent>();
            }
        
            public int CodeFonct { get; set; }
            public string fonction1 { get; set; }
        
            [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
            public virtual ICollection<agent> agents { get; set; }
        }
    }
    

    La class qui me permet d'envoi les données dans la base de donnée

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace GestionScolaire.BL
    {
        class CLS_Agent
        {
            private dbGestionContext db = new dbGestionContext();
            private agent A;//table Agent
            private fonction F;//table Fonction
            //////
             //// FONCTION POUR AJOUTER LES AGENT DANS LA BASE DE DONNEE
            /////
    
            public bool Ajouter_Agent(string Nom, string prenom, string datenaissance, string lieunaissance, string sexe, string nationalite, string adresse, string numero, string email, int codefonction)
            {
               
                A = new agent();////Nouveau client
                A.NmAg = Nom;
                A.PrnmAg = prenom;
                A.DtNaisAg = DateTime.Parse (datenaissance);
                A.LieuNaisAg = lieunaissance;
                A.SexeAg = sexe;
                A.NotionAg = nationalite;
                A.AdreAg = adresse;
                A.NumAg = numero;
                A.EmailAg = email;
                A.CodeFonct = codefonction;
               
                ///verification si le nom et prénom exist déjà dans la base de donnée
                ///
    
                if(db.agents.SingleOrDefault(s=>s.NmAg==Nom && A.PrnmAg==prenom)==null)
                {
                    db.agents.Add(A);////////////////Ajouter dans la table Agent
                    db.fonctions.Add(F);
                    db.SaveChanges();////Enregistrer dans la base de donnée
                    return true;
                }
                else////////si existe pas dans la base de donnée
                {
                    return false;
                }
            }
                 
        }
    }
    

    le buton enregistré

    private void btnEnregistrer_Click(object sender, EventArgs e)
            {
                if (testobligatoire()!=null)
                {
                    MessageBox.Show(testobligatoire(), "Obligatoire", MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
                else
                {
                    BL.CLS_Agent clagent = new BL.CLS_Agent();
                    if(clagent.Ajouter_Agent(txtnomAgent.Text, txtprenomAgent.Text, txtlieuNais.Text, txt_sexe, txtNation.Text, txtAdresseAgent.Text, int.Parse(txttelephoneagent.Text), txtemailagent.Text, txtfonction.Text)==true)
                    {
                        MessageBox.Show("Agent ajouter avec succès", "Ajouter", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else          
                    {
                        MessageBox.Show("Nom et prémon de l'agent existe déjà dans la base de données", "Ajouter", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

    Merci d'avance pour vos réponse.





    -
    Edité par André Parfait 12 décembre 2020 à 14:34:14

    • Partager sur Facebook
    • Partager sur Twitter
      14 décembre 2020 à 15:32:26

      pas faisable à ma connaissance, mais peut-être pas compris ce que tu voulais vraiment faire
      • Partager sur Facebook
      • Partager sur Twitter

      Envoi les donnée dans deux table la même requête

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown