public JsonResult UpdatePasswordRecoveryPost(RecuperarUsuarioViewModel recuperarUsuario) { var passwordRecovery = DependencyFactory.Resolve<IUsuarioBusiness>(); try { if(recuperarUsuario.Password != recuperarUsuario.VerificacionPassword) { Response.StatusCode = 422; return new JsonResult { Data = "Las contraseñas no coinciden", JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } var userView = passwordRecovery.RecuperarUsuario(recuperarUsuario); Response.StatusCode = 200; return new JsonResult { Data = userView, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } catch (ExceptionBusiness ex) { Response.StatusCode = 422; //Unprocessable entity return new JsonResult { Data = ex.Message, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } catch (Exception) { Response.StatusCode = 500; return new JsonResult { Data = "", JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } }
public UsuarioViewModel UpdatePasswordRecoveryPost(RecuperarUsuarioViewModel recuperarUsuario) { var passwordRecovery = DependencyFactory.Resolve <IUsuarioBusiness>(); try { if (recuperarUsuario.Password != recuperarUsuario.VerificacionPassword) { throw new Exception("Las contraseñas no coinciden"); } return(passwordRecovery.RecuperarUsuario(recuperarUsuario)); } catch (Exception) { throw; } }
public void RecuperoPassword() { //registracion var solicitud = new SolicitudRecuperoUsuarioViewModel { Mail = "*****@*****.**" }; var respuestaSolicitud = registracion.SolicitudRecuperoUsuario(solicitud); string newPassword = Base64Encode("123456"); var recuperar = new RecuperarUsuarioViewModel { Codigo = respuestaSolicitud.Codigo, Mail = solicitud.Mail, Password = newPassword, VerificacionPassword = newPassword }; var usuarioViewModel = registracion.RecuperarUsuario(recuperar); Console.WriteLine(usuarioViewModel.SerializarToJson()); }
public virtual UsuarioViewModel RecuperarUsuario(RecuperarUsuarioViewModel recuperarUsuario) { List <KeyValuePair <string, object> > buscar = new List <KeyValuePair <string, object> >(); buscar.Add(new KeyValuePair <string, object>("Mail", recuperarUsuario.Mail)); buscar.Add(new KeyValuePair <string, object>("Fecha", DateTime.Now.Date)); buscar.Add(new KeyValuePair <string, object>("Codigo", recuperarUsuario.Codigo)); var il = DependencyFactory.Resolve <IBaseDA <RecuperoUsuario> >().SearchBy(buscar); if (il.Count.Equals(1)) { if (!recuperarUsuario.Password.Equals(recuperarUsuario.VerificacionPassword)) { throw new ExceptionBusiness(103, "Las password no son iguales."); } var recupero = il[0]; var usuario = DependencyFactory.Resolve <IUsuarioDA>().ObtenerUsuarioPorMail(recupero.Mail); var pass = Encrypt.DecryptFromString64(usuario.Password); var plainTextBytes = Encoding.UTF8.GetBytes(pass); string oldPassword = Convert.ToBase64String(plainTextBytes); var actualizar = new UsuarioCambioPasswordViewModel { Id = usuario.Id, Mail = recupero.Mail, NewPassword = recuperarUsuario.Password, OldPassword = oldPassword }; return(DependencyFactory.Resolve <ILoginBusiness>().ActualizarPassword(actualizar)); } else { throw new ExceptionBusiness(100, "El N° de recuperación es invalido."); } }