using MALDFGASSURANCE.Models; using System; using System.Data; using System.Data.Entity; using System.IO; using System.Linq; using System.Net; using System.Web.Mvc; namespace MALDFGASSURANCE.Areas.ADHESION.Controllers { [Authorize(Roles = "Coordonnateur")] public class ADHERENTsController : Controller { private MALDFGEntities db = new MALDFGEntities(); // GET: WebAdhesion/ADHERENTS public ActionResult Index() { var aDHERENT = db.ADHERENT.Include(a => a.CATEGORIE_PROFESSIONELLE).Include(a => a.FONCTION).Include(a => a.ENTREPRISE); return View(aDHERENT.Where(a => a.ETAT == 1).ToList()); } // GET: WebAdhesion/ADHERENTS/Details/5 public ActionResult Details(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ADHERENT aDHERENT = db.ADHERENT.Find(id); if (aDHERENT == null) { return HttpNotFound(); } return View(aDHERENT); } public String InfosMatriculeAdherent(string id) { if (id == null) { return null; } ADHERENT aDHERENT = db.ADHERENT.FirstOrDefault(m => m.MATRICULE_PROFESSIONNEL_ADERANT == id); if (aDHERENT == null) { return null; } return aDHERENT.REFERENCE_ADHERENT; } public String InfosNomAdherent(string id) { if (id == null) { return null; } ADHERENT aDHERENT = db.ADHERENT.FirstOrDefault(m => m.MATRICULE_PROFESSIONNEL_ADERANT == id); if (aDHERENT == null) { return null; } return aDHERENT.NOMS_ET_PRENOMS; } // GET: WebAdhesion/ADHERENTS/Create public ActionResult Create() { ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE"); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION"); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE"); ViewBag.CODE_STATUT = new SelectList(db.STATUT_ASSURANCE, "CODE_STATUT", "LIBELLE_STATUT"); ViewBag.ID_GROUPE_SANGUIN = new SelectList(db.GROUPE_SANGUIN, "ID_GROUPE_SANGUIN", "LIBELLE_GROUPE_SANGUIN"); ViewBag.IDNIVEAU_ETUDE = new SelectList(db.NIVEAU_ETUDE, "IDNIVEAU_ETUDE", "LIBELLENIVEAU_ETUDE"); ViewBag.CODE_STATUT_MATRIMONIALE = new SelectList(db.STATUT_MATRIMONIAL, "CODE_STATUT_MATRIMONIALE", "LIBELLE_STATUT_MATRIMONIAL"); ViewBag.IDPROFESSION = new SelectList(db.PROFESSION, "IDPROFESSION", "LIBELLEPROFESSION"); ViewBag.IDSEXE = new SelectList(db.SEXE, "IDSEXE", "LIBELLESEXE"); ViewBag.ID_TYPE_ASSURE = new SelectList(db.TYPE_ASSURE, "ID_TYPE_ASSURE", "LIBELLE_TYPE_ASSURE"); return View(); } public ActionResult CreateASSURE() { ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE"); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION"); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE"); ViewBag.CODE_STATUT = new SelectList(db.STATUT_ASSURANCE, "CODE_STATUT", "LIBELLE_STATUT"); ViewBag.ID_GROUPE_SANGUIN = new SelectList(db.GROUPE_SANGUIN, "ID_GROUPE_SANGUIN", "LIBELLE_GROUPE_SANGUIN"); ViewBag.IDNIVEAU_ETUDE = new SelectList(db.NIVEAU_ETUDE, "IDNIVEAU_ETUDE", "LIBELLENIVEAU_ETUDE"); ViewBag.CODE_STATUT_MATRIMONIALE = new SelectList(db.STATUT_MATRIMONIAL, "CODE_STATUT_MATRIMONIALE", "LIBELLE_STATUT_MATRIMONIAL"); ViewBag.IDPROFESSION = new SelectList(db.PROFESSION, "IDPROFESSION", "LIBELLEPROFESSION"); ViewBag.IDSEXE = new SelectList(db.SEXE, "IDSEXE", "LIBELLESEXE"); ViewBag.ID_TYPE_ASSURE = new SelectList(db.TYPE_ASSURE, "ID_TYPE_ASSURE", "LIBELLE_TYPE_ASSURE"); return View(); } // POST: WebAdhesion/ADHERENTS/Create // Afin de déjouer les attaques par survalidation, activez les propriétés spécifiques auxquelles vous voulez établir une liaison. Pour // plus de détails, consultez https://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "REFERENCE_ADHERENT,IDENTREPRISES,CODE_CATEGORIE_PROFESSIONELLE,CODE_FONCTION,NOMS_ET_PRENOMS,MATRICULE_PROFESSIONNEL_ADERANT,DATE_EMBAUCHE,DATE_DEBUT_ADHESION,DATE_FIN_ADHESION,IDUTILISATEUR,ETAT,DATECREATION,DATEMODIFICATION,DATESUPPRESSION")] ADHERENT aDHERENT) { if (ModelState.IsValid) { string myreference = "MALDFGS" + aDHERENT.MATRICULE_PROFESSIONNEL_ADERANT; if (db.ADHERENT.Where(m => m.MATRICULE_PROFESSIONNEL_ADERANT == aDHERENT.MATRICULE_PROFESSIONNEL_ADERANT).Count() == 0 && db.ADHERENT.Where(m => m.REFERENCE_ADHERENT == myreference).Count() == 0) { string prenomAdherent = aDHERENT.IDUTILISATEUR; String nomAdherent = aDHERENT.NOMS_ET_PRENOMS; aDHERENT.NOMS_ET_PRENOMS = aDHERENT.NOMS_ET_PRENOMS + prenomAdherent; aDHERENT.REFERENCE_ADHERENT = aDHERENT.MATRICULE_PROFESSIONNEL_ADERANT; aDHERENT.IDUTILISATEUR = User.Identity.Name; aDHERENT.DATECREATION = DateTime.Now; aDHERENT.ETAT = 1; db.ADHERENT.Add(aDHERENT); db.SaveChanges(); return RedirectToAction("CreateAssure", "ASSURES", new { id = aDHERENT.REFERENCE_ADHERENT, nom = nomAdherent, prenom = prenomAdherent }); } else { ViewBag.Message = "ADHERENT EXIST DEJA DANS LE SYSTEME"; } } ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE", aDHERENT.CODE_CATEGORIE_PROFESSIONELLE); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION", aDHERENT.CODE_FONCTION); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE", aDHERENT.IDENTREPRISES); return View(aDHERENT); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult CreateASSURE([Bind(Include = "MATRICULE,CODE_STATUT,CODE_STATUT_MATRIMONIALE,NOM,PRENOMS,DATE_NAISSANCE,LIEU_NAISSANCE,IDSEXE,EMAIL,IDNIVEAU_ETUDE,IDPROFESSION,ADRESSE,TAILLE,POIDS,NATIONALITE,ID_GROUPE_SANGUIN,ID_TYPE_ASSURE,DATE_DEBUT_ASSURANCE,PROFESSION_,DATE_FIN_ASSURANCE,PHOTO,REFERENCE_ADHERENT,IDENTREPRISES,CODE_CATEGORIE_PROFESSIONELLE,CODE_FONCTION,MATRICULE_PROFESSIONNEL_ADERANT,DATE_EMBAUCHE,DATE_DEBUT_ADHESION,DATE_FIN_ADHESION,IDUTILISATEUR,ETAT,DATECREATION,DATEMODIFICATION,DATESUPPRESSION")] AssureAdherent assureAdherent) { String message = ""; string myreference = "MALDFGS" + assureAdherent.MATRICULE_PROFESSIONNEL_ADERANT; try { if (db.ADHERENT.Where(m => m.MATRICULE_PROFESSIONNEL_ADERANT == assureAdherent.MATRICULE_PROFESSIONNEL_ADERANT).Count() == 0 && db.ADHERENT.Where(m => m.NOMS_ET_PRENOMS == assureAdherent.NOM + " " + assureAdherent.PRENOMS).Count() == 0) { if (db.ADHERENT.Where(a => a.REFERENCE_ADHERENT == myreference).Count() == 0) { ADHERENT aDHERENT = new ADHERENT(); ASSURE aSSURE = new ASSURE(); aDHERENT.REFERENCE_ADHERENT = myreference; aDHERENT.NOMS_ET_PRENOMS = assureAdherent.NOM + " " + assureAdherent.PRENOMS; aDHERENT.MATRICULE_PROFESSIONNEL_ADERANT = assureAdherent.MATRICULE_PROFESSIONNEL_ADERANT; aDHERENT.DATE_EMBAUCHE = assureAdherent.DATE_EMBAUCHE; aDHERENT.DATE_DEBUT_ADHESION = assureAdherent.DATE_DEBUT_ADHESION; aDHERENT.IDENTREPRISES = assureAdherent.IDENTREPRISES; aDHERENT.CODE_FONCTION = assureAdherent.CODE_FONCTION; aDHERENT.CODE_CATEGORIE_PROFESSIONELLE = assureAdherent.CODE_CATEGORIE_PROFESSIONELLE; aDHERENT.IDUTILISATEUR = User.Identity.Name; aDHERENT.DATECREATION = DateTime.Now; aDHERENT.ETAT = 1; db.ADHERENT.Add(aDHERENT); db.SaveChanges(); if (assureAdherent.ETAT == 1) { int numeroMatricule = 0; string mymatricule = null; if (db.ASSURE.Where(a => a.REFERENCE_ADHERENT == assureAdherent.MATRICULE_PROFESSIONNEL_ADERANT).Count() <= 0) { var max = db.ASSURE.Where(a => a.ID_TYPE_ASSURE == "A001").Max(a => a.MATRICULE); int.TryParse(max, out numeroMatricule); numeroMatricule = numeroMatricule + 1; mymatricule = numeroMatricule.ToString(); } else { message += " Assure principale existe"; } if (mymatricule != null & db.ASSURE.Where(a => a.MATRICULE == mymatricule).Count() <= 0) { if (Request.Files.Count > 0) { var file = Request.Files[0]; if (file != null && file.ContentLength > 0) { //extension de fichier string[] validFileTypes = { ".pdf", ".png", ".jpg", ".jpeg", ".PDF", ".PNG", ".JPG", ".JPEG" }; string ext = Path.GetExtension(file.FileName); String nomdufichier = mymatricule + ext; var path = Path.Combine(Server.MapPath("~/Fichier/Photoassure"), nomdufichier); file.SaveAs(path); aSSURE.PHOTO = nomdufichier; } else { message += "Erreur 01 dans l'enregistrement de la photo"; } } else { message += "Erreur 02 dans l'enregistrement de la photo "; } if (assureAdherent.DATE_NAISSANCE != null && assureAdherent.NATIONALITE != null && assureAdherent.NATIONALITE != "") { if (db.ASSURE.Where(a => a.REFERENCE_ADHERENT == myreference).Count() == 0) { aSSURE.REFERENCE_ADHERENT = myreference; aSSURE.DATE_NAISSANCE = assureAdherent.DATE_NAISSANCE; aSSURE.NOM = assureAdherent.NOM; aSSURE.PRENOMS = assureAdherent.PRENOMS; aSSURE.LIEU_NAISSANCE = assureAdherent.LIEU_NAISSANCE; aSSURE.IDSEXE = assureAdherent.IDSEXE; aSSURE.EMAIL = assureAdherent.EMAIL; aSSURE.CODE_STATUT_MATRIMONIALE = assureAdherent.CODE_STATUT_MATRIMONIALE; aSSURE.IDNIVEAU_ETUDE = assureAdherent.IDNIVEAU_ETUDE; aSSURE.PROFESSION_ = assureAdherent.PROFESSION_; aSSURE.IDPROFESSION = "PR001"; aSSURE.ADRESSE = assureAdherent.ADRESSE; aSSURE.TAILLE = assureAdherent.TAILLE; aSSURE.NATIONALITE = assureAdherent.NATIONALITE; aSSURE.ID_TYPE_ASSURE = "A001"; aSSURE.ID_GROUPE_SANGUIN = assureAdherent.ID_GROUPE_SANGUIN; aSSURE.DATE_DEBUT_ASSURANCE = DateTime.Now; aSSURE.CODE_STATUT = assureAdherent.CODE_STATUT; aSSURE.MATRICULE = mymatricule; aSSURE.IDUTILISATEUR = User.Identity.Name; aSSURE.DATECREATION = DateTime.Now; db.ASSURE.Add(aSSURE); db.SaveChanges(); return RedirectToAction("index", "ASSURES"); } else { message += "ASSURE EXIST DEJA DANS LE SYSTEME"; } } else { message += "ADHERENT N'EST PAS ASSURE"; return RedirectToAction("index", "ADHERENTS"); } } else { message += "Le Matricule existe"; } } else { return RedirectToAction("Index"); } } else { message += "ADHERENT EXIST DEJA DANS LE SYSTEME"; } } else { message += "LE MATRICULE PROFESSIONEL DE l'ADHERENT EXIST DEJA DANS LE SYSTEME"; } ViewBag.Message = message; ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE"); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION"); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE"); ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE"); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION"); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE"); ViewBag.CODE_STATUT = new SelectList(db.STATUT_ASSURANCE, "CODE_STATUT", "LIBELLE_STATUT"); ViewBag.ID_GROUPE_SANGUIN = new SelectList(db.GROUPE_SANGUIN, "ID_GROUPE_SANGUIN", "LIBELLE_GROUPE_SANGUIN"); ViewBag.IDNIVEAU_ETUDE = new SelectList(db.NIVEAU_ETUDE, "IDNIVEAU_ETUDE", "LIBELLENIVEAU_ETUDE"); ViewBag.CODE_STATUT_MATRIMONIALE = new SelectList(db.STATUT_MATRIMONIAL, "CODE_STATUT_MATRIMONIALE", "LIBELLE_STATUT_MATRIMONIAL"); ViewBag.IDPROFESSION = new SelectList(db.PROFESSION, "IDPROFESSION", "LIBELLEPROFESSION"); ViewBag.IDSEXE = new SelectList(db.SEXE, "IDSEXE", "LIBELLESEXE"); ViewBag.ID_TYPE_ASSURE = new SelectList(db.TYPE_ASSURE, "ID_TYPE_ASSURE", "LIBELLE_TYPE_ASSURE"); return View(assureAdherent); } catch (Exception ex) { ViewBag.Message = message + "____" + ex; ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE"); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION"); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE"); ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE"); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION"); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE"); ViewBag.CODE_STATUT = new SelectList(db.STATUT_ASSURANCE, "CODE_STATUT", "LIBELLE_STATUT"); ViewBag.ID_GROUPE_SANGUIN = new SelectList(db.GROUPE_SANGUIN, "ID_GROUPE_SANGUIN", "LIBELLE_GROUPE_SANGUIN"); ViewBag.IDNIVEAU_ETUDE = new SelectList(db.NIVEAU_ETUDE, "IDNIVEAU_ETUDE", "LIBELLENIVEAU_ETUDE"); ViewBag.CODE_STATUT_MATRIMONIALE = new SelectList(db.STATUT_MATRIMONIAL, "CODE_STATUT_MATRIMONIALE", "LIBELLE_STATUT_MATRIMONIAL"); ViewBag.IDPROFESSION = new SelectList(db.PROFESSION, "IDPROFESSION", "LIBELLEPROFESSION"); ViewBag.IDSEXE = new SelectList(db.SEXE, "IDSEXE", "LIBELLESEXE"); ViewBag.ID_TYPE_ASSURE = new SelectList(db.TYPE_ASSURE, "ID_TYPE_ASSURE", "LIBELLE_TYPE_ASSURE"); return View(assureAdherent); } } // GET: WebAdhesion/ADHERENTS/Edit/5 public ActionResult Edit(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ADHERENT aDHERENT = db.ADHERENT.Find(id); if (aDHERENT == null) { return HttpNotFound(); } ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE", aDHERENT.CODE_CATEGORIE_PROFESSIONELLE); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION", aDHERENT.CODE_FONCTION); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE", aDHERENT.IDENTREPRISES); return View(aDHERENT); } // POST: WebAdhesion/ADHERENTS/Edit/5 // Afin de déjouer les attaques par survalidation, activez les propriétés spécifiques auxquelles vous voulez établir une liaison. Pour // plus de détails, consultez https://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include = "REFERENCE_ADHERENT,IDENTREPRISES,CODE_CATEGORIE_PROFESSIONELLE,CODE_FONCTION,NOMS_ET_PRENOMS,MATRICULE_PROFESSIONNEL_ADERANT,DATE_EMBAUCHE,DATE_DEBUT_ADHESION,DATE_FIN_ADHESION,IDUTILISATEUR,ETAT,DATECREATION,DATEMODIFICATION,DATESUPPRESSION")] ADHERENT aDHERENT) { if (ModelState.IsValid) { aDHERENT.DATEMODIFICATION = DateTime.Now; aDHERENT.IDUTILISATEUR = User.Identity.Name; db.Entry(aDHERENT).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.CODE_CATEGORIE_PROFESSIONELLE = new SelectList(db.CATEGORIE_PROFESSIONELLE, "CODE_CATEGORIE_PROFESSIONELLE", "LIBELLE_CATEGORIE_PROFESSIONELLE", aDHERENT.CODE_CATEGORIE_PROFESSIONELLE); ViewBag.CODE_FONCTION = new SelectList(db.FONCTION, "CODE_FONCTION", "LIBELLE_FONCTION", aDHERENT.CODE_FONCTION); ViewBag.IDENTREPRISES = new SelectList(db.ENTREPRISE, "IDENTREPRISES", "RAISONSOCIALE", aDHERENT.IDENTREPRISES); return View(aDHERENT); } // GET: WebAdhesion/ADHERENTS/Delete/5 public ActionResult Delete(string id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } ADHERENT aDHERENT = db.ADHERENT.Find(id); if (aDHERENT == null) { return HttpNotFound(); } return View(aDHERENT); } // POST: WebAdhesion/ADHERENTS/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(string id) { ADHERENT aDHERENT = db.ADHERENT.Find(id); aDHERENT.ETAT = 0; aDHERENT.DATEMODIFICATION = DateTime.Now; aDHERENT.IDUTILISATEUR = User.Identity.Name; db.Entry(aDHERENT).State = EntityState.Modified; //db.ADHERENT.Remove(aDHERENT); db.SaveChanges(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } }