public ResponseViewModel ChangePassword(ChangePasswordAccountViewModel model) { ResponseViewModel reponse = new ResponseViewModel(); try { var userNameExist = eventPlusContext.Login.Where(w => w.UserName == model.Username).FirstOrDefault(); if (userNameExist == null) { reponse.Type = "error"; reponse.Response = "El usuario ingresado no existe."; } else { var oldPassword = eventPlusContext.Login.Where(w => w.Password == model.OldPassword).FirstOrDefault(); if (oldPassword == null) { reponse.Type = "error"; reponse.Response = "La clave actual no coincide"; } else { if (!model.NewPassword.Equals(model.RepeatNewPassword)) { reponse.Type = "error"; reponse.Response = "La clave nueva y la confirmación de la clave nueva ingresadas, no coinciden."; } else { var changePassword = eventPlusContext.Login.Where(w => w.Password == model.OldPassword && w.UserName == model.Username).FirstOrDefault(); changePassword.Password = model.NewPassword; eventPlusContext.Login.Add(changePassword); eventPlusContext.Entry(changePassword).State = Microsoft.EntityFrameworkCore.EntityState.Modified; eventPlusContext.SaveChanges(); reponse.Type = "success"; reponse.Response = "Cambio de clave exitoso."; } } } return(reponse); } catch (Exception ex) { reponse.Type = "error"; reponse.Response = "Error en el procedimiento. ---> " + ex.Message; return(reponse); } }
public IActionResult ChangePassword([FromBody] ChangePasswordAccountViewModel model) { var user = _autenticacion.ChangePassword(model); return(Ok(user)); }