Example #1
0
        public Projet Insert(Projet Entity, CategorieDeProjet CategoriePrin, CategorieDeProjet CategorieSec, Utilisateur Auteur, TypeDeContrat Contrat, List <Montant> Montants)
        {
            // Insertion de projet ce fait par cette méthode uniquement qui appelle la première méthode insert privée pour récupéré le dernier projet inséré afin de récupéré son ID//
            if (Entity != null)
            {
                using (Crownfunding_EditionEntities Context = new Crownfunding_EditionEntities())
                {
                    Projet LastInsertProjet = Insert(Entity);

                    DataTable dt = new DataTable();
                    dt.Columns.AddRange((new DataColumn[2] {
                        new DataColumn("Prix", typeof(int)),
                        new DataColumn("[Description]", typeof(string))
                    }));

                    foreach (Montant M in Montants)
                    {
                        DataRow LigneMontant = dt.NewRow();
                        LigneMontant["Prix"]          = M.Prix;
                        LigneMontant["[Description]"] = M.Description;
                        dt.Rows.Add(LigneMontant);
                    }
                    ObjectParameter MesMontant = new ObjectParameter("Montant", dt);
                    //Création des parametre sql//
                    ObjectParameter IdProjet      = new ObjectParameter("AutoIncrementP", LastInsertProjet.Id);
                    ObjectParameter IdCatPrin     = new ObjectParameter("CatPrinc", CategoriePrin.Id);
                    ObjectParameter IdCatSec      = new ObjectParameter("CatSec", CategorieSec.Id);
                    ObjectParameter IdUtilisateur = new ObjectParameter("IdUtilisteur", Auteur.Id);
                    ObjectParameter IdContrat     = new ObjectParameter("IdContrat", Contrat.Id);
                    Context.Database.ExecuteSqlCommand("Exec PSNouveauProjetInfoSup @AutoIncrementP,@IdUtilisateur,@CatPrinc,@CatSec,@IdContrat,@Montant",
                                                       IdProjet, IdCatPrin, IdCatSec, IdUtilisateur, IdContrat, MesMontant);
                    return(LastInsertProjet);
                }
            }
            else
            {
                throw new ArgumentNullException("Le projet n'a pas été enregistré");
            }
        }
        public Projet Insert(Projet Entity, Categorie CategoriePrin, Categorie CategorieSec, Utilisateur Auteur, TypeDeContrat Contrat, List <Montant> Montants)
        {
            Gl.Projet GlPro = Mappers <Projet, Gl.Projet> .VueToEntities(Entity);

            Gl.CategorieDeProjet CatPrin = Mappers <Categorie, Gl.CategorieDeProjet> .VueToEntities(CategoriePrin);

            Gl.CategorieDeProjet CatSec = Mappers <Categorie, Gl.CategorieDeProjet> .VueToEntities(CategorieSec);

            Gl.Utilisateur GlUtilisateur = Mappers <Utilisateur, Gl.Utilisateur> .VueToEntities(Auteur);

            Gl.TypeDeContrat GlTContrat = Mappers <TypeDeContrat, Gl.TypeDeContrat> .VueToEntities(Contrat);

            List <Gl.Montant> ListeMontant = new List <Gl.Montant>();

            foreach (Montant item in Montants)
            {
                ListeMontant.Add(Mappers <Montant, Gl.Montant> .VueToEntities(item));
            }
            Gl.Projet LastProjet = Sp.Insert(GlPro, CatPrin, CatSec, GlUtilisateur, GlTContrat, ListeMontant);
            return(Mappers <Gl.Projet, Projet> .VueToEntities(LastProjet));
        }