using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace AeroNet
{
///
/// Summary description for Register.
///
public class Register : Common
{
protected System.Web.UI.WebControls.TextBox Name;
protected System.Web.UI.WebControls.RequiredFieldValidator rfvName;
protected System.Web.UI.WebControls.TextBox Email;
protected System.Web.UI.WebControls.RequiredFieldValidator rfvEmail;
protected System.Web.UI.WebControls.RegularExpressionValidator revEmail;
protected System.Web.UI.WebControls.TextBox Secret;
protected System.Web.UI.WebControls.RequiredFieldValidator rfvSecret;
protected System.Web.UI.WebControls.TextBox Password;
protected System.Web.UI.WebControls.RequiredFieldValidator rfvPass;
protected System.Web.UI.WebControls.CompareValidator cmvPass;
protected System.Web.UI.WebControls.TextBox ConfirmPassword;
protected System.Web.UI.WebControls.RequiredFieldValidator rfvPwd2;
protected System.Web.UI.WebControls.Button RegisterBtn;
protected System.Web.UI.WebControls.Label lblError;
protected string exit;
//*******************************************************
//
// Обработчик события RegisterBtn_Click используется на этой странице для
// занесения нового пользователя в базу данных клиентов ASP.NET Commerce Starter Kit.
//
// После этого обработчик перемещает все элементы, сохраненные во
// временной (не постоянной) покупательской корзине пользователя,
// на постоянную учетную запись клиента, отправляет клиенту cookie
// (что позволяет индивидуализировать приветствие исходной
// страницы) и затем перенаправляет браузер обратно на
// исходную страницу.
//
//*******************************************************
void RegisterBtn_Click(object sender, System.EventArgs e)
{
// Попытка входа в систему делается только в том случае, если все
// поля формы на странице верны
if (Page.IsValid == true)
{
// Удаление ID старой временной покупательской корзины
ShoppingCartDB shoppingCart = new ShoppingCartDB();
String tempCartId = shoppingCart.GetShoppingCartId();
// Добавление нового клиента в базу данных клиентов
CustomersDB accountSystem = new CustomersDB();
String customerId = accountSystem.AddCustomer(Server.HtmlEncode(Name.Text), Email.Text, Server.HtmlEncode(Secret.Text), Security.Encrypt(Password.Text));
if (customerId != "")
{
///Отправляем письмо с новыми логином/паролем
accountSystem.SendLoginAndPass(Email.Text, Password.Text);
// Установка аутентификационного имени пользователя на customerId
FormsAuthentication.SetAuthCookie(customerId, false);
// Перемещение всех имеющихся в покупательской корзине элементов в постоянную
// покупательскую корзину
shoppingCart.MigrateCart(tempCartId, customerId);
// Размещение полного имени пользователя в cookie для целей персонализации
Response.Cookies["FullName"].Value = Server.HtmlEncode(Name.Text);
// Перенаправление браузера на страницу оформления заказа
Response.Redirect(exit);
}
else
{
lblError.Text = "
Регистрация не выполнена:
Этот адрес электронной почты уже зарегистрирован.
";
}
}
}
private void Page_Load(object sender, System.EventArgs e)
{
//Загрузить верхнее меню
TopMenu();
//Получить ptype из строки запроса
try
{
if (Request.QueryString["ReturnUrl"] == null)
{
exit = "Catalog.aspx";
}
else
{
exit = Request.QueryString["ReturnUrl"];
}
}
catch
{
Response.Redirect("error.aspx",true);
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.RegisterBtn.Click += new System.EventHandler(this.RegisterBtn_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}