public ActionResult Index() { List <RaceModel> result = MgtRace.GetInstance().GetAllItemsWithParticipants().ToModels(true); result = result.Where(x => x.DateEnd >= DateTime.Today).ToList(); int idUser = 0; if (WebSecurity.IsAuthenticated) { if (!WebSecurity.Initialized) { WebSecurity.InitializeDatabaseConnection("SqlAdoCs", "UserTable", "Id", "Name", autoCreateTables: true); } idUser = WebSecurity.CurrentUserId; } if (idUser > 0) { Personne user = MgtPersonne.GetInstance().GetPersonneByIdUserTable(idUser); for (int i = 0; i < result.Count; i++) { bool inscrit = MgtParticipant.GetInstance().isIncrit(result.ElementAt(i).Id, user.Id); result.ElementAt(i).Inscrit = inscrit; } } return(View(result.OrderByDescending(x => x.DateStart).ToList())); }
public ActionResult Index() { if (!WebSecurity.Initialized) { WebSecurity.InitializeDatabaseConnection("SqlAdoCs", "UserTable", "Id", "Name", autoCreateTables: true); } //Récupération de la personne par son id UserTable int idUser = WebSecurity.CurrentUserId; var personne = MgtPersonne.GetInstance().GetPersonneByIdUserTable(idUser).ToModel(); int idPersonne = personne.Id; //Récupération de la liste des inscriptions de la personne par son id var inscriptions = MgtParticipant.GetInstance().GetAllById(idPersonne).ToModels(); //Réupérations des informations de chaque course auquel la personne est inscrite //On génère une liste des courses auxquelles la personne est inscrite, avec tous les détails les concernant List <RaceModel> coursesInscrit = new List <RaceModel>(); foreach (var ins in inscriptions) { var course = MgtRace.GetInstance().GetRace(ins.CourseId).ToModel(); coursesInscrit.Add(course); } //On retourne la vue corespondante avec la liste des inscriptions en paramètre return(View(coursesInscrit)); }
public ActionResult InscriptionJour(int id = 0) { InscritsView view = new InscritsView(); List <Participant> partipants = MgtParticipant.GetInstance().GetAllByIdCourse(id); view.Course = MgtRace.GetInstance().GetRace(id).ToModel(); view.inscriptions = initInscriptions(partipants); return(View(view)); }
public ActionResult Unsubscribe(int idRace = 0) { if (!WebSecurity.Initialized) { WebSecurity.InitializeDatabaseConnection("SqlAdoCs", "UserTable", "Id", "Name", autoCreateTables: true); } //Récupération de la personne par son id UserTable int idUser = WebSecurity.CurrentUserId; var personne = MgtPersonne.GetInstance().GetPersonneByIdUserTable(idUser).ToModel(); int idPersonne = personne.Id; //Suppression en base de l'inscription avec id de la personne et id de la course en paramètres MgtParticipant.GetInstance().RemoveParticipant(idPersonne, idRace); return(RedirectToAction("Index", "Participant")); }
public ActionResult InscritsToPDF(int id) { InscritsView view = new InscritsView(); List <Participant> partipants = MgtParticipant.GetInstance().GetAllByIdCourse(id); List <PersonneModel> personnes = new List <PersonneModel>(); foreach (Participant part in partipants) { PersonneModel model = MgtPersonne.GetInstance().GetPersonneById(part.IdPersonne).ToModel(); model.participant = part.ToModel(); personnes.Add(model); } view.Course = MgtRace.GetInstance().GetRace(id).ToModel(); view.personnes = personnes; view.nbInscrits = personnes.Count; view.inscriptions = initInscriptions(partipants); Document doc = new Document(PageSize.LETTER, 50, 50, 50, 50); string html = RenderRazorViewToString("~/Views/Race/InscritsToPDF.cshtml", view); TextReader reader = new StringReader(html); using (MemoryStream output = new MemoryStream()) { PdfWriter wri = PdfWriter.GetInstance(doc, output); // step 3: we create a worker parse the document HTMLWorker worker = new HTMLWorker(doc); doc.Open(); worker.StartDocument(); // step 5: parse the html into the document worker.Parse(reader); // step 6: close the document and the worker worker.EndDocument(); worker.Close(); doc.Close(); return(File(output.ToArray(), "application/pdf", "Inscriptions" + view.Course.Title + ".pdf")); } }
public ActionResult Register(int id = 0) { RaceModel model = MgtRace.GetInstance().GetRace(id).ToModel(); if (!WebSecurity.Initialized) { WebSecurity.InitializeDatabaseConnection("SqlAdoCs", "UserTable", "Id", "Name", autoCreateTables: true); } int idUser = WebSecurity.CurrentUserId; int maxParticipant = model.MaxParticipants; int nbParticpant = 0; if (maxParticipant > 0) { nbParticpant = MgtParticipant.GetInstance().GetAllByIdCourse(id).Count; } String message = ""; if (maxParticipant == 0 || nbParticpant < maxParticipant) { MgtRace.GetInstance().addInscription(id, idUser); message = "Vous êtes bien inscrit à la course " + model.Title + " qui commenceras le " + model.DateStart + " " + "à " + model.Town + ".Un email récapitulatif vous a été envoyer."; } else { message = "Il n'y a plus de place pour cette course. Veuillez essayer ultérieument ou participer à une autre course."; } MailUtil mail = new MailUtil(); // mail.sendMailInscription(id, idUser); RegisterView view = new RegisterView(); view.Course = model; view.message = message; return(View(view)); }
public ActionResult Inscrits(int id = 0, int page = 1) { InscritsView view = new InscritsView(); List <Participant> partipants = MgtParticipant.GetInstance().GetAllByIdCourse(id); List <PersonneModel> personnes = new List <PersonneModel>(); foreach (Participant part in partipants) { PersonneModel model = MgtPersonne.GetInstance().GetPersonneById(part.IdPersonne).ToModel(); model.participant = part.ToModel(); personnes.Add(model); } Pager pager = new Pager(personnes.Count, page, 15); view.Course = MgtRace.GetInstance().GetRace(id).ToModel(); view.personnes = personnes.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(); view.nbInscrits = personnes.Count; view.inscriptions = initInscriptions(partipants); view.Pager = pager; return(View(view)); }
public ActionResult InscriptionAge(int id = 0) { InscritsView view = new InscritsView(); List <Participant> partipants = MgtParticipant.GetInstance().GetAllByIdCourse(id); List <PersonneModel> personnes = new List <PersonneModel>(); int Nb20 = 0; int Nb21_30 = 0; int Nb31_40 = 0; int Nb41_50 = 0; int Nb51_60 = 0; int Nb61 = 0; foreach (Participant part in partipants) { PersonneModel model = MgtPersonne.GetInstance().GetPersonneById(part.IdPersonne).ToModel(); if (model.DateNaissance != null) { int age = DateTime.Now.Year - model.DateNaissance.Value.Year; if (age <= 20) { Nb20++; } else if (age <= 30) { Nb21_30++; } else if (age <= 40) { Nb31_40++; } else if (age <= 50) { Nb41_50++; } else if (age <= 60) { Nb51_60++; } else { Nb61++; } } personnes.Add(model); } view.Course = MgtRace.GetInstance().GetRace(id).ToModel(); view.personnes = personnes; view.nbInscrits = personnes.Count; view.TA20 = Nb20; view.TA21_30 = Nb21_30; view.TA31_40 = Nb31_40; view.TA41_50 = Nb41_50; view.TA51_60 = Nb51_60; view.TA61 = Nb61; return(View(view)); }