public ActionResult Participer(ParticipationRequest PF_element)
        {
            var id_prestataire = User.Identity.GetUserId();

            // dbmetier..Entry(marché).State = EntityState.Modified;
            Models.Participation participation = dbmetier.Participations.Where(a => a.id_prestataire_participation == id_prestataire && a.id_marché_participation == PF_element.id_marche).FirstOrDefault();
            participation.budget_prestation = PF_element.budget_prestation;

            Profil prof = new Profil();
            Participation_profil pf;

            foreach (Models.viewmodel.Profil_cout_chargeVM item in PF_element.listeprofil_cout)
            {
                prof = dbmetier.Profils.Where(a => a.libelle_profil == item.libelle).FirstOrDefault();
                pf   = new Participation_profil
                {
                    id_participation_fk = participation.id_participation,
                    id_profil_fk        = prof.id_profil,
                    cout_unit_ht        = item.cout
                };
                dbmetier.Participation_profil.Add(pf);
            }


            dbmetier.SaveChanges();
            return(RedirectToAction("MarchePropose"));
        }
        public ActionResult annler_mision(int id_marche, int id_mission_annulée)
        {
            Marché mar = dbmetier.Marché.Find(id_marche);
            Affectation_profils aff;
            Mission             mission = dbmetier.Missions.Where(a => a.id_mission == id_mission_annulée).FirstOrDefault();

            mission.date_fin_mission = System.DateTime.Now;
            ICollection <Affectation_profils> listaf = new List <Affectation_profils>();



            int budget_mission = 0;

            foreach (var item in mission.Affectation_profils)
            {
                Profil               profil    = item.Profil;
                Participation        par       = dbmetier.Participations.Where(a => a.id_marché_participation == id_marche).FirstOrDefault();
                Participation_profil particpro = dbmetier.Participation_profil.Where(a => a.id_profil_fk == profil.id_profil && a.id_participation_fk == (int)par.id_participation).FirstOrDefault();
                budget_mission += (int)item.charge_profil * (int)particpro.cout_unit_ht;
            }
            mar.montant_total -= budget_mission;
            dbmetier.SaveChanges();


            foreach (var item in mission.Affectation_profils)
            {
                aff = new Affectation_profils {
                    charge_profil = item.charge_profil, id_affectation = item.id_affectation, id_mission_affectation = item.id_mission_affectation, id_profils_affectation = item.id_profils_affectation, Mission = item.Mission, Profil = item.Profil
                };

                listaf.Add(aff);
            }
            foreach (var item in listaf)
            {
                aff = dbmetier.Affectation_profils.Where(a => a.id_affectation == item.id_affectation).FirstOrDefault();
                dbmetier.Affectation_profils.Remove(aff);
            }
            dbmetier.SaveChanges();
            return(RedirectToAction("Dashboardresp", new { id_marche = id_marche }));;
        }