Esempio n. 1
0
        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()));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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"));
        }
Esempio n. 5
0
        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"));
            }
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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));
        }