using framework_business;
using framework_library;
using System;
using System.Reflection;
using System.Web.UI;
public partial class Reset : System.Web.UI.Page
{
///
/// Page Load event
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
bool validatedReset = false;
try
{
if(!Page.IsPostBack)
{
if (Request.QueryString["q"] != null && Request.QueryString["q"] != String.Empty)
{
encryption encReset = new encryption("r3s3t");
//decrypt query string
string resetCode = String.Empty;
try
{
/* Charlene van Heerden - 15 January 2016
* q is UrlEncoded, but Request.QueryString[] automatically decodes, don't decode again, otherwise it messes up some of the char (+)
*/
resetCode = encReset.decryptData(Request.QueryString["q"]);
}
catch { }
oSetup _setup = handler.ReturnSetup();
foreach (oUser usrReset in xData.GetTypedByCriteriaSpecific("recId", typeof(oUser), "isActive,resetCode,customerCode", "1," + resetCode + "," + _setup.code, "", "pal_",true))
{
if (usrReset.isReset && usrReset.dateUpdated.AddHours(12) > DateTime.Now)
{
Session["userRST"] = usrReset;
validatedReset = true;
break;
}
else
{
validatedReset = false;
}
}
if (validatedReset)
{
pnlResetPassword.Visible = true;
pnlResetExpired.Visible = false;
}
else
{
pnlResetPassword.Visible = false;
pnlResetExpired.Visible = true;
}
}
else
{
Response.Redirect("/home", false);
}
}
}
catch (Exception ex)
{
exception.HandleException("Reset:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]);
Response.Redirect("/error", false);
}
}
///
/// Click event to reset to password and login
///
///
///
protected void btnReset_Click(object sender, EventArgs e)
{
try
{
if (utils.verifySession("userRST"))
{
oUser user = (oUser)Session["userRST"];
encryption encrypt = new encryption("p@l3tt3");
user.password = encrypt.encryptValue(txtResetPassword.Value);
user.isReset = false;
user.resetCode = String.Empty;
user.dateUpdated = DateTime.Now;
//update user
if (xData.UpdateTyped("recId", user.recId.ToString(), typeof(oUser), user, "pal_", true))
{
Session["user"] = user;
Response.Redirect("/home", false);
}
}
}
catch (Exception ex)
{
exception.HandleException("Reset:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]);
Response.Redirect("/error", false);
}
}
}