Пример #1
0
        protected void btncontinuar_OnClick(object sender, EventArgs e)
        {
            try
            {
                if (bool.Parse(hfEsLink.Value))
                {
                    string[] values = QueryString.Decrypt(Request.Params["confirmacionCodigo"]).Split('_');
                    if (btncontinuar.CommandArgument == string.Empty)
                    {
                        if (rbtnCorreo.Checked)
                        {
                            btncontinuar.CommandArgument = "0";
                            _servicioUsuario.ValidaCodigoVerificacionCorreo(int.Parse(values[0]), (int)BusinessVariables.EnumTipoLink.Reset, values[1], int.Parse(QueryString.Decrypt(Request.Params["correo"])), txtCodigo.Text.Trim());
                            hfParametrosConfirmados.Value = true.ToString();
                        }
                        divQuestion.Visible           = false;
                        divCodigoVerificacion.Visible = false;
                        divPreguntas.Visible          = false;
                        divChangePwd.Visible          = true;
                    }
                    else
                    {
                        _servicioSeguridad.RecuperarCuenta(int.Parse(values[0]), (int)BusinessVariables.EnumTipoLink.Reset, values[1], int.Parse(QueryString.Decrypt(Request.Params["correo"])), txtCodigo.Text.Trim(), txtContrasena.Text, "0");
                        Response.Redirect("~/Default.aspx");
                    }
                }
                else
                {
                    hfEsLink.Value = false.ToString();
                    if (!bool.Parse(hfParametrosConfirmados.Value))
                    {
                        string tiporecuperacion = rbtnCorreo.Checked ? "0" : rbtnSms.Checked ? "1" : rbtnPreguntas.Checked ? "2" : "fail";
                        if (rbtnCorreo.Checked)
                        {
                            _servicioUsuario.ValidaCodigoVerificacionCorreo(int.Parse(QueryString.Decrypt(Request.Params["ldata"])), (int)BusinessVariables.EnumTipoLink.Reset, hfValueNotivicacion.Value, int.Parse(rbtnList.SelectedValue), txtCodigo.Text.Trim());
                            btncontinuar.CommandArgument  = "0";
                            hfParametrosConfirmados.Value = true.ToString();
                            divQuestion.Visible           = false;
                            divCodigoVerificacion.Visible = false;
                            divPreguntas.Visible          = false;
                            divChangePwd.Visible          = true;
                        }
                        else if (rbtnSms.Checked)
                        {
                            _servicioUsuario.ValidaCodigoVerificacionSms(int.Parse(QueryString.Decrypt(Request.Params["ldata"])), (int)BusinessVariables.EnumTipoLink.Reset, int.Parse(rbtnList.SelectedValue), txtCodigo.Text.Trim());
                            btncontinuar.CommandArgument  = "1";
                            hfValueNotivicacion.Value     = string.Empty;
                            hfParametrosConfirmados.Value = true.ToString();
                            divQuestion.Visible           = false;
                            divCodigoVerificacion.Visible = false;
                            divPreguntas.Visible          = false;
                            divChangePwd.Visible          = true;
                        }
                        else if (rbtnPreguntas.Checked)
                        {
                            Dictionary <int, string> preguntaRespuesta = new Dictionary <int, string>();
                            foreach (RepeaterItem item in rptPreguntas.Items)
                            {
                                preguntaRespuesta.Add(int.Parse(((Label)item.FindControl("lblId")).Text), ((TextBox)item.FindControl("txtRespuesta")).Text);
                            }
                            _servicioUsuario.ValidaRespuestasReto(int.Parse(QueryString.Decrypt(Request.Params["ldata"])), preguntaRespuesta);
                            btncontinuar.CommandArgument  = "2";
                            hfValueNotivicacion.Value     = string.Empty;
                            hfParametrosConfirmados.Value = true.ToString();
                            divQuestion.Visible           = false;
                            divCodigoVerificacion.Visible = false;
                            divPreguntas.Visible          = false;
                            divChangePwd.Visible          = true;
                        }
                    }
                    else
                    {
                        if (divChangePwd.Visible)
                        {
                            switch (btncontinuar.CommandArgument)
                            {
                            case "0":
                                _servicioSeguridad.RecuperarCuenta(int.Parse(QueryString.Decrypt(Request.Params["ldata"])), (int)BusinessVariables.EnumTipoLink.Reset, hfValueNotivicacion.Value, int.Parse(rbtnList.SelectedValue), txtCodigo.Text, txtContrasena.Text, "0");
                                break;

                            case "1":
                                _servicioSeguridad.RecuperarCuenta(int.Parse(QueryString.Decrypt(Request.Params["ldata"])), (int)BusinessVariables.EnumTipoLink.Reset, hfValueNotivicacion.Value, int.Parse(rbtnList.SelectedValue), txtCodigo.Text, txtContrasena.Text, "1");
                                break;

                            case "2":
                                _servicioSeguridad.RecuperarCuenta(int.Parse(QueryString.Decrypt(Request.Params["ldata"])), (int)BusinessVariables.EnumTipoLink.Reset, hfValueNotivicacion.Value, -1, txtCodigo.Text, txtContrasena.Text, "2");
                                break;
                            }
                            Response.Redirect("~/Default.aspx");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (Request.Params["confirmacionCodigo"] != null && Request.Params["correo"] != null &&
                    Request.Params["code"] != null)
                {
                    Response.Redirect("~/Default.aspx");
                }
                if (_lstError == null)
                {
                    _lstError = new List <string>();
                }
                _lstError.Add(ex.Message);
                AlertaGeneral = _lstError;
            }
        }