public async Task <IActionResult> PostRegisterTeacher(TeacherRegisterDto teacher, ICollection <Guid> courses) { teacher.CourseIds = courses; if (!ModelState.IsValid) { return(RedirectToAction( "GetRegisterTeacher", routeValues: new { error = "Model State is not valid. " } )); } var result = await _repo.RegisterTeacher(teacher); if (result.IsSuccess) { return(RedirectToAction( "GetRegisterTeacher", routeValues: new { info = result.Message } )); } return(RedirectToAction( "GetRegisterTeacher", routeValues: new { error = result.Message } )); }
public async Task Add(TeacherRegisterDto teacherRegisterDto) { Teacher teacher = _mapper.Map <Teacher>(teacherRegisterDto); teacher.SecurityStamp = Guid.NewGuid().ToString(); await _userManager.CreateAsync(teacher, teacherRegisterDto.Password); await _userManager.AddToRoleAsync(teacher, "Teacher"); }
public IActionResult Post(TeacherRegisterDto model) { var teacher = _mapper.Map <Teacher>(model); _repo.Add(teacher); if (_repo.SaveChanges()) { return(Created($"/api/teacher/{model.Id}", _mapper.Map <TeacherDto>(teacher))); } return(BadRequest("Something is wrong")); }
public IActionResult Post(TeacherRegisterDto teacherModel) { var teacher = _mapper.Map <Teacher>(teacherModel); _repository.Create(teacher); if (_repository.SaveChanges()) { return(Created($"/api/teacher/{teacherModel.TeacherID}", _mapper.Map <TeacherDto>(teacher))); } return(BadRequest("Professor não cadastrado.")); }
public IActionResult Register([FromBody] TeacherRegisterDto data) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (_userRepository.EmailExists(data.Email)) { ModelState.AddModelError("", "Email exists"); return(BadRequest("Данный email уже зарегистрирован")); } User user = _userService.RegisterUser(data, UserType.Teacher); return(Ok(_mapper.Map <User, ProfileDto>(user))); }
public async Task <IActionResult> Register(TeacherRegisterDto teacherRegisterDto) { Teacher teacher = _mapper.Map <Teacher>(teacherRegisterDto); teacher.SecurityStamp = Guid.NewGuid().ToString(); teacher.UserName = teacherRegisterDto.Email; var addUserResult = await _userManager.CreateAsync(teacher, teacherRegisterDto.Password); var addRoleResult = await _userManager.AddToRoleAsync(teacher, "Teacher"); if (addUserResult.Succeeded && addRoleResult.Succeeded) { return(StatusCode(201)); } return(BadRequest()); }
public IActionResult Put(int id, TeacherRegisterDto model) { var teacher = _repo.GetTeacherById(id, false); if (teacher == null) { BadRequest("Nothing found"); } _mapper.Map(model, teacher); _repo.Update(teacher); if (_repo.SaveChanges()) { return(Created($"/api/teacher/{model.Id}", _mapper.Map <TeacherDto>(teacher))); } return(BadRequest("Something is wrong")); }
public IActionResult Put(int id, TeacherRegisterDto teacherModel) { var teacher = _repository.GetTeacherById(id); if (teacher == null) { return(BadRequest("Professor não encontrado.")); } _mapper.Map(teacherModel, teacher); _repository.Update(teacher); if (_repository.SaveChanges()) { return(Created($"/api/teacher/{teacherModel.TeacherID}", _mapper.Map <TeacherDto>(teacher))); } return(BadRequest("Aluno não atualizado.")); }
public async Task <RepoResponse <TeacherReturnDto> > RegisterTeacher(TeacherRegisterDto registerCreds) { var oldTeacher = await _context.Teachers .AsNoTracking() .FirstOrDefaultAsync(t => t.Email.ToLower() == registerCreds.Email.ToLower() || t.CardNumber.ToLower() == registerCreds.CardNumber.ToLower()); if (oldTeacher != null) { return(new RepoResponse <TeacherReturnDto>() { IsSuccess = false, Message = _config["ErrorCodes:record_exists"] }); } var newTeacherId = Guid.NewGuid(); var newTeacher = new Teacher() { Id = newTeacherId, Name = registerCreds.Name, CardNumber = registerCreds.CardNumber, CVPath = registerCreds.CVPath, Details = registerCreds.Details, Email = registerCreds.Email, Gender = registerCreds.Gender, Password = Helper.ComputeHash(registerCreds.Password), Role = Role.Teacher, RegisterStatus = RegistrationStatus.Pending }; var teacherCourses = new List <TeacherCourse>(); foreach (var courseGuid in registerCreds.CourseIds) { teacherCourses.Add( new TeacherCourse() { CourseId = courseGuid, TeacherId = newTeacherId } ); } await _context.Teachers.AddAsync(newTeacher); await _context.TeacherCourses.AddRangeAsync(teacherCourses); var dbResult = await _context.SaveChangesAsync(); if (dbResult > 0) { var addedTeacher = await _context.Teachers .AsNoTracking() .Select(t => new TeacherReturnDto() { Id = t.Id, CardNumber = t.CardNumber, CVPath = t.CVPath, Details = t.Details, Email = t.Email, Gender = t.Gender, Name = t.Name, RegisterStatus = t.RegisterStatus }) .FirstOrDefaultAsync(t => t.Id == newTeacher.Id); if (addedTeacher != null) { return(new RepoResponse <TeacherReturnDto>() { Content = addedTeacher, IsSuccess = true, Message = _config["SuccessCodes:created"] }); } } return(new RepoResponse <TeacherReturnDto>() { IsSuccess = false, Message = _config["ErrorCodes:db_error"] }); }
public ActionResult RegisterNewTeacher(TeacherRegisterDto model) { var nationalCode = model.NationalCode; var person = _db.Set <Person>().Include(p => p.User.Student).FirstOrDefault(p => p.NationalCode == nationalCode); if (person == null) { var newsteacher = new Teacher { User = new User { Person = new Person { FirstName = model.FirstName, LastName = model.LastName, NationalCode = model.NationalCode, MobileNo = model.CellPhoneNumber, BirthDate = model.BirthDateJalali.ToGeorgianDateTime(), BirthDateJalali = model.BirthDateJalali, SexId = model.SexId, FatherFirstName = model.FatherFirstName, }, UserName = model.NationalCode, Password = model.Password, Status = true }, MaritalStatusId = model.MaritalStatusId, ReligionId = model.ReligionId, EducationDegreeId = model.EducationDegreeId, RecruitmentTypeId = model.RecruitmentTypeId, MilitaryStatusId = model.MilitaryStatusId, EducationDegreeFieldName = model.EducationDegreeFieldName, EducationDegreeGrade = model.EducationDegreeGrade, EducationDegreeGetDateJalali = model.EducationDegreeGetDateJalali, EducationDegreeGetDate = model.EducationDegreeGetDateJalali.ToGeorgianDateTime(), FatherName = model.FatherFirstName, FreeAndOldSelectionDateJalali = model.FreeAndOldSelectionDateJalali, FreeAndOldSelectionNumber = model.FreeAndOldSelectionNumber, HaveWorkExperience = model.HaveWorkExperienceId > 0, TeachExperienceInYear = model.TeachExperienceInYear, WorkExperienceInYear = model.WorkExperienceInYear, MidCareerTraining = model.MidCareerTraining > 0, InsuranceNumber = model.InsuranceNumber, EducationDegreeUniversityName = model.EducationDegreeUniversityName, ChildCount = model.ChildCount, }; _db.Entry(newsteacher).State = EntityState.Added; _db.SaveChanges(); } //else //{ // if (person.User.Student == null) // { // person.User.Student = new Student // { // ParentFirstName = model.ParentFirstName, // ParentLastName = model.ParentLastName, // CityOfBirthId = model.CityOfBirthId.Value, // CellPhoneNumber = model.CellPhoneNumber, // PhoneNumber = model.PhoneNumber, // CityOfHomeId = model.CityOfLocationId.Value // }; // _db.Entry(person).State = EntityState.Modified; // _db.SaveChanges(); // } // else // { // ModelState.AddModelError("", "دانش آموزی با این کد ملی از قبل وجود دارد. در صورتی که کد ملی را صحیح وارد نموده اید به بخش بازیابی رمز عبور مراجعه نمایید"); // return View(new StudentRegisterDto // { // Provinces = _db.Set<Province>().ToList().Select(p => new SelectListItem // { // Value = p.Id.ToString(), // Text = p.Name // }), // Sexes = _db.Set<Sex>().ToList().Select(s => new SelectListItem // { // Text = s.Name, // Value = s.Id.ToString() // }), // }); // } //} return(RedirectToAction("/Account/TeacherSignIn")); }