public IHttpActionResult PostChangePassword(StudentChangePasswordModel model)
        {
            _studentsServices.ChangePassword(model);
            var stringparameter = _encryption.Encrypt(model.AccountId);

            _email.Send(model.Email, "Hacer click en el siguiente link para activar su cuenta: " + HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/api/Students/" + HttpContext.Current.Server.UrlEncode(stringparameter) + "/Active", "VinculaciĆ³n");
            return(Ok());
        }
Example #2
0
        public void ChangePassword(StudentChangePasswordModel model)
        {
            var student = _studentRepository.GetByAccountNumber(model.AccountId);

            if (student == null)
            {
                throw new NotFoundException("No se encontro el estudiante");
            }
            student.Password = _encryption.Encrypt(model.Password);
            _studentRepository.Update(student);
            _studentRepository.Save();
        }
Example #3
0
        public async Task <ResponseModel> ChangeStudentPasswordAsync(Guid id, StudentChangePasswordModel studentChangePasswordModel)
        {
            var student = await GetAll().FirstOrDefaultAsync(x => x.Id == id);

            if (student == null)
            {
                return(new ResponseModel()
                {
                    StatusCode = System.Net.HttpStatusCode.NotFound,
                    Message = "Student is not exist. Please try again!"
                });
            }
            else
            {
                var result = PasswordUtilities.ValidatePass(student.Password, studentChangePasswordModel.CurrentPassword, student.PasswordSalt);
                if (result)
                {
                    if (studentChangePasswordModel.RepeatPassword.Equals(studentChangePasswordModel.NewPassword))
                    {
                        studentChangePasswordModel.NewPassword.GeneratePassword(out string saltKey, out string hashPass);
                        student.Password     = hashPass;
                        student.PasswordSalt = saltKey;

                        await _studentRepository.UpdateAsync(student);

                        student = await GetAll().FirstOrDefaultAsync(x => x.Id == id);

                        return(new ResponseModel
                        {
                            StatusCode = System.Net.HttpStatusCode.OK,
                            Data = new StudentViewModel(student)
                        });
                    }
                    else
                    {
                        return(new ResponseModel()
                        {
                            StatusCode = System.Net.HttpStatusCode.NotFound,
                            Message = "RepeatPassword and NewPassword are not the same!"
                        });
                    }
                }
                else
                {
                    return(new ResponseModel()
                    {
                        StatusCode = System.Net.HttpStatusCode.NotFound,
                        Message = "Current password is not correct!"
                    });
                }
            }
        }
        public async Task <IActionResult> ChangePassword(int groupId, int id, [FromBody] StudentChangePasswordModel model)
        {
            if (model.NewPassword != model.ConfirmPassword)
            {
                return(BadRequest());
            }

            var student = await _studentService.Get(id);

            if (student == null || student.GroupId != groupId)
            {
                return(NotFound());
            }

            var data = await _studentService.Update(student);

            return(base.Ok(data));
        }
        public async Task <IActionResult> ChangePassword(Guid id, [FromBody] StudentChangePasswordModel studentChangePasswordModel)
        {
            var responseModel = await _studentService.ChangeStudentPasswordAsync(id, studentChangePasswordModel);

            return(new CustomActionResult(responseModel));
        }