Ejemplo n.º 1
0
        public ActionResult NotificacionRestablecerPassword(string email)
        {
            Respuesta R           = new Respuesta();
            string    emailCode64 = Funcion.ConvertirBase64(email);
            bool      resultado   = Funcion.EmailEsValido(email);

            if (!resultado)
            {
                //Email no valido
                R = Funcion.RespuestaProceso("Email_No_Valido", emailCode64, null, email + EngineData.EmailNoValido());
                return(Json(R));
            }
            Guid identidad = Metodo.ObtenerIdentidadCliente(email);

            if (identidad == Guid.Empty)
            {
                // Email no registrado
                R = Funcion.RespuestaProceso("Email_No_Registrado", emailCode64, null, email + EngineData.EmailNoRegistrado());
                return(Json(R));
            }

            string         codigo = Funcion.ConstruirCodigo();
            string         enlaze = Funcion.CrearEnlazeRestablecerPassword(Metodo, email, codigo);
            EstructuraMail model  = new EstructuraMail();

            model = Funcion.SetEstructuraMailResetPassword(enlaze, email, codigo, model);
            ResetPassword resetPassword = new ResetPassword();

            resetPassword = Funcion.SetResetPassword(email, codigo);
            resultado     = Metodo.InsertarResetPassword(resetPassword);
            if (!resultado)
            {
                // Error insertando codigo
                R = Funcion.RespuestaProceso("Error_Insertando_Codigo", emailCode64, null, email + EngineData.ErrorInternoServidor());
                return(Json(R));
            }
            resultado = Notificacion.EnviarMailNotificacion(model);
            if (resultado)
            {
                R = Funcion.RespuestaProceso("Exito", email, null, email + EngineData.EnvioCodigoRestablecerPassword()); //Envio de codigo restablecer password
            }
            else
            {
                R = Funcion.RespuestaProceso("Error", email, null, email + EngineData.ErrorEnviandoMail()); //Error enviando notificacion
            }
            return(Json(R));
        }
Ejemplo n.º 2
0
        public ActionResult Register(ActivarCliente model = null)
        {
            Respuesta R = new Respuesta();

            if (model == null)
            {
                return(View(R));
            }
            if (model.Email == null || model.Password == null || model.Password2 == null || model.Nombre == null || model.Apellido == null)
            {
                return(View(R));
            }

            bool   resultado   = Funcion.EmailEsValido(model.Email);
            string emailCode64 = Funcion.ConvertirBase64(model.Email);

            if (!resultado)
            {
                //Email no valido
                R = Funcion.RespuestaProceso("Register", emailCode64, null, model.Email + EngineData.EmailNoValido());
                return(RedirectToAction("State", "Home", R));
            }
            resultado = Funcion.CompareString(model.Password, model.Password2);
            if (!resultado)
            {
                //Las contraseñas deben ser iguales
                R = Funcion.RespuestaProceso("Register", emailCode64, null, model.Email + EngineData.PasswordNoIdenticos());
                return(RedirectToAction("State", "Home", R));
            }
            model.Estatus       = false;
            model.FechaRegistro = DateTime.UtcNow;
            model.Password      = Funcion.ConvertirBase64(model.Email + model.Password);
            int result = Metodo.ClienteRegistro(model);

            if (result <= 0)
            {
                //Error al registrar cliente
                Funcion.ConstruirSucesoLog("Error registrando cliente*Home/Register*" + model.Email, Metodo);
                R = Funcion.RespuestaProceso("Register", emailCode64, null, model.Email + EngineData.ErrorRegistroCliente());
                return(RedirectToAction("State", "Home", R));
            }

            //*****************PAGO HARCODE**************************
            PagoCliente pago = Funcion.ConstruirPagoCliente(result);

            Metodo.SetPagoCliente(pago);
            //***************************************************

            string         enlaze     = Funcion.CrearEnlazeRegistro(Metodo, model.Email, model.Password2);
            EstructuraMail estructura = new EstructuraMail();

            estructura = Funcion.SetEstructuraMailRegister(enlaze, model.Email, estructura);
            resultado  = Notificacion.EnviarMailNotificacion(estructura);
            if (resultado)
            {
                //Registro exitoso
                R = Funcion.RespuestaProceso("Index", emailCode64, null, model.Email + EngineData.RegistroExitoso());
                return(RedirectToAction("State", "Home", R));
            }
            else
            {
                //Error enviando notficacion - error interno
                Funcion.ConstruirSucesoLog("Error enviando email*Home/Register*" + model.Email, Metodo);
                R = Funcion.RespuestaProceso("Open", emailCode64, null, model.Email + EngineData.ErrorEnviandoMail());
                return(RedirectToAction("State", "Home", R));
            }
        }