public async Task <IActionResult> Register(StudentForRegisterDto studentForRegisterDto) { if (studentForRegisterDto == null) { return(BadRequest()); } if (await _repo.IsUserExists(studentForRegisterDto.MobileNo)) { return(BadRequest("User already Exist")); } if (!await _repo.IsExistClass(studentForRegisterDto.ClassId)) { return(BadRequest("Class Doesn't Exist")); } var userToCreate = _mapper.Map <Students>(studentForRegisterDto); var stClass = await _repo.GetClassById(studentForRegisterDto.ClassId); userToCreate.ClassName = stClass.Name; userToCreate.RoleId = 1; //Role 1 means student var createdUser = await _repo.Register(userToCreate, studentForRegisterDto.Password); /* var userToReturn = _mapper.Map<UserForDetailedDto>(userToCreate); * * return CreatedAtRoute("GetUser", new{Controller = "Users", id =userToCreate.Id}, userToReturn); */ return(Ok()); }
public async Task <IActionResult> RegisterStudent(StudentForRegisterDto studentForRegisterDto) { studentForRegisterDto.Username = studentForRegisterDto.Username; if (await _repository.UserExists(studentForRegisterDto.Username)) { return(BadRequest("Użytkownik o takiej nazwie już istnieje !")); } var schoolClass = _context.Classes.FirstOrDefault(x => x.Name == studentForRegisterDto.SchoolClass); if (schoolClass == null) { return(BadRequest("Nie ma takiej klasy")); } var studentToCreate = new Student { Username = studentForRegisterDto.Username, FirstName = studentForRegisterDto.FirstName, LastName = studentForRegisterDto.LastName, BirthDate = studentForRegisterDto.BirthDate, Address = studentForRegisterDto.Address, Phone = studentForRegisterDto.Phone, SchoolClassID = schoolClass.ClassID, UserRole = "Student" }; var createdUser = await _repository.Register(studentToCreate, studentForRegisterDto.Password); return(StatusCode(201)); }
public async Task <IActionResult> StartExam(string Id, StudentForRegisterDto studentForRegisterDto) { var studentToTest = await _context.StudentToTests .Include(t => t.Test) .FirstOrDefaultAsync(s => s.Email == studentForRegisterDto.Email && s.Id == Id); //Дали съществува тест за решаване if (studentToTest.Test == null) { return(NotFound()); } //Проверка дали има достъп до теста if (studentToTest == null) { return(BadRequest("You do not have permissions to make this test")); } //Дали вече го е решавал var checkStudent = await(from stud in _context.Students join exam in _context.Exams on stud.Id equals exam.StudentId join question in _context.TestQuestions on exam.TestQuestionId equals question.Id join tet in _context.Tests on question.TestId equals tet.Id join stt in _context.StudentToTests on tet.Id equals stt.TestId where stt.Id == Id select true).FirstOrDefaultAsync(); if (checkStudent) { return(BadRequest("You have already done this test")); } //Вземане на данните за студентът от ipify.org var studentIp = _repo.GetUserIP(); //Client PC IP string hostName = Dns.GetHostName(); // Retrive the Name of HOST //Get the IP string LocalIP = Dns.GetHostByName(hostName).AddressList[1].ToString(); //Мапване на имената и данните от ipify.org var studentForAdd = _mapper.Map <Student>(studentIp); studentForAdd.LocalIP = LocalIP; studentForAdd.StudentToTest = studentToTest; //Запис await _context.Students.AddAsync(studentForAdd); if (await _context.SaveChangesAsync() > 0) { Response.AddExam(studentForAdd.Id, studentToTest.TestId, Id); return(Ok(studentToTest.Test.Time)); } return(NotFound()); }
public async Task <IActionResult> AddStudent(StudentForRegisterDto studentForRegister) { var student = _mapper.Map <Student>(studentForRegister); _repo.Add(student); if (await _repo.SaveAll()) { return(Ok(student)); } throw new Exception("Coś się nie udało podczas dodawania nowego studenta."); }
public async Task <IActionResult> Register(StudentForRegisterDto studentForRegisterDto) { studentForRegisterDto.matNo = studentForRegisterDto.matNo.ToLower(); if (await _repo.StudentExist(studentForRegisterDto.matNo)) { return(BadRequest("This Matriculation number already exist, it can't be re-assigned")); } var studentToCreate = _mapper.Map <Student>(studentForRegisterDto); var createStudent = await _repo.Register(studentToCreate, studentForRegisterDto.password); var studentToReturn = _mapper.Map <StudentForDetailedDto>(createStudent); return(CreatedAtRoute("GetStudent", new { controller = "Students", id = createStudent.Id }, studentToReturn)); }
public async Task <IActionResult> Register(StudentForRegisterDto studentForRegisterDto) { studentForRegisterDto.Username = studentForRegisterDto.Username.ToLower(); if (await _repo.UserExists(studentForRegisterDto.Username)) { return(BadRequest("Username already exists")); } var studentToCreate = new Student { Username = studentForRegisterDto.Username }; var createdTeacher = await _repo.Register(studentToCreate, studentForRegisterDto.Password); return(StatusCode(201)); }
public async Task <IActionResult> Register(StudentForRegisterDto studentForRegisterDto, string password) { studentForRegisterDto.StudentId = studentForRegisterDto.StudentId.ToLower(); if (await _repo.UserExists(studentForRegisterDto.StudentId)) { return(BadRequest("Student Already Exist")); } var studentToCreate = new Student { StudentId = studentForRegisterDto.StudentId }; var createdStudent = await _repo.Register(studentToCreate, studentForRegisterDto.Password); return(StatusCode(201)); }
public async Task <IActionResult> StudentRegister(StudentForRegisterDto userForRegisterDto) { // validate request userForRegisterDto.Username = userForRegisterDto.Username.ToLower(); if (await _studentRepo.UserExists(userForRegisterDto.Username)) { return(BadRequest("Username already exists")); } Random random = new Random(); var randomPhotoNumber = random.Next(1, 100); var userToCreate = new Student { Username = userForRegisterDto.Username, Name = userForRegisterDto.Name, Surname = userForRegisterDto.Surname, PhotoURL = "https://randomuser.me/api/portraits/men/" + randomPhotoNumber + ".jpg", Created = DateTime.Now, EnrollmentDate = DateTime.Now }; var createdUser = await _studentRepo.Register(userToCreate, userForRegisterDto.Password); // role var r = _context.Roles.FirstOrDefault(x => x.Name == "Student"); if (r != null) { var sr = new StudentRole { Student = createdUser, Role = r }; _context.StudentRoles.AddAsync(sr).Wait(); _context.SaveChangesAsync().Wait(); } // return(StatusCode(201)); }