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;
            }
        }
Example #3
0
        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());
        }
Example #4
0
        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.");
            }
        }