protected void btnLogin_Click(object sender, System.EventArgs e) { // 오래된 쇼핑카트 아이디 저장 ShoppingCartDB shoppingCart = new ShoppingCartDB(); string tempCartID = shoppingCart.GetShoppingCartId(); // 로그인 정보가 맞는지 확인 CustomersDB accountSystem = new CustomersDB(); // 로그인이 정상적으로 진행되면 고객번호 : 1번 고객, 2번 고객 string customerId = accountSystem.Login(txtUserID.Text, Security.Encrypt(txtPassword.Text)); if (customerId != null) { // 현재 쇼핑카트 정보를 고객 정보로 마이그레이트 shoppingCart.MigrateCart(tempCartID, customerId); // 고객의 모든 정보 값 반환 CustomerDetails customerDetails = accountSystem.GetCustomerDetails(customerId); // 고객의 이름을 쿠키에 저장 // Response.Cookies["Shopping_CustomerName"].Value = customerDetails.CustomerName; HttpCookie customerName = new HttpCookie("Shopping_CustomerName", Server.UrlEncode(customerDetails.CustomerName)); customerName.HttpOnly = true; Response.Cookies.Add(customerName); // 고객의 이이디를 쿠키에 저장 Response.Cookies["Shopping_UserID"].Value = customerDetails.UserID; // 고객 이름 저장 체크박스 확인 if (chkRememberLogin.Checked == true) { // 앞으로 한달간 저장 Response.Cookies["Shopping_CustomerName"].Expires = DateTime.Now.AddMonths(1); } // 원래 요청했었던 페이지로 이동 if (Request.ServerVariables["SCRIPT_NAME"].ToLower().EndsWith("checklogin.aspx")) { System.Web.Security.FormsAuthentication.SetAuthCookie(customerId, chkRememberLogin.Checked); // 인증값 부여 Response.Redirect("CheckOut.aspx"); // 현재 페이지가 로그인 체크 페이지면 주문서 페이지로 이동 } else { // 따로 지정하지 않았으면 기본값으로 ~/Default.aspx로 이동 System.Web.Security.FormsAuthentication.RedirectFromLoginPage(customerId, chkRememberLogin.Checked); } } else { lblError.Text = "로그인에 실패했습니다. 다시 로그인하세요."; } }
protected void Page_Load(object sender, System.EventArgs e) { // 체크박스 컨트롤에 자바스크립트 이벤트 적용 this.chkDelivery.Attributes["onclick"] = "return CopyForm();"; // 현재 사용자의 쇼핑카트 아이디 가져오기 : 회원 또는 비회원 ShoppingCartDB cart = new ShoppingCartDB(); String cartId = cart.GetShoppingCartId(); // 현재 접속자의 장바구니 내용 읽어오기 : ASP.NET1.X 버전과 호환 테스트 위해 데이터그리드 사용하였음 ctlCheckOutList.DataSource = cart.GetItems(cartId); ctlCheckOutList.DataBind(); // 총합 출력하기 : 만약에 3만원 이상 구매시 배송료(2500원) 미포함 //lblTotal.Text = // String.Format("{0:###,###}", cart.GetTotal(cartId)); int intTotal = cart.GetTotal(cartId); if (intTotal >= 30000) { lblTotal.Text = String.Format("{0:###,###}", intTotal); } else { this.lblDelivery.Visible = true; lblTotal.Text = String.Format("{0:###,###}", intTotal + 2500); } // 회원/비회원에 따른 폼 모양 정의 if (Page.User.Identity.IsAuthenticated) { // 고객 정보 읽어오기 string customerId = Page.User.Identity.Name.ToString(); CustomersDB customerDB = new CustomersDB(); CustomerDetails customerDetails = customerDB.GetCustomerDetails(customerId); // 고객 정보 바인딩 // 주문자 정보 입력 this.txtCustomerName.Text = customerDetails.CustomerName; this.txtPhone1.Text = customerDetails.Phone1; this.txtPhone2.Text = customerDetails.Phone2; this.txtPhone3.Text = customerDetails.Phone3; this.txtMobile1.Text = customerDetails.Mobile1; this.txtMobile2.Text = customerDetails.Mobile2; this.txtMobile3.Text = customerDetails.Mobile3; this.txtZip.Text = customerDetails.Zip; this.txtAddress.Text = customerDetails.Address; this.txtAddressDetail.Text = customerDetails.AddressDetail; this.txtSsn1.Text = customerDetails.Ssn1; this.txtSsn2.Text = customerDetails.Ssn2; this.txtEmailAddress.Text = customerDetails.EmailAddress; this.MemberDivisionPanel.Visible = false; // 배송지 정보 입력 this.txtDeliveryCustomerName.Text = customerDetails.CustomerName; this.txtDeliveryTelePhone1.Text = customerDetails.Phone1; this.txtDeliveryTelePhone2.Text = customerDetails.Phone2; this.txtDeliveryTelePhone3.Text = customerDetails.Phone3; this.txtDeliveryMobilePhone1.Text = customerDetails.Mobile1; this.txtDeliveryMobilePhone2.Text = customerDetails.Mobile2; this.txtDeliveryMobilePhone3.Text = customerDetails.Mobile3; this.txtDeliveryZipCode.Text = customerDetails.Zip; this.txtDeliveryAddress.Text = customerDetails.Address; this.txtDeliveryAddressDetail.Text = customerDetails.AddressDetail; } else { this.MemberDivisionPanel.Visible = true; } }