Exemple #1
0
        public async Task <IHttpActionResult> PutUserEdit(int id, ServicesVzLaUserEdit _userEdit)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ModelState.AddModelError(string.Empty, "Error: UserEdit is not valid...!!!");
                    return(BadRequest("Error: UserEdit is not valid...!!!"));
                }

                if (id != _userEdit.UserId)
                {
                    ModelState.AddModelError(string.Empty, "Error: id is no equal to UserEditId, is not valid...!!!");
                    return(BadRequest("Error: id is no equal to UserEditId, is not valid...!!!"));
                }

                //  Find if exist the user by email
                var userEdit = await db.Users
                               .Where(us => us.Email == _userEdit.NewEmail &&
                                      us.UserId != id)
                               .FirstOrDefaultAsync();

                if (userEdit != null)
                {
                    ModelState.AddModelError(
                        string.Empty,
                        string.Format(
                            "This email: {0} is already registered, you must try another ... !!!",
                            _userEdit.NewEmail));
                    return(BadRequest(string.Format(
                                          "This email: {0} is already registered, you must try another ... !!!",
                                          _userEdit.NewEmail)));
                }

                userEdit = await db.Users.FindAsync(id);

                if (userEdit != null)
                {
                    userEdit.Email           = _userEdit.NewEmail;
                    db.Entry(userEdit).State = EntityState.Modified;
                    response = await DbHelper.SaveChangeDB(db);

                    if (response.IsSuccess)
                    {
                        if (await UsersHelper.UpdateUserName(_userEdit.Email, _userEdit.NewEmail))
                        {
                            return(Ok("Information: Successfully updated registration...!!!"));
                        }
                        else
                        {
                            ModelState.AddModelError(
                                string.Empty,
                                string.Format(
                                    "Error Updating the email: {0} to the email {1}...!!!",
                                    _userEdit.Email,
                                    _userEdit.NewEmail));
                            return(BadRequest(string.Format(
                                                  "Error Updating the email: {0} to the email {1}...!!!",
                                                  _userEdit.Email,
                                                  _userEdit.NewEmail)));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, response.Message);
                        return(BadRequest(response.Message));
                    }
                }
                else
                {
                    ModelState.AddModelError(
                        string.Empty,
                        string.Format(
                            "This email: {0} is not registered... !!!",
                            _userEdit.Email));
                    return(BadRequest(string.Format(
                                          "This email: {0} is not registered... !!!",
                                          _userEdit.Email)));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(BadRequest(ex.Message));
            }
        }
Exemple #2
0
        public async Task <IHttpActionResult> EditPassword(ServicesVzLaUserEdit _user)
        {
            //  var errorMessages = string.Empty;
            errorMessages = string.Empty;
            try
            {
                var email           = string.Empty;
                var currentPassword = string.Empty;
                var newPassword     = string.Empty;
                //  dynamic jsonObject = _user;

                if (!ModelState.IsValid)
                {
                    //  Gets error of the ModelState
                    errorMessages  = "Error: the UserEdit is not valid...!!!" + System.Char.ConvertFromUtf32(13);
                    errorMessages += MethodsHelper.GetErrorsModelState(ModelState);

                    ModelState.AddModelError(string.Empty, errorMessages);
                    return(BadRequest(errorMessages));
                }

                //  email = jsonObject.Email.Value;
                //  currentPassword = jsonObject.CurrentPassword.Value;
                //  newPassword = jsonObject.NewPassword.Value;
                email           = _user.Email;
                currentPassword = _user.Password;
                newPassword     = _user.NewPassword;


                var userContext = new ApplicationDbContext();
                var userManager =
                    new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
                var userASP = userManager.FindByEmail(email);

                if (userASP == null)
                {
                    //  return NotFound();
                    ModelState.AddModelError(string.Empty, "Error: UserASP (By Email) is null...!!!");
                    return(BadRequest("Error: UserASP (By Email) is null...!!!"));
                }

                var response =
                    await userManager.ChangePasswordAsync(
                        userASP.Id,
                        currentPassword,
                        newPassword);

                if (!response.Succeeded)
                {
                    errorMessages  = "Error: " + System.Char.ConvertFromUtf32(13);
                    errorMessages += response.Errors.FirstOrDefault();
                    ModelState.AddModelError(string.Empty, errorMessages);
                    return(BadRequest(response.Errors.FirstOrDefault()));
                }

                return(Ok(true));
            }
            catch (Exception ex)
            {
                errorMessages = string.Format("Error: {0}", ex.Message);
                //  return BadRequest("Incorrect call");
                return(BadRequest(errorMessages));
            }
        }