예제 #1
0
        public async Task <UserTeacher> post(UsersRequest request)
        {
            scriptPass script = new scriptPass();

            UserTeacher model = new UserTeacher();

            model.Email    = request.Email;
            model.Password = script.script(request.Password);
            model.Role     = await _roleRepository.GetByIdAsync(request.RoleId);

            return(await _repository.PostAsync(model));
        }
예제 #2
0
        public async Task <bool> login(LoginRequest request)
        {
            UserTeacher model = await _repository.GetByEmail(request.Email);

            if (model == null)
            {
                return(false);
            }

            scriptPass script = new scriptPass();

            request.Password = script.script(request.Password);

            if (model.Password != request.Password)
            {
                return(false);
            }

            return(true);
        }
예제 #3
0
        public async Task <IActionResult> Register(TeacherRegistrationViewModel model)
        {
            var optionsBuilder = new DbContextOptionsBuilder <AppDbContext>();
            var unitOfWork     = new UnitOfWork(new AppDbContext(optionsBuilder.Options));

            if (ModelState.IsValid)
            {
                var teacher = new UserTeacher();
                teacher.SerialNumber = model.SerialNumber;

                var department = unitOfWork.Departments.Find(d => d.DepartmentName == model.Department).FirstOrDefault();

                teacher.DepartmentCode = department.DepartmentCode;
                teacher.Office         = model.Office;

                var user = new ApplicationUser
                {
                    FirstName    = model.FirstName,
                    LastName     = model.FirstName,
                    Email        = model.Email,
                    PhoneNumber  = model.PhoneNumber,
                    UserName     = model.Email,
                    Department   = model.Department,
                    SerialNumber = model.SerialNumber
                };

                var result = await userManager.CreateAsync(user, "Fantabamba25?!1_");

                if (result.Succeeded)
                {
                    if ((await roleManager.RoleExistsAsync("Teacher")) == false)
                    {
                        var role = new IdentityRole();
                        role.Name = "Teacher";
                        var result1 = await roleManager.CreateAsync(role);

                        if (!result1.Succeeded)
                        {
                            ViewBag.Error = $"Une erreur est survenue durant la creation du role enseignant!";
                            return(View(model));
                        }
                    }
                    result = await userManager.AddToRoleAsync(user, "Teacher");

                    if (result.Succeeded)
                    {
                        unitOfWork.Teachers.Add(teacher);
                        unitOfWork.Complete();
                        TempData["Message"] = $"Inscription de l'enseignant {model.FirstName} {model.LastName} completée avec succes!";
                        return(RedirectToAction("Register"));
                    }
                    ViewBag.Error = $"Une erreur est survenue durant l'inscription de l'enseignant {model.FirstName} {model.LastName}!";
                    return(View(model));
                }
                ViewBag.Error = $"Une erreur est survenue durant l'inscription de l'enseignant {model.FirstName} {model.LastName}!";
                return(View(model));
            }
            var departments    = unitOfWork.Departments.GetAll().ToList();
            var departmentList = new List <string>();

            foreach (var item in departments)
            {
                departmentList.Add(item.DepartmentName);
            }
            model.Departments = new SelectList(departmentList);
            return(View(model));
        }