Beispiel #1
0
        public ActionResult Login(LoginVM model)
        {
            AuthenticationBusiness userBL = new AuthenticationBusiness();
            Person user = userBL.LoginPerson(model);

            if (user != null)
            {
                ConnexionService.SetSession(user);
                TempData["LoginMessage"] = "Welcome " + model.Login;
                if (user is Student)
                {
                    return(RedirectToAction(nameof(HomeController.Index), "Home"));
                }
                else if (user is Instructor)
                {
                    return(RedirectToAction(nameof(HomeController.Index), "Home"));
                }
            }

            else
            {
                ModelState.AddModelError("", "Invalid login or password");
                return(View());
            }

            return(View());
        }
Beispiel #2
0
        public ActionResult Login(LoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.ErrorMessage = "Erreur d'enregistrement";
                return(View(model));
            }
            if (model.Username.IsNullOrWhiteSpace())
            {
                model.ErrorMessage = "Nom d'utilisateur est obligatoire";
                return(View(model));
            }
            if (model.Password.IsNullOrWhiteSpace())
            {
                model.ErrorMessage = "Mot de passe est obligatoire";
                return(View(model));
            }

            try
            {
                var connexionService = new ConnexionService();
                var userTokenString  = connexionService.Login(new LoginMessage()
                {
                    Username = model.Username,
                    Password = model.Password
                });
                return(ConnectUser(model.RememberMe, userTokenString));
            }
            catch (System.Web.Http.HttpResponseException e)
            {
                model.ErrorMessage = "Erreur de connection : " + e.Response.ReasonPhrase;
                return(View(model));
            }
        }
        public ActionResult CheckLogin(string email, string password)
        {
            //string messErreur = null;

            UTILISATEUR_MODEL utilisateur = new UTILISATEUR_MODEL();

            utilisateur = ConnexionService.GetUserPasswordByEmail(email);
            if (utilisateur == null)
            {
                return(Content("ko", null));
            }
            if (utilisateur.PASSWORD == EncryptString(password))
            {
                SetUserEmail(utilisateur.E_MAIL);
                SetUserNom(utilisateur.NOM);
                SetUserPrenom(utilisateur.PRENOM);
                SetUserStatut(utilisateur.STATUT);
                return(Content(utilisateur.STATUT, null));
            }
            else
            {
                return(Content("ko", null));
            }
            //if (messErreur == null)
            //{

            //}
        }
        public ActionResult Delete()
        {
            var user = User as PrincessPrincipal;

            if (user != null)
            {
                var cs = new ConnexionService();
                cs.DeleteUser(user.Token);
                return(RedirectToAction("LogOff", "Account"));
            }
            return(Index());
        }
Beispiel #5
0
        public ActionResult Create(CourseDay Day, string Course, DateTime StartHour, DateTime EndHour, DateTime DateStart)
        {
            if (ModelState.IsValid)
            {
                Person user = ConnexionService.GetSession();


                if (user != null && user is Instructor)
                {
                    Instructor instructor = lessonBL.GetInstructor(user.ID);


                    // Can we refactor those tests
                    if (DateTime.Compare(StartHour, EndHour) > 0)
                    {
                        TempData["CreateError"] = LessonConstants.ERRORS_STARTHOUR_AFTER_ENDHOUR;
                        return(RedirectToAction(nameof(LessonController.Create), "Lesson"));
                    }

                    if (StartHour.Hour < 8 || StartHour.Hour > 18)
                    {
                        TempData["CreateError"] = LessonConstants.ERROR_STARTHOUR;
                        return(RedirectToAction(nameof(LessonController.Create), "Lesson"));
                    }

                    if (EndHour.Hour < 9 || EndHour.Hour > 19)
                    {
                        TempData["CreateError"] = LessonConstants.ERROR_ENDHOUR;
                        return(RedirectToAction(nameof(LessonController.Create), "Lesson"));
                    }

                    Lesson lesson = lessonBL.CreateLesson(instructor, Day, Course, StartHour, EndHour, DateStart);
                    // vérification d'agenda
                    if (!lessonBL.IsPlanningCreationValid(lesson))
                    {
                        TempData["CreateError"] = $"{LessonConstants.ERRORS_STARTHOUR_AFTER_ENDHOUR} {TimeService.GetHourFromDate(StartHour)} h and {TimeService.GetHourFromDate(EndHour)} h {Day}";
                        return(RedirectToAction(nameof(LessonController.Create), "Lesson"));
                    }

                    lessonBL.AddLesson(lesson);


                    // appel BL de creation
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(RedirectToAction(nameof(LessonController.Create)));
        }
Beispiel #6
0
        public ActionResult Edit(LessonEditVM lessonEdit, int courseID, int instructorID, int lessonID)
        {
            if (ModelState.IsValid)
            {
                Person user = ConnexionService.GetSession();
                if (user != null && user is Instructor)
                {
                    lessonEdit.StartHour = lessonBL.HarmonizeDatetime(lessonEdit.StartHour);
                    lessonEdit.EndHour   = lessonBL.HarmonizeDatetime(lessonEdit.EndHour);
                    Lesson lesson = lessonBL.GetLesson(lessonID);
                    lesson.StartHour = lessonEdit.StartHour;
                    lesson.EndHour   = lessonEdit.EndHour;
                    // todo check if instructor id == lesson.instructor id
                    // Can we refactor those tests?
                    if (DateTime.Compare(lesson.StartHour, lesson.EndHour) > 0)
                    {
                        TempData["CreateError"] = LessonConstants.ERRORS_STARTHOUR_AFTER_ENDHOUR;
                        return(RedirectToAction(nameof(LessonController.Edit), "Lesson", new { id = lessonID }));
                    }

                    if (lesson.StartHour.Hour < 8 || lesson.StartHour.Hour > 18)
                    {
                        TempData["CreateError"] = LessonConstants.ERROR_STARTHOUR;
                        return(RedirectToAction(nameof(LessonController.Edit), "Lesson", new { id = lessonID }));
                    }

                    if (lesson.EndHour.Hour < 9 || lesson.EndHour.Hour > 19)
                    {
                        TempData["CreateError"] = LessonConstants.ERROR_ENDHOUR;
                        return(RedirectToAction(nameof(LessonController.Edit), "Lesson", new { id = lessonID }));
                    }


                    if (!lessonBL.IsPlanningEditValid(lesson))
                    {
                        TempData["CreateError"] = $"{LessonConstants.ERRORS_STARTHOUR_AFTER_ENDHOUR}  {TimeService.GetHourFromDate(lessonEdit.StartHour)} h and {TimeService.GetHourFromDate(lessonEdit.EndHour)} h {lessonEdit.Day}";
                        return(RedirectToAction(nameof(LessonController.Edit), "Lesson", new { id = lessonID }));
                    }
                    lessonBL.EditLesson(lesson, lessonEdit);

                    return(RedirectToAction("Index"));
                }
                else
                {
                }
            }

            return(RedirectToAction(nameof(LessonController.Edit), "Lesson", new { id = lessonID }));
        }
Beispiel #7
0
        protected override bool AuthorizeCore(HttpContextBase filterContext)
        {
            if (ConnexionService.GetSession() == null)
            {
                return(false);
            }
            Person user = ConnexionService.GetSession();

            if (Role.ToString() == "Student" && !(user is Student))
            {
                return(false);
            }
            if (Role.ToString() == "Instructor" && !(user is Instructor))
            {
                return(false);
            }
            return(true);
        }
Beispiel #8
0
        // GET: Lessons/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Lesson lesson = lessonBL.GetLesson(id);


            if (lesson == null)
            {
                return(HttpNotFound());
            }

            Person user = ConnexionService.GetSession();


            if (user != null && user is Instructor)
            {
                // TDO Refactoring?
                LessonEditVM lessonToEdit = new LessonEditVM();
                lessonToEdit.LessonId   = lesson.LessonID;
                lessonToEdit.Instructor = lesson.Instructor;
                lessonToEdit.Course     = lesson.Course;
                lessonToEdit.Day        = lesson.Day;
                lessonToEdit.StartHour  = lesson.StartHour;
                lessonToEdit.EndHour    = lesson.EndHour;
                lessonToEdit.DateStart  = lesson.DateStart;

                // TODO userConnected ID
                ViewBag.InstructorID = user.ID;
                return(View(lessonToEdit));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Beispiel #9
0
        public ActionResult Index()
        {
            Person user = ConnexionService.GetSession();

            if (user == null)
            {
                ViewBag.CoursesNotLaunched = courseBL.GetNotLaunchedCourses();
                ViewBag.CoursesLaunched    = courseBL.GetLaunchedCourses();
                return(View());
            }
            else if (user is Instructor)
            {
                WeeklyScheduleVM weeklySchedule = new WeeklyScheduleVM();
                weeklySchedule.Agenda   = scheduleBL.GetWeeklyScheduleInstructor(user.ID);
                weeklySchedule.UserName = user.FullName;
                return(View("IndexInstructor", weeklySchedule));
            }
            else if (user is Student)
            {
                return(View("IndexStudent"));
            }
            return(View("IndexStudent"));
        }
Beispiel #10
0
 public UserController()
 {
     _connexionService = new ConnexionService();
 }
Beispiel #11
0
 public ActionResult Logout()
 {
     ConnexionService.EmptySession();
     return(RedirectToAction("Index", "Home"));
 }