public ActionResult Import(HttpPostedFileBase file)
        {
            try
            {
                if (file.ContentLength > 0)
                {
                    string _FileName = Path.GetFileName(file.FileName);
                    string ext       = Path.GetExtension(_FileName);
                    if (ext.Equals(".csv"))
                    {
                        string _path = Path.Combine(Server.MapPath("~/UploadedFiles"), _FileName);
                        file.SaveAs(_path);
                        MgtResultat.GetInstance().DoTraitementImport(_path);
                        ViewBag.Message = "Upload du fichier réussi";
                    }
                    else
                    {
                        ViewBag.Message = "Veuillez uploader seulement un fichier csv";
                    }
                }
                else
                {
                    ViewBag.Message = "Erreur fichier vide";
                }

                return(View());
            }
            catch
            {
                ViewBag.Message = "Upload du fichier en echec";
                return(View());
            }
        }
示例#2
0
        public ActionResult ResultatByUser()
        {
            PersonneModel user = (PersonneModel)Session.Contents["User"];

            List <Resultat> results = new List <Resultat>();

            results = MgtResultat.GetInstance().GetResultatsById(user.Id);

            List <ResultatModel> resultatModels = results.Select(x => x.ToModel()).ToList();

            return(View(resultatModels));
        }
示例#3
0
        public ActionResult AfficheResult(int idRace, int?page = 1)
        {
            List <Resultat> results = MgtResultat.GetInstance().GetResultatsByIdRace(idRace);
            Race            race    = MgtRace.GetInstance().GetRace(idRace);

            int pageSize   = 50;
            int pageNumber = (page ?? 1);

            var resultPage = results.Select(x => x.ToModel()).ToPagedList(pageNumber, pageSize);

            ViewBag.race  = race.Id;
            ViewBag.ville = race.Title + " - " + race.Town;
            return(View("Import", resultPage));
        }
示例#4
0
        public ActionResult Import(int?page = 1)
        {
            PersonneModel        personne     = (PersonneModel)Session.Contents["user"];
            List <ResultatModel> modelsResult = new List <ResultatModel>();


            HttpPostedFileBase fichier = Request.Files["FileResult"];


            if (fichier != null)
            {
                StreamReader stream = new StreamReader(fichier.InputStream);
                string       chaine = stream.ReadToEnd();

                String[] lignes = chaine.Split('\r', '\n');

                foreach (var ligne in lignes)
                {
                    if (String.IsNullOrEmpty(ligne))
                    {
                        continue;
                    }
                    ResultatModel model  = new ResultatModel();
                    string[]      champs = ligne.Split(';');

                    model.Race          = MgtRace.GetInstance().GetRace(int.Parse(champs[1])).ToModel();
                    model.Personne      = MgtPersonne.GetInstance().GetPersonneByID(int.Parse(champs[0])).ToModel();
                    model.Classement    = int.Parse(champs[2]);
                    model.TempsDeCourse = TimeSpan.Parse(champs[3]);
                    model.HeureDebut    = TimeSpan.Parse(champs[4]);
                    model.HeureArrivee  = TimeSpan.Parse(champs[5]);
                    modelsResult.Add(model);
                }
            }



            bool res = MgtResultat.GetInstance().Save(modelsResult.Select(x => x.ToBo()).ToList());


            if (res)
            {
                return(RedirectToAction("Index", "Admin"));
                //return View(valRet);
            }
            else
            {
                return(View("Importresult"));
            }
        }
示例#5
0
        public ActionResult Affichage()
        {
            List <int> results = MgtResultat.GetInstance().GetResultats();

            List <RaceModel> races = new List <RaceModel>();

            foreach (int result in results)
            {
                RaceModel race = MgtRace.GetInstance().GetRace(result).ToModel();
                races.Add(race);
            }


            return(View(races));
        }
示例#6
0
        public ActionResult ExportResults(int idRace)
        {
            List <Resultat> results = MgtResultat.GetInstance().GetResultatsByIdRace(idRace);
            Race            course  = MgtRace.GetInstance().GetRace(idRace);

            string lines = "Id Particpant;IdCourse;Classement;.Temps de course";

            // Write the string to a file.
            System.IO.StreamWriter file = new System.IO.StreamWriter("D:\\Result" + course.Title + "_" + course.Town + ".csv");
            file.WriteLine(lines);

            foreach (Resultat resultat in results)
            {
                string ligne = resultat.Personne.Nom + ";" + resultat.Race.Town + ";" + resultat.Classement + ";" + resultat.TempsDeCourse;
                file.WriteLine(ligne);
            }

            file.Close();
            return(RedirectToAction("Index", "Admin"));
        }
示例#7
0
        public ActionResult Delete(int idPoint, FormCollection collection)
        {
            try
            {
                PointModel      point         = MgtPoint.GetInstance().GetPointById(idPoint).ToModel();
                List <Resultat> listResultats = MgtResultat.GetInstance().GetAllByPoint(idPoint).ToList();
                //Suppression des résultats associés au point
                foreach (Resultat resultat in listResultats)
                {
                    MgtResultat.GetInstance().DeleteResultat(resultat.id);
                }

                int ordre  = point.Ordre;
                int taille = MgtPoint.GetInstance().GetAllWithCourseAndTypePointByCourse(point.IdCourse).Count;
                if (ordre < taille - 1)
                {
                    while (ordre < taille - 1)
                    {
                        ordre++;
                        Point pointSup = MgtPoint.GetInstance().GetPointByCourseAndOrder(point.IdCourse, ordre);
                        pointSup.Ordre = ordre - 1;
                        MgtPoint.GetInstance().UpdatePoint(pointSup);
                    }
                }

                var result = MgtPoint.GetInstance().DeletePoint(idPoint);
                if (result)
                {
                    return(RedirectToAction("Index", new { id = point.IdCourse }));
                }
                else
                {
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Resultat(int id = 0)
        {
            if (!WebSecurity.Initialized)
            {
                WebSecurity.InitializeDatabaseConnection("SqlAdoCs", "UserTable", "Id", "Name", autoCreateTables: true);
            }
            int idUser = WebSecurity.CurrentUserId;

            List <Resultat>      resultats = MgtResultat.GetInstance().GetAllByCourseAndPersonne(id, idUser);
            Race                 course    = MgtRace.GetInstance().GetRace(id);
            List <ResultatModel> models    = new List <ResultatModel>();
            Boolean              first     = true;
            DateTime             debut     = DateTime.Now;

            foreach (Resultat bo in resultats)
            {
                ResultatModel model = bo.ToModel();
                if (first)
                {
                    debut            = model.temps;
                    model.tempsPoint = "0:00:00.000";
                    first            = false;
                }
                else
                {
                    TimeSpan span = model.temps.Subtract(debut);
                    model.tempsPoint = formatTemps(span);
                }
                model.Point = MgtPoint.GetInstance().GetPointById(model.idPoint).ToModel();
                models.Add(model);
            }
            models.OrderBy(x => x.Point.Ordre);
            ResultatView view = new ResultatView()
            {
                Course    = course.ToModel(),
                resultats = models
            };

            return(View(view));
        }