Tuesday, June 17, 2014

Master Page - User Control - Page

Master Page

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="CoOpMaster.master.cs" Inherits="CoOpMaster" %>

<%@ Register Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register TagPrefix="ux" TagName="header" Src="~/BuyBack/CoOp/CoOpHeader.ascx" %>
<%@ Register TagPrefix="ux" TagName="footer" Src="~/BuyBack/CoOp/CoOpFooter.ascx" %>
<%@ Register TagPrefix="ux" TagName="rightPanel" Src="~/BuyBack/CoOp/CoOpRightPanel.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>
        <asp:Localize ID="meta1" runat="server">Buyback Bookstore | Sell Books Online </asp:Localize>
     
    </title>
    <link rel="stylesheet" href="../../Css/thickbox.css" type="text/css" media="screen" />
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
    <script type="text/javascript" src="../Js/jquery.js"></script>
    <script type="text/javascript" src="../Js/thickbox.js"></script>  
    <meta property="fb:admins" content="100000008072230" />
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <script language="javascript" type="text/javascript">
        function doClick(buttonName, e) {
            //the purpose of this function is to allow the enter key to
            //point to the correct button to click.
            var key;

            if (window.event)
                key = window.event.keyCode;     //IE
            else
                key = e.which;     //firefox

            if (key == 13) {
                //Get the button the user wants to have clicked
                var btn = document.getElementById(buttonName);
                if (btn != null) { //If we find the button click it
                    btn.click();
                    event.keyCode = 0
                }
            }
        }
    </script>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <div id="fb-root">
    </div>
    <script type="text/javascript" src="https://connect.facebook.net/en_US/all.js"></script>
    <script type='text/javascript'>
        FB.init({ appId: '<%: Facebook.FacebookApplication.Current.AppId %>', status: true, cookie: true, xfbml: true });
        FB.Event.subscribe('auth.sessionChange', function (response) {
            if (response.session) {
                // A user has logged in, and a new cookie has been saved
                //window.location.reload();
            } else {
                // The user has logged out, and the cookie has been cleared
            }
        });
    </script>
    <div id="wpwrap">
    <ux:header ID="uxheader" runat="server"></ux:header>
       
    <div id="wpcontent">
   <section class="clearfix">
    <div class="container12">
        <div class="column12">
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
            </asp:ContentPlaceHolder>
        </div>
       <%-- <div class="column4">--%>
            <asp:UpdatePanel ID="upRight" runat="server" UpdateMode="Always">
                <ContentTemplate>
                    <ux:rightPanel ID="uxRight" Visible="false" runat="server"></ux:rightPanel>
                </ContentTemplate>
            </asp:UpdatePanel>
      <%--  </div>--%>
    </div>
   </section>
   </div>
    <ux:footer ID="uxfooter" runat="server"></ux:footer>
    </div>
    </form>

</body>
</html>



USER CONTROL


<%@ Control Language="C#" AutoEventWireup="true"  CodeFile="CoOpRightPanel.ascx.cs"
    Inherits="CoOpRightPanel" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<div class="right_green_section">
    <h1>
        Buyback Quote</h1>
    <div class="detail_wrapper">
    <asp:UpdatePanel ID="uptPanel" runat="server">
    <ContentTemplate>
        <div runat="server" id="BindBuybackdata">
        </div>
        <div class="info_text">
         <br />
            This is your quote, you can add more books and get more <strong>cash</strong>
            
        </div>
          
         <br />
        <div class="small_search_wrapper">
        <asp:Panel  ID="defauldBttn" runat="server" DefaultButton="BtnSearch">
            <asp:TextBox ID="TxtSearch" runat="server" class="small_input_search"></asp:TextBox>
            <asp:Button ID="BtnSearch" runat="server" CssClass="small_button" CausesValidation="false" Text="search" OnClick="BtnSearch_Click" />
            </asp:Panel>
            <asp:UpdateProgress ID="uprgchild" runat="server" AssociatedUpdatePanelID="uptPanel"
            DisplayAfter="0" DynamicLayout="false">
            <ProgressTemplate>
               <div class="rightSearchLoad"><img src="../../App_Themes/CoOp/images/gif-load.gif" class="loader" /></div>
                   
            </ProgressTemplate>
        </asp:UpdateProgress>
        </div>
        <asp:Label ID="LblMsg" runat="server" ForeColor="Red"></asp:Label>
        </ContentTemplate>
        </asp:UpdatePanel>
       
             
       
        <div class="info_text mr_bottom45">
        <br />
            How Used is USED? <br /> Learn about book condition
        </div>
    </div>
</div>


PAGE

<%@ Page Title="" Language="C#" MasterPageFile="~/BuyBack/CoOp/CoOpMaster.master"
    AutoEventWireup="true" CodeFile="CoOpLogin.aspx.cs" Inherits="CoOpLogin" CodeFileBaseClass="CoOpFrontBasePage"
    Culture="auto" UICulture="auto" EnableCheckLogIn="False" EnableSSL="True" Theme="CoOp"
    meta:resourcekey="PageResource2" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <script type="text/javascript" src="../Js/jquery-1.js" type="text/javascript"></script>
    <script type="text/javascript" src="../Js/jquery_002.js" type="text/javascript"></script>
     <link href="../../App_Themes/CoOp/style.css" rel="stylesheet" type="text/css" />
    <link href="../../App_Themes/CoOp/gumby.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    
    <script language="javascript" type="text/javascript">
        function doClick(buttonName, e) {
            var key;
            if (window.event)
                key = window.event.keyCode;     //IE
            else
                key = e.which;     //firefox

            if (key == 13) {
                var btn = document.getElementById(buttonName);
                if (btn != null) { //If we find the button click it
                    btn.click();
                    event.keyCode = 0
                }
            }
        }
        function isNumberKey(evt) {
            var charCode = (evt.which) ? evt.which : event.keyCode
            if (charCode > 31 && (charCode < 47 || charCode > 57)) {
                return false;
            }
            return true;
        }
    </script>
    

    <div id="dvForPass" style="display: none;">
        <div class="contentHalf">
            <div class="panelBlue">
                <%--<asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>--%>
                <h2>
                    <%=GetLocalResourceObject("Message2")%></h2>
                <div class="dividerLineSmall">
                </div>
                <div class="formstyle">
                    <asp:Label ID="lblForMsg" runat="server" CssClass="err_msg" Visible="false"></asp:Label>
                    <h3>
                        <%=GetLocalResourceObject("Emailaddress")%>
                    </h3>
                    <asp:TextBox ID="txt_forpass_email" runat="server"  ValidationGroup="ForgotPass" MaxLength="100" CssClass="txtbox"
                        meta:resourcekey="txt_rst_emailResource1"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvForPass" runat="server" ControlToValidate="txt_forpass_email"
                        SetFocusOnError="True" ValidationGroup="ForgotPass" ErrorMessage="Enter valid Email Id"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="repForPass" runat="server" ControlToValidate="txt_forpass_email"
                        SetFocusOnError="True" ValidationExpression="<%$ Resources:RegularExpressions, Email %>"
                        ValidationGroup="ForgotPass" Display="Dynamic" ErrorMessage="Enter valid Email Id"></asp:RegularExpressionValidator>
                    
                      <%--  <asp:LinkButton ID="btnForPass" runat="server" OnClick="btnForPass_Click" CssClass="loginBtn"
                            Text="Click Here"  ValidationGroup="ForgotPass" OnClientClick="doPostBack(this);" ></asp:LinkButton>--%>
                             <asp:Button ID="btnForPass" runat="server"  OnClick="btnForPass_Click"
                                    CssClass="loginBtn" Text="Click Here"  
                                    OnClientClick="doPostBack(this);" ValidationGroup="ForgotPass" />
                   
                </div>
                 
            </div>
        </div>
    </div>
    <div id="dvPwdReset" style="display: none;">
        <div class="contentHalf">
            <div class="panelBlue">
                <%--<asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>--%>
                <h2>
                    <%=GetLocalResourceObject("reset")%>
                </h2>
                <div class="dividerLineSmall">
                </div>
                <div class="formstyle">
                    <asp:Label ID="lblrstMsg" runat="server" CssClass="err_msg" Visible="false"></asp:Label>
                    <h3>
                        <%=GetLocalResourceObject("Emailaddress")%>
                    </h3>

                    <asp:TextBox ID="txt_rst_email" runat="server" MaxLength="100" ValidationGroup="Reset"  CssClass="txtbox"
                        meta:resourcekey="txt_rst_emailResource1"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rvf_email_Reset" runat="server" ControlToValidate="txt_rst_email"
                        SetFocusOnError="True" ValidationGroup="Reset" meta:resourcekey="rfvEmailResource1"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="rev_email_Reset" runat="server" ControlToValidate="txt_rst_email"
                        SetFocusOnError="True" ValidationExpression="<%$ Resources:RegularExpressions, Email %>"
                        ValidationGroup="Reset" Display="Dynamic" meta:resourcekey="revEmailResource1"></asp:RegularExpressionValidator>
                  
                      <%--  <asp:LinkButton ID="btnReset" runat="server" OnClick="btnReset_Click" CssClass="loginBtn"
                            Text="Reset Password" ValidationGroup="Reset" OnClientClick="doPostBack(this);"   ></asp:LinkButton>--%>
                             <asp:Button ID="btnReset" runat="server"  OnClick="btnReset_Click" CssClass="loginBtn"
                                     Text="Reset Password" ValidationGroup="Reset" OnClientClick="doPostBack(this);" />

                    
                </div>
                   
                <%-- </ContentTemplate>
                </asp:UpdatePanel>--%>
            </div>
        </div>
    </div>
    <asp:HiddenField ID="hfReset" runat="server" />
    <asp:HiddenField ID="hfpass" runat="server" />
   

    <div class="column8 alpha omega">  
     
    <div style="clear:both"></div>

    <div class="login">
      <asp:Panel ID="login" runat="server" DefaultButton="btnLogin" >
                <ul class="loginForm2">

                <h3 align="left"> Login Here </h3>
                <p>
                    <asp:Label ID="lblMsgHeader" runat="server"  CssClass="loginErrMsg" Visible="False" meta:resourcekey="lblMsgHeaderResource1"></asp:Label>
                    </p>
                   
                    <li>
                        <label>
                            Email :</label>
                        <asp:TextBox ID="txtEmail" TabIndex="5" runat="server" class="detail_input wth245"
                            meta:resourcekey="txtEmailResource1"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="rfvEmail" runat="server" CssClass="err_msg" ControlToValidate="txtEmail"
                            SetFocusOnError="True" ValidationGroup="login" Display="Dynamic" 
                            Text="Enter Valid Email Id"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="revEmail" runat="server" ControlToValidate="txtEmail"
                            SetFocusOnError="True" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
                            ValidationGroup="login" Display="Dynamic" 
                            CssClass="err_msg" Text="Enter Valid Email Id"></asp:RegularExpressionValidator></li>
                    <li>
                        <label>
                            Password :</label>
                        <asp:TextBox ID="txtPwd" TabIndex="6" TextMode="Password" ValidationGroup="login"
                            runat="server" class="detail_input wth245" meta:resourcekey="txtPwdResource1"></asp:TextBox>
                        <div>
                            <asp:RequiredFieldValidator ID="rfvPwd" runat="server" ControlToValidate="txtPwd"
                                Display="Dynamic" SetFocusOnError="True" CssClass="err_msg" ValidationGroup="login"
                                Text="Enter Your Password" meta:resourcekey="rfvPwdResource2"></asp:RequiredFieldValidator></div>
                    </li>
                    
                    <li>
                        <label>
                            &nbsp;</label>
                            <a href="#" class="faceBookIcon">
                            <fb:login-button autologoutlink='true' perms='email' onlogin='window.location.reload()'>Login
                                                       Using Facebook</fb:login-button>
                        </a>
                        <asp:LinkButton ID="btnLogin" runat="server" ValidationGroup="login" TabIndex="7"  class="loginBtn"
                            meta:resourcekey="btnLoginResource1" OnClick="btnLogin_Click" Text="Login"  style="margin-right:0px !important;"></asp:LinkButton>
                        </li>
                        
                    <li style="max-height:30px">
                        <label>
                            &nbsp;</label>
                            <%--<span class="remember">
                                <input type="checkbox" id="chksghned" runat="server" />
                                Remember Me</span> --%>

                                 <label class="check-box" for="ctl00_ContentPlaceHolder1_chksghned">
                              <input type="checkbox" id="chksghned" runat="server" />
                                <span></span> Remember Me</label>

                               <div style="clear:both"></div>
                                <a href="#TB_inline?height=230&width=360&inlineId=dvForPass" class="thickbox">Forgot Password?</a> &nbsp; 
                                <a href="#TB_inline?height=230&width=360&inlineId=dvPwdReset" class="thickbox">Reset Password</a>
                                </li>
                  
                </ul>
                </asp:Panel>
    </div>

   
    <div class="column4 omega">
    <ul class="loginForm2 clearfix">

  
   


                      <asp:LinkButton ID="lnlCoopHome" runat="server"  TabIndex="17" PostBackUrl="https://www.coop.com.au/bookshop/action_sn/LoginPage"
                            class="loginBtn" Text="Continue" ></asp:LinkButton>


                    <div id="hide"  style="display:none;">
    <h3 align="left"> Create Web Account </h3>

                    <p>
                    <asp:Label ID="lblMsg" runat="server" CssClass="signUpErrMsg" Visible="False" meta:resourcekey="lblMsgResource1"></asp:Label></p>
                   
                    <li>
                        <label>
                            First Name : <span>*</span></label>
                          <asp:TextBox ID="txtDetail_FirstNm"  TabIndex="10"  ValidationGroup="Shipping"
                        runat="server" MaxLength="17" meta:resourcekey="txtDetail_FirstNmResource1"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rqvdetailFirstNm" runat="server" ControlToValidate="txtDetail_FirstNm"
                        ValidationGroup="Register" Display="Dynamic" CssClass="err_msg" Text="Enter First Name"></asp:RequiredFieldValidator></li>
                    <li>
                        <label>
                            Last Name : <span>*</span></label>
                         <asp:TextBox ID="txtdetail_lastNm"  TabIndex="11"  ValidationGroup="Shipping"
                        runat="server" MaxLength="17"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rqvdetailLastNm" runat="server" ControlToValidate="txtdetail_lastNm"
                        ValidationGroup="Register" CssClass="err_msg" Display="Dynamic" Text="Enter Last Name"></asp:RequiredFieldValidator></li>
                    <li>
                        <label>
                            Email : <span>*</span></label>
                        <asp:TextBox ID="txtREmail" runat="server" TabIndex="12" MaxLength="100" 
                            meta:resourcekey="txtEmailResource1" Onblur="return usernameChecker(this.value);"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtREmail"
                            SetFocusOnError="True" ValidationGroup="Register" Display="Dynamic" CssClass="err_msg"
                            Text="Please Enter Email" meta:resourcekey="RequiredFieldValidator1Resource1"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtREmail"
                            SetFocusOnError="True" ValidationExpression="<%$ Resources:RegularExpressions, Email %>"
                            ValidationGroup="Register" Display="Dynamic" CssClass="err_msg" Text="Please Enter Valid Email"
                            meta:resourcekey="RegularExpressionValidator1Resource1"></asp:RegularExpressionValidator></li>
                    <li>
                        <label>
                            Mobile : <span>*</span></label>
                       <asp:TextBox ID="txtMobile"   TabIndex="13" ValidationGroup="Shipping"
                        runat="server" MaxLength="15"  onkeypress="return isNumberKey(event)"></asp:TextBox>
                    <asp:RequiredFieldValidator runat="server" ID="rfvMob" ValidationGroup="Register"
                        ControlToValidate="txtMobile" Display="Dynamic" CssClass="err_msg fl mbottom15" Text="Please Enter Mobile Number"
                        ></asp:RequiredFieldValidator></li>
                    <li>
                        <label>
                            Password : <span>*</span></label><asp:TextBox ID="txtPassword" runat="server" TabIndex="14"
                                TextMode="Password" MaxLength="20" class="detail_input wth245" meta:resourcekey="txtPasswordResource1"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="rvfPassword" runat="server" ControlToValidate="txtPassword"
                            SetFocusOnError="True" ValidationGroup="Register" CssClass="err_msg" Display="Dynamic"
                            Text="Please Enter Password" meta:resourcekey="rvfPasswordResource2"></asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="revPass" runat="server" ControlToValidate="txtPassword"
                            SetFocusOnError="True" ValidationExpression="<%$ Resources:RegularExpressions, UserPass %>"
                            ValidationGroup="register" CssClass="err_msg" Display="Dynamic" Text="Password must contain 6 characters"
                            meta:resourcekey="revPassResource2"></asp:RegularExpressionValidator></li>
                    <li>
                        <label>
                            RE-Password: <span>*</span></label>
                        <asp:TextBox ID="txtConfirmPass" runat="server" TabIndex="15" TextMode="Password"
                            MaxLength="20" meta:resourcekey="txtConfirmPassResource1"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="rvfConfirmPass" runat="server" ControlToValidate="txtConfirmPass"
                            SetFocusOnError="True" ValidationGroup="Register" CssClass="err_msg" Display="Dynamic"
                            Text="Please Enter confirm Password" meta:resourcekey="rvfConfirmPassResource2"></asp:RequiredFieldValidator>
                        <asp:CompareValidator ID="cvConfPwd" runat="server" ControlToCompare="txtPassword"
                            ControlToValidate="txtConfirmPass" SetFocusOnError="True" ValidationGroup="Register"
                            CssClass="err_msg" Text="Password is Not Matched" Display="Dynamic" meta:resourcekey="cvConfPwdResource2"></asp:CompareValidator>
                    </li>
                   
                    <li>
                        <label>
                            Date of Birth : </label>
                           
                 
                         <asp:TextBox ID="txtDob"  TabIndex="16" runat="server"   class="sm"  onkeypress="return isNumberKey(event)"></asp:TextBox>
                         <cc1:CalendarExtender runat="server" ID="calenderExt" Format="dd/MM/yyyy" TargetControlID="txtDob">
                                                                                    </cc1:CalendarExtender> <span>dd/mm/yy</span> 
                         
                                                                              
      <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtDob"
                            SetFocusOnError="True" ValidationExpression="(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\d\d)"
                            ValidationGroup="register" CssClass="err_msg" Display="Dynamic" Text="Please Enter Valid Date"
                            ></asp:RegularExpressionValidator>

                        </li>
                    <li>
                                               <p>
                            
                                Look at our terms and conditions if you wish<br />
<em>Check out our privacy policy too-we've nothing to hide! 
                                
                                </em></p>
                    </li>
                    <li>
                        <label>
                            &nbsp;</label>
                       
                        <asp:LinkButton ID="btnRegister" runat="server"  TabIndex="17" ValidationGroup="Register" OnClick="btnRegister_Click"
                            class="loginBtn" Text="Register" meta:resourcekey="btnRegisterResource1"></asp:LinkButton>
                    </li>
                    </div>


                </ul>
    </div>

            
            </div>      
   
    <script language="javascript" type="text/javascript">
        function doPostBack(element) {
            //tb_remove();
            document.getElementById('<%=hfpass.ClientID %>').value = document.getElementById('<%=txt_forpass_email.ClientID %>').value
            document.getElementById('<%=hfReset.ClientID %>').value = document.getElementById('<%=txt_rst_email.ClientID %>').value           
            setTimeout('__doPostBack(\'' + element.name + '\',\'\')', 500);

        }
    </script>
    <script language="javascript" type="text/javascript">

        var usernameCheckerTimer;
        var spanAvailability = $get("spanAvailability");
        var spanAvailabilityChecking = $get("spanAvailabilityChecking");
        var rfv = $('#<%= RegularExpressionValidator1.ClientID %>')
        function usernameChecker(username) {
            spanAvailability.innerHTML = "";
            clearTimeout(usernameCheckerTimer);
            if (username.length < 5)
                spanAvailability.innerHTML = "";
            else {
                if (!rfv.is(":visible")) {
                    spanAvailability.innerHTML = "";
                    spanAvailabilityChecking.innerHTML = "<span style='color:#009933; text-align:right;  background:url(/images/ajax-loader.gif) right center no-repeat; float:left; padding-right:50px;'>Checking...</span>";
                    usernameCheckerTimer = setTimeout("checkUsernameUsage('" + username + "');", 750);
                    $('#<%=lblMsg.ClientID%>').hide();
                }
            }
        }
        function checkUsernameUsage(username) {
            PageMethods.set_path('buybacklogin.aspx'); // this code for the Local If you uplaod on Servers Kindly Use there Path for the login page

            if (!rfv.is(":visible")) {
                PageMethods.IsUserAvailable(username, OnSucceeded);
            }
        }
        function OnSucceeded(result, userContext, methodName) {
            if (methodName == "IsUserAvailable") {
                if (result == true) {
                    spanAvailability.innerHTML = "<span class='error-box-green fl' style='color: DarkGreen; display:block;'>User name is Available</span>";
                    spanAvailabilityChecking.innerHTML = "";

                }
                else {
                    spanAvailability.innerHTML = "<span class='err_msg fl' style='color: red;'>User name already exists. </span>";
                    spanAvailabilityChecking.innerHTML = "";
                }
            }
        }
    </script>
    <script language="javascript" type="text/javascript">
        function passwordChanged() {
            var strength = document.getElementById('strength');
            var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
            var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
            var enoughRegex = new RegExp("(?=.{6,}).*", "g");
            var pwd = document.getElementById("ctl00_ContentPlaceHolder1_txtPassword");
            if (pwd.value.length == 0) {
                strength.innerHTML = 'Please enter valid password,e.g (6-20 alphanumeric)';
            }
            else if (false == enoughRegex.test(pwd.value)) {
                strength.innerHTML = 'More Characters';
            }
            else if (strongRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:green; display:block;  font-size:11px;  font-family: Arial,Helvetica,sans-serif; ">Strong!</span>';
            }
            else if (mediumRegex.test(pwd.value)) {
                strength.innerHTML = '<span style="color:#f94c10;  display:block;  font-size:11px;  font-family: Arial,Helvetica,sans-serif; ">Medium!</span>';
            }
            else {
                strength.innerHTML = '<span style="color:#225102;  display:block;  font-size:11px;  font-family: Arial,Helvetica,sans-serif; ">Weak!</span>';
            }
        }
    </script>
</asp:Content>




.CS PAGE

#region Namespace
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Routing;
using ThisSite.BSLayer;
using ThisSite.Common;
using System.Data;
using System.Net;
using Facebook;
using Facebook.Web;
using System.Configuration;
using System.Globalization;
using System.Web.Configuration;
using System.ServiceModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Security;
using System.Net.Security;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;
using System.ServiceModel.Channels;
using System.IO;


#endregion

public partial class CoOpLogin : CoOpFrontBasePage
{
    #region variable dec
    static string prevPage = string.Empty;
    string result;
    #endregion
    public string FacebookAppID
    {
        get
        {
            return ConfigurationManager.AppSettings["AppID"];
        }
    }

    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
   {
        string keywords = "Co-Op - Login";
        Localize lmeta = (Localize)Master.FindControl("meta1");
        ((UserControl)this.Master.FindControl("uxRight")).Visible = false;

        lmeta.Text = keywords;
        lblMsgHeader.Visible =false;
        //lblMsg.Visible = false;
        if (!IsPostBack)
        {
            try
            {
                txtEmail.Attributes.Add("onKeyPress", "doClick('" + btnLogin.ClientID + "',event)");
                txtPwd.Attributes.Add("onKeyPress", "doClick('" + btnLogin.ClientID + "',event)");
                txtREmail.Attributes.Add("onKeyPress", "doClick('" + btnRegister.ClientID + "',event)");
                txtPassword.Attributes.Add("onKeyPress", "doClick('" + btnRegister.ClientID + "',event)");
                txtConfirmPass.Attributes.Add("onKeyPress", "doClick('" + btnRegister.ClientID + "',event)");

                if (Request.QueryString["session"] != null && Request.QueryString["session"].ToLower() == "logout")
                {
                    if (ThisSite.BSLayer.CoOpUser.Current != null)
                    {
                        Session.Abandon();
                        Session.Clear();
                        ClearSession();
                        Session["logoutFB"] = false;
                        var fbWebContext = FacebookWebContext.Current;
                        if (FacebookWebContext.Current.AccessToken != null)
                        {
                            Response.Redirect("https://www.facebook.com/logout.php?next=http://ztest.bookfari.com/co-op/login?session=logout&access_token=" + fbWebContext.AccessToken, false);
                        }
                    }
                }

                if (ThisSite.BSLayer.CoOpUser.Current != null)
                {
                    if (Request.QueryString["zurl"] != null)
                    {
                        ThisSite.Utilities.Security objSec = new ThisSite.Utilities.Security();

                        if (ThisSite.BSLayer.CoOpUser.Current != null)
                        {
                            string sFullName = ThisSite.BSLayer.CoOpUser.Current.sFirstNm;
                            string sEmail = ThisSite.BSLayer.CoOpUser.Current.sEmail;
                            objSec.SendRequest(sFullName, sEmail);
                        }
                    }
                    else if (Request.QueryString["returnurl"] != null)
                    {
                        string sAbsoluteUri = Request.Url.AbsoluteUri;
                        string sFromPage = Server.UrlDecode(sAbsoluteUri.Substring(sAbsoluteUri.IndexOf("returnurl") + 10));
                        
                        Uri uri;
                        if (Uri.TryCreate(sFromPage, UriKind.Absolute, out uri))
                        {
                            VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOp_home, null);
                            Response.Redirect(vpd.VirtualPath, true);
                        }
                        else
                        {
                            Response.Redirect(sFromPage, false);
                        }
                    }
                    else
                    {
                        Session.Abandon();
                        Session.Clear();
                        ClearSession();
                        Session["logoutFB"] = false;
                        VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOP_Login, null);
                        Response.Redirect(vpd.VirtualPath, false);
                    }
                }
                else
                {
                    Session["logoutFB"] = null;
                }

                if (Request.Cookies["BookStoreLogin"] != null)
                {
                    txtEmail.Text = Request.Cookies["BookStoreLogin"].Values["UserEmail"];
                    Response.Cookies["BookStoreLogin"].Expires = DateTime.Now.AddSeconds(-1);
                }
                //string keywords = "Co-Op - Login";
                //Localize lmeta = (Localize)Master.FindControl("meta1");
                //lmeta.Text = keywords;
            }
            catch (Exception ex)
            {
                ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
                errLog.sErrMsg = ex.Message;
                errLog.sAbsoluteUri = Page.Request.Url.ToString();
                errLog.sStackTrace = ex.StackTrace;
                errLog.Create();
            }
        }
        
        if (!IsPostBack)
        {
            if (!IsPostBack)
            {
                if (Request.Cookies["BUYLoginNm"] != null)
                    txtEmail.Text = Request.Cookies["BUYLoginNm"].Value;

                if (Request.Cookies["BUYpwd"] != null)

                    txtPwd.Attributes.Add("value", Request.Cookies["BUYpwd"].Value);
                if (Request.Cookies["BUYuserid"] != null && Request.Cookies["BUYpwd"] != null)
                    chksghned.Checked = true;

                if (Request.Cookies["BUYLoginNm"] != null)
                {
                    txtEmail.Text = Request.Cookies["BUYLoginNm"].Value.ToString();
                    chksghned.Checked = true;
                }
            }

            txtEmail.Focus();
            try
            {
                if ((Request.QueryString["session"] != null && Request.QueryString["session"].ToLower() == "login") || (Request.QueryString["session"] == null))
                {
                    CheckIfFacebookAppIsSetupCorrectly();
                    var fbWebContext = FacebookWebContext.Current;
                    if (fbWebContext.IsAuthorized())
                    {
                        var fb = new FacebookWebClient(fbWebContext);
                        dynamic result = fb.Get("/me");
                        if (ThisSite.BSLayer.CoOpUser.Current == null)
                        {
                            Facebook.JsonObject me = result;
                            ThisSite.BSLayer.CoOpUser.TryFBLogin(me);
                            if (Session["logoutFB"] != null)
                            {
                                if (!Convert.ToBoolean(Session["logoutFB"].ToString()))
                                {
                                    Session["logoutFB"] = false;
                                }
                                else
                                {
                                    Session["logoutFB"] = true;
                                }
                            }
                            else
                            {
                                Session["logoutFB"] = true;
                            }

                            if (Session["BuyprevPage"] != null)
                            {
                                if (Request.QueryString["returnurl"] != null)
                                {
                                    string sAbsoluteUri = Request.Url.AbsoluteUri;
                                    string sFromPage = Server.UrlDecode(sAbsoluteUri.Substring(sAbsoluteUri.IndexOf("returnurl") + 10));

                                    Uri uri;
                                    if (Uri.TryCreate(sFromPage, UriKind.Absolute, out uri))
                                    {
                                      
                                        VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, "default", null);
                                        Response.Redirect(vpd.VirtualPath, false);
                                    }
                                    else
                                    {
                                        Response.Redirect(sFromPage, false);
                                    }
                                }
                                else
                                {
                                   
                                    prevPage = Session["prevPage"].ToString();
                                  
                                    //VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOpMyAccountHome, null);
                                    //Response.Redirect(vpd.VirtualPath, false);
                                   
                                        Response.Redirect(prevPage, false);
                                }
                            }
                            else
                            {
                                if (Session["logoutFB"] != null)
                                {
                                    if (!Convert.ToBoolean(Session["logoutFB"].ToString()))
                                    {
                                        Session.Abandon();
                                        Session.Clear();
                                        ClearSession();
                                        Session["logoutFB"] = false;
                                       
                                        VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOpMyAccountHome, null);
                                        Response.Redirect(vpd.VirtualPath, false);
                                    }
                                    else
                                    {
                                        if (Request.QueryString["session"] != null && Request.QueryString["session"].ToLower() == "logout")
                                        {
                                            Session.Abandon();
                                            Session.Clear();
                                            ClearSession();
                                            Session["logoutFB"] = false;
                                          
                                            VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOpMyAccountHome, null);
                                            Response.Redirect(vpd.VirtualPath, false);
                                        }
                                        else if (Request.QueryString["session"] == null)
                                        {
                                              DataTable Dtsearch = ThisSite.BSLayer.CoOp.select_BuyBookDetail(HttpContext.Current.Session.SessionID.ToString());
                                              if (Dtsearch.Rows.Count > 0)
                                              {
                                                  VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOp_MyDetails, null);
                                                  Response.Redirect(vpd.VirtualPath, false);
                                              }
                                              else
                                              {
                                                  VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOpMyAccountHome, null);
                                                  Response.Redirect(vpd.VirtualPath, false);
                                              }
                                        }
                                    }
                                }

                            }
                        }
                    }
                }
                else
                {
                    if (Request.QueryString["session"] != null && Request.QueryString["session"].ToLower() == "logout")
                    {
                        Session.Abandon();
                        Session.Clear();
                        ClearSession();
                        Session["logoutFB"] = false;
                        var fbWebContext = FacebookWebContext.Current;
                        if (FacebookWebContext.Current.AccessToken == null)
                        {
                            Response.Redirect("~/Co-Op/login?session=login", false);
                        }
                    }
                }
            }
            catch (Facebook.FacebookApiException ex)
            {
                ClearSession();
                ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
                errLog.sErrMsg = ex.Message;
                errLog.sAbsoluteUri = Page.Request.Url.ToString();
                errLog.sStackTrace = ex.StackTrace;
                errLog.Create();
            }
        }
    }
    #endregion

    #region btnRegister_Click
    protected void btnRegister_Click(object sender, EventArgs e)
    {
        try
        {
            Page.Validate("Register");
            if (Page.IsValid)
            {
                CoOpUser CoOpUser = new CoOpUser();


                CoOpUser.sLoginNm = txtDetail_FirstNm.Text.Trim();
                CoOpUser.sPass = txtPassword.Text.Trim();
                CoOpUser.sFirstNm = txtDetail_FirstNm.Text.Trim();
                CoOpUser.sLastNm = txtdetail_lastNm.Text.Trim();
                CoOpUser.sEmail = txtREmail.Text.Trim();
                CoOpUser.lRollId = ThisSite.BSLayer.CoOpUser.GetRoleId("Customer"); //default role type is CUSTOMER
                CoOpUser.sAddress = ThisSite.BSLayer.CoOpUser.UserStatus.Anonymous.ToString();
                CoOpUser.lCountryId = 0;
                CoOpUser.sCity = ThisSite.BSLayer.CoOpUser.UserStatus.Anonymous.ToString();
                CoOpUser.sPhoneNo = string.Empty;
                CoOpUser.sMobileNo = txtMobile.Text;
                CoOpUser.sStatus = ThisSite.BSLayer.CoOpUser.UserStatus.Active.ToString();
                CoOpUser._dtModifiedDt = DateTime.Now;
                CoOpUser.sIsExists = "Exist";
                try
                {
                    CoOpUser.dtDOB = Convert.ToDateTime(txtDob.Text.Trim(), new CultureInfo("en-GB", true));// Convert.ToDateTime(txtDob.Text.Trim());
                }
                catch
                {
                    CoOpUser.dtDOB = null;
                }
                CoOpUser.sCulture = ThisSite.Utilities.Enumerations.DefaultCulture.English.ToString(); ;
                int buyBackUserId = CoOpUser.CreateCoOpUser(txtREmail.Text.Trim());

                
                if (buyBackUserId > 0)
                {
                    #region Email to BuyBackUser for new BuyBackUser Registration
                    ManageEmail.EmailDetail emailUsr = new ManageEmail.EmailDetail();
                    ThisSite.BSLayer.CMS Userscript = new ThisSite.BSLayer.CMS();
                    //DataRow drUser = Userscript.getEmailScript(Resources.Script.SelfRegistration);
                    DataRow drUser = Userscript.getEmailScript("CoopRegister");
                    if (drUser != null)
                    {
                        ThisSite.BSLayer.Cart cart = new ThisSite.BSLayer.Cart();
                        DataTable dtCartReview = cart.select_FeatureItem();
                        string s = string.Empty;
                        s = drUser["cScript"].ToString();

                        string[] sTOUsr = { CoOpUser.sEmail };
                        emailUsr.sTo = sTOUsr;
                        emailUsr.sFromAdr = Resources.EmailAddresses.No_Reply.ToString();
                        emailUsr.sSubject = drUser["cSubject"].ToString();
                        emailUsr.sDisNm = ThisSite.Common.Methods.GetConfigSetting("MailFromDisplayNm");
                        emailUsr.IsBodyHtml = Convert.ToBoolean(drUser["blsHtml"]);
                        s = s.Replace("{EMAIL}", CoOpUser.sEmail);
                        s = s.Replace("{EMAIL}", CoOpUser.sEmail);
                        s = s.Replace("{NAME}", CoOpUser.sFirstNm);
                        s = s.Replace("{PHONE}", CoOpUser.sMobileNo);

                        //string str = string.Empty;
                        //string str1 = string.Empty;
                        //string str2 = string.Empty;

                        //string ImagePath = string.Empty;
                        //ImagePath = "http://www.bookfari.com/ImageResize.ashx?isbn=";
                        //ImagePath = ImagePath + dtCartReview.Rows[0]["vIsbn"].ToString();
                        //ImagePath = ImagePath + "&width=145&height=200";

                        //str = str + "<img style='width:145px;height:200px;display:block' src='" + ImagePath + "' alt='Book'/>";

                        //string BookDesc = string.Empty;
                        //BookDesc = HttpUtility.HtmlDecode(dtCartReview.Rows[0]["vcDescription"].ToString().Replace("<div>", " ").Replace("</div>", " ").Replace("<P>", " ").Replace("</P>", " ").Replace("<i>", " ").Replace("</i>", " "));

                        //str1 = str1 + "<p style='margin: 0px; text-align: left; color: rgb(85, 85, 85); font-size: 13px; font-style: italic;'><strong><em>" + dtCartReview.Rows[0]["vTitle"].ToString() + "</em></strong> : " + BookDesc + ".</p>";

                        //str2 = "http://www.bookfari.com/Book/" + dtCartReview.Rows[0]["vIsbn"].ToString();
                        //s = s.Replace("{imagedetail}", str1);

                        //s = s.Replace("#image#", str);
                        //s = s.Replace("#Book#", str2);
                        emailUsr.sMessage = s;

                        try
                        {
                            ManageEmail.SendEmail(emailUsr);
                            ThisSite.Entitie.CoOPEntites.CommunicationLog commLog = new ThisSite.Entitie.CoOPEntites.CommunicationLog();
                            commLog.biUsrId = CoOpUser.lUserId;
                            commLog.vcUsrType = ThisSite.Utilities.Enumerations.UserType.customer.ToString();
                            commLog.vcClientIP = Request.UserHostAddress;
                            commLog.vcAbsoluteUri = Request.Url.AbsoluteUri; 
                            commLog.vcCommType = ThisSite.BSLayer.CommunicationLog.CommType.EMAIL.ToString();
                            commLog.nvcCommContent = emailUsr.sMessage;
                            commLog.vcUsrType = ThisSite.Common.Enumerations.UserType.User.ToString();
                            commLog.vcReceivers = sTOUsr[0];
                        }
                        catch (Exception ex)
                        {
                            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
                            errLog.sErrMsg = ex.Message;
                            errLog.sAbsoluteUri = Page.Request.Url.ToString();
                            errLog.sStackTrace = ex.StackTrace;
                            errLog.Create();
                        }
                    }
                    #endregion
                    
                    if (ThisSite.BSLayer.CoOpUser.TryToLogin(CoOpUser.sEmail, CoOpUser.sPass, false))
                    {
                        if (Request.QueryString["zurl"] != null)
                        {
                            ThisSite.Utilities.Security objSec = new ThisSite.Utilities.Security();

                            if (ThisSite.BSLayer.CoOpUser.Current != null)
                            {
                                string sFullName = ThisSite.BSLayer.CoOpUser.Current.sFirstNm;
                                string sEmail = ThisSite.BSLayer.CoOpUser.Current.sEmail;
                                objSec.SendRequest(sFullName, sEmail);
                            }
                        }
                        else if (Request.QueryString["returnurl"] != null)
                        {
                            string sAbsoluteUri = Request.Url.AbsoluteUri;
                            string sFromPage = Server.UrlDecode(sAbsoluteUri.Substring(sAbsoluteUri.IndexOf("returnurl") + 10));
                            Uri uri;
                            if (Uri.TryCreate(sFromPage, UriKind.Absolute, out uri))
                            {
                                Response.Redirect(Resources.Pages.A_Default, false);
                            }
                            else
                            {
                                Response.Redirect(sFromPage, false);
                            }
                        }
                        else
                        {
                            VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOp_MyDetails, null);
                            Response.Redirect(vpd.VirtualPath, false);
                        }
                    }
                }
                else
                {
                    lblMsg.Visible = true;
                    lblMsg.Text = ThisSite.Common.Message.sMessage;
                }
            }
        }
        catch (Exception ex)
        {
            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sAbsoluteUri = Page.Request.Url.ToString();
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();
        }
       // txtDob.Attributes.Add("readonly", "readonly");

    }
    #endregion


    #region Co-Op login

  private string CallPostMethod()
    {
         
        string username = txtEmail.Text.Trim().ToString();
        string password = txtPwd.Text.Trim().ToString();
        ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });  
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://staging1.javelin.coop.com.au:8080/bookshop/Services/verifyCredentials");
        request.Method = "POST";
        request.ContentType = "application/json";
        string auth = "Basic " + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("bookfari" + ":" + "4cf98384b732f007c9ba540a47eb5ec3"));
        request.PreAuthenticate = true;
        request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested;
        request.Headers.Add("Authorization", auth);
        var datacontractserializer = new DataContractSerializer(typeof(userinformation));
        userinformation userinformation1 = new userinformation { email = username, secret = password, scheme = "PLAIN" };
        var json = new JavaScriptSerializer().Serialize(userinformation1);
        using (var streamwriter = new StreamWriter(request.GetRequestStream()))
        {
            streamwriter.Write(json);
        }
        WebResponse respons = request.GetResponse();
        System.IO.Stream stream11 = respons.GetResponseStream();
        StreamReader ttt = new StreamReader(stream11);
        var result = ttt.ReadToEnd();
        stream11.Dispose();
        ttt.Dispose();

        string data = result.ToString().Replace("{", " ");
        data = data.Replace("}", "");
        data = data.Replace(":", "");
        data = data.Replace("\"", "");



        char[] separator = new char[] { ',' };
        string[] app = data.Split(separator);
        string a = app[0].ToString();
        string b = app[1].ToString();
        string c = app[2].ToString();

        if (a.Trim() == "success true")
        {
            return a;
        }
        else
        {
            return b;
           
        }



    }
    #endregion

    #region btnLogin_Click
    protected void btnLogin_Click(object sender, EventArgs e)
    {
        try
        {
            
            Page.Validate("login");
            if (Page.IsValid)
            {
                string val = ConfigurationManager.AppSettings["coop"].ToString();
                if (val == "true")
                {
                    result = CallPostMethod();          
                }
                else
                {
                    result = "success true";  
                
                }                  

                if (result.Trim() == "success true")
                {

                    ThisSite.BSLayer.CoOpUser.Co_OpLogin(txtEmail.Text.Trim(), txtPwd.Text.Trim());

                    bool bIsLogin = ThisSite.BSLayer.CoOpUser.TryToLogin(txtEmail.Text.Trim(), txtPwd.Text.Trim(), false);
                    if (bIsLogin)
                    {
                        HttpCookie cookieLogin1;
                        if (chksghned.Checked)
                        {
                            cookieLogin1 = new HttpCookie("LoginCoOpNm", txtEmail.Text.Trim());
                            cookieLogin1.Expires = DateTime.Now.AddYears(1);
                            Response.Cookies.Add(cookieLogin1);
                            Response.Cookies["userid"].Value = txtEmail.Text;
                            Response.Cookies["pwd"].Value = txtPwd.Text;
                            Response.Cookies["userid"].Expires = DateTime.Now.AddDays(15);
                            Response.Cookies["pwd"].Expires = DateTime.Now.AddDays(15);
                        }
                        else
                        {
                            Response.Cookies["userid"].Expires = DateTime.Now.AddDays(-1);
                            Response.Cookies["pwd"].Expires = DateTime.Now.AddDays(-1);
                            if (Request.Cookies["LoginCoOpNm"] != null)
                                Response.Cookies["LoginCoOpNm"].Expires = DateTime.Now.AddSeconds(-1);
                        }
                        VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, Resources.Co_Op.CoOp_MyDetails, null);
                        Response.Redirect(vpd.VirtualPath, false);
                    }
                    else
                    {
                        lblMsgHeader.Visible = true;
                        lblMsgHeader.Attributes.Add("style", "margin-left:312px");
                        lblMsgHeader.Text = "The login detail you entered is incorrect";
                        ThisSite.Common.Message.sMessage = null;
                        lblMsgHeader.Visible = true;
                    }
                }


                else
                {
                    //lblMsgHeader.Text = lblMsgHeader.Text.Replace("message", "");
                   // lblMsgHeader.Visible = true;
                   // lblMsgHeader.Text = result;

                    lblMsgHeader.Visible = true;
                    lblMsgHeader.Attributes.Add("style", "margin-left:312px");
                    lblMsgHeader.Text = "The login detail you entered is incorrect";
                    ThisSite.Common.Message.sMessage = null;
                    lblMsgHeader.Visible = true;
                }

            }
        }
        catch (Exception ex)
        {
            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sAbsoluteUri = Page.Request.Url.ToString();
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();
        }
    }
    #endregion 

    #region ClearSession
    private void ClearSession()
    {
        try
        {
            string cookieName = "fbs_" + ConfigurationManager.AppSettings["AppID"];
            if (HttpContext.Current.Request.Cookies[cookieName] != null)
            {
                string[] cookies = new[] { "BuyBackUser", "session_key", "expires", "ss" };
                foreach (var c in cookies)
                {
                    HttpContext.Current.Response.Cookies[c.ToString()].Expires = DateTime.Now.AddMonths(-1);
                }
                HttpContext.Current.Response.Cookies[cookieName].Expires = DateTime.Now.AddMonths(-1);
                HttpContext.Current.Request.Cookies[cookieName]["session_key"] = null;
                HttpContext.Current.Request.Cookies[cookieName]["uid"] = null;
                HttpContext.Current.Request.Cookies[cookieName]["\"access_token"] = null;
                HttpContext.Current.Request.Cookies.Remove("session_key");
                HttpContext.Current.Request.Cookies.Remove("uid");
                HttpContext.Current.Request.Cookies.Remove("\"access_token");
            }
        }
        catch (Exception ex)
        {
            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sAbsoluteUri = Page.Request.Url.ToString();
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();
        }
    }
    #endregion

    #region CheckIfFacebookAppIsSetupCorrectly
    private void CheckIfFacebookAppIsSetupCorrectly()
    {
        try
        {
            bool isSetup = false;
            var settings = ConfigurationManager.GetSection("facebookSettings");
            if (settings != null)
            {
                var current = settings as IFacebookApplication;
                if (current.AppId != "{app id}" &&
                    current.AppSecret != "{app secret}")
                {
                    isSetup = true;
                }
            }

            if (!isSetup)
            {
                // redired to setup page !!
            }
        }
        catch (Exception ex)
        {
            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sAbsoluteUri = Page.Request.Url.ToString();
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();

        }
    }
    #endregion

    #region WebMethod
    [System.Web.Services.WebMethod]

    public static bool IsUserAvailable(string sEmail)
    {
        try
        {
            List<CoOpUser> existingUsers = ThisSite.BSLayer.CoOpUser.PopulateSet(sEmail, null);
            if (existingUsers.Exists(u => u.sEmail.ToLower() == sEmail.ToLower()))
            {  
                ThisSite.Common.Message.sMessage = Resources.ErrorMessages.UsrAlreadyExists;
                return false;
            }
            else
            {
                return true;
            }
        }
        catch (Exception ex)
        {
            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();
            return false;
        }
    }
    #endregion

    #region btnForPass_Click
    protected void btnForPass_Click(object sender, EventArgs e)
    {
        try
        {
            ThisSite.BSLayer.CoOpUser user = new ThisSite.BSLayer.CoOpUser();
            if (string.IsNullOrEmpty(txt_forpass_email.Text))
            {
                txt_forpass_email.Text = hfpass.Value;
            }

            DataRow row = user.getForgotUserPassword(txt_forpass_email.Text.Trim());
            if (row != null)
            {
                string password = row["cPassword"].ToString();
                if (password == "")
                {
                    lblMsg.Visible = true;
                    lblMsg.Text = "This is yours facebook Id try to change your password in facebook account";
                    return;
                }
                string ToEmailId = row["cEmail"].ToString();


                ThisSite.Utilities.Security.RijndaelSimple rijndaelSimple = new ThisSite.Utilities.Security.RijndaelSimple();

                string sPassDecrypted = rijndaelSimple.Decrypt(password, Resources.EncryptionDecryption.passPhrase.Trim(),
                                                Resources.EncryptionDecryption.saltValue.Trim(),
                                                Resources.EncryptionDecryption.hashAlgorithm.Trim(),
                                                int.Parse(Resources.EncryptionDecryption.passwordIterations.Trim()),
                                                Resources.EncryptionDecryption.initVector.Trim(),
                                                int.Parse(Resources.EncryptionDecryption.keySize.Trim()));


                if (ToEmailId != null)
                {

                    lblMsgHeader.Visible = true;
                    lblMsgHeader.Text = GetLocalResourceObject("forgotpwd").ToString();

                    ManageEmail.EmailDetail email = new ManageEmail.EmailDetail();
                    ThisSite.BSLayer.CMS script = new ThisSite.BSLayer.CMS();
                    //DataRow drAdmin = script.getEmailScript("Forgot Paswword");
                    DataRow drAdmin = script.getEmailScript("Coopforgotpassword");
                    string[] sUserTO = { ToEmailId };
                    email.sTo = sUserTO;
                    email.sFromAdr = Resources.EmailAddresses.No_Reply.ToString();
                    email.sSubject = "Forgot Password";
                    email.sDisNm = ThisSite.Common.Methods.GetConfigSetting("MailFromDisplayNm");
                    email.IsBodyHtml = true;
                    email.sMessage = drAdmin["cScript"].ToString().Replace("{pwd}", "Password");
                    email.sMessage = drAdmin["cScript"].ToString().Replace("{EMAIL}", ToEmailId).Replace("{pwd}", sPassDecrypted).Replace("{NAME}", ToEmailId);

                    try
                    {
                        ManageEmail.SendEmail(email);

                    }
                    catch (Exception ex)
                    {

                        Response.Write(ex);
                        Response.End();

                    }
                }
            }
            else
            {
                lblMsgHeader.Visible = true;
                lblMsgHeader.Text = Resources.ErrorMessages.ForgetUsrExist.ToString();
            }

        }
        catch (Exception ex)
        {
            lblMsg.Visible = true;
            lblMsg.Text = ex.Message;

            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sAbsoluteUri = Page.Request.Url.ToString();
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();


        }
    }
    #endregion

    #region btnReset_Click
    protected void btnReset_Click(object sender, EventArgs e)
    {
        try
        {
            if (string.IsNullOrEmpty(txt_rst_email.Text))
            {
                txt_rst_email.Text = hfReset.Value;
            }

            List<CoOpUser> lstUser = ThisSite.BSLayer.CoOpUser.PopulateSet(txt_rst_email.Text.Trim(), string.Empty);
            if (lstUser.Count > 0)
            {
                ThisSite.BSLayer.CoOpUser user = new CoOpUser();
                user = lstUser[0];

                if (user.sEmail.ToLower().Trim() == txt_rst_email.Text.ToLower().Trim())
                {
                    //Random rnd = new Random(3);
                    string randomPwd = ResetPasswordMail.RandomPasswordGenerator(6);
                    ThisSite.Utilities.Security.RijndaelSimple rijndaelSimple = new ThisSite.Utilities.Security.RijndaelSimple();
                    string pwd = user.sEmail.ToLower().Trim() + "#" + randomPwd;
                    string sPassEncrypted = rijndaelSimple.Encrypt(pwd, Resources.EncryptionDecryption.passPhrase.Trim(),
                                           Resources.EncryptionDecryption.saltValue.Trim(),
                                           Resources.EncryptionDecryption.hashAlgorithm.Trim(),
                                           int.Parse(Resources.EncryptionDecryption.passwordIterations.Trim()),
                                           Resources.EncryptionDecryption.initVector.Trim(),
                                           int.Parse(Resources.EncryptionDecryption.keySize.Trim()));

                    string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
                   // if (ResetPasswordMail.PrevResetPassEmail(baseUrl + "/request?pwd=" + sPassEncrypted + "", user.sEmail))
                    if (ResetPasswordMail.PrevResetPassEmailCoop(baseUrl + "/BuyBack/CoOp/CoopResetPwdConfirmation.aspx?pwd=" + sPassEncrypted + "", user.sEmail))
                   // if (ResetPasswordMail.PrevResetPassEmailCoop(baseUrl + "/PassConfirm?pwd=" + sPassEncrypted + "", user.sEmail))
                    {
                        lblMsgHeader.Visible = true;
                        lblMsgHeader.Text = GetLocalResourceObject("ResetMessage").ToString();
                    }


                }
                else
                {
                    lblMsgHeader.Visible = true;
                    lblMsgHeader.Text = "Unable to reset your password. Please try again";
                }
            }
        }
        catch (Exception ex)
        {
            ThisSite.BSLayer.ErrorLog errLog = new ThisSite.BSLayer.ErrorLog();
            errLog.sErrMsg = ex.Message;
            errLog.sAbsoluteUri = Page.Request.Url.ToString();
            errLog.sStackTrace = ex.StackTrace;
            errLog.Create();

        }
    }
    #endregion
}

No comments:

Post a Comment