protected void CreateUser_Click(object sender, EventArgs e) { var manager = new UserManager(); var user = new ApplicationUser() { UserName = UserName.Text }; IdentityResult result = manager.Create(user, Password.Text); if (result.Succeeded) { IdentityHelper.SignIn(manager, user, isPersistent: false); using (NewportCars.Logic.ShoppingCartActions usersShoppingCart = new NewportCars.Logic.ShoppingCartActions()) { String cartId = usersShoppingCart.GetCartId(); usersShoppingCart.MigrateCart(cartId, user.Id); } IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { ErrorMessage.Text = result.Errors.FirstOrDefault(); } }
protected void LogIn(object sender, EventArgs e) { if (IsValid) { // Validate the user password var manager = new UserManager(); ApplicationUser user = manager.Find(UserName.Text, Password.Text); if (user != null) { IdentityHelper.SignIn(manager, user, RememberMe.Checked); NewportCars.Logic.ShoppingCartActions usersShoppingCart = new NewportCars.Logic.ShoppingCartActions(); String cartId = usersShoppingCart.GetCartId(); usersShoppingCart.MigrateCart(cartId, UserName.Text); IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { FailureText.Text = "Invalid username or password."; ErrorMessage.Visible = true; } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //verify user has completed the checkout porcess if ((string) Session["userCheckoutCompleted"] != "true") { Session["userCheckoutCompleted"] = string.Empty; Response.Redirect("CheckoutError.aspx?" + "Desc=Unvalidated%20Checkout."); } NVPAPICaller payPalCaller = new NVPAPICaller(); string retMsg = ""; string token = ""; string finalPaymentAmount= ""; string PayerID = ""; NVPCodec decoder = new NVPCodec(); token = Session["token"].ToString(); PayerID = Session["payerId"].ToString(); finalPaymentAmount = Session["payment_amt"].ToString(); bool ret = payPalCaller.DoCheckoutPayment(finalPaymentAmount, token, PayerID, ref decoder, ref retMsg); if (ret) { //retrieve PayPal confirmation value. string PaymentConfirmation = decoder["PAYMENTINFO_0_TRANSACTIONID"].ToString(); TransactionId.Text = PaymentConfirmation; CarContext _db = new CarContext(); //get the current order id int currentOrderId = -1; if (Session["currentOrderId"] != string.Empty) { currentOrderId = Convert.ToInt32(Session["currentOrderID"]); } Order myCurrentOrder; if (currentOrderId >= 0) { //get the order based on order id myCurrentOrder = _db.Orders.Single(o => o.OrderId == currentOrderId); //update the order to reflect payment has been completed. myCurrentOrder.PaymentTransactionId = PaymentConfirmation; //save to db _db.SaveChanges(); } // clear shopping cart. using (NewportCars.Logic.ShoppingCartActions usersShoppingCart = new NewportCars.Logic.ShoppingCartActions()) { usersShoppingCart.EmptyCart(); } //clear order id Session["currentOrderId"] = string.Empty; } else { Response.Redirect("CheckoutError.aspx?" + retMsg); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { NVPAPICaller payPalCaller = new NVPAPICaller(); string retMsg = ""; string token = ""; string PayerID = ""; NVPCodec decoder = new NVPCodec(); token = Session["token"].ToString(); bool ret = payPalCaller.GetCheckoutDetails(token, ref PayerID, ref decoder, ref retMsg); if (ret) { Session["payerID"] = PayerID; var myOrder = new Order(); myOrder.OrderDate = Convert.ToDateTime(decoder["TIMESTAMP"].ToString()); myOrder.Username = User.Identity.Name; myOrder.FirstName = decoder["FIRSTNAME"].ToString(); myOrder.LastName = decoder["LASTNAME"].ToString(); myOrder.Address = decoder["STREETADDRESS"].ToString(); myOrder.City = decoder["CITY"].ToString(); myOrder.County = decoder["COUNTY"].ToString(); myOrder.Postcode = decoder["POSTCODE"].ToString(); myOrder.Country = decoder["COUNTRY"].ToString(); myOrder.Email = decoder["EMAIL"].ToString(); myOrder.Total = Convert.ToDecimal(decoder["AMT"].ToString()); //verify total payment amount as set on checkoutstart.aspx try { decimal paymentAmountOnCheckout = Convert.ToDecimal(Session["payment_amt"].ToString()); decimal paymentAmountFromPaypal = Convert.ToDecimal(decoder["AMT"].ToString()); if (paymentAmountOnCheckout != paymentAmountFromPaypal) { Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch."); } } catch (Exception) { Response.Redirect("CheckoutError.aspx?" + "Desc=Amount%20total%20mismatch."); } //Get DB context CarContext _db = new CarContext(); //Add order to DB _db.Orders.Add(myOrder); _db.SaveChanges(); //Get the shopping cart items and then process them using (NewportCars.Logic.ShoppingCartActions usersShoppingCart = new NewportCars.Logic.ShoppingCartActions()) { List<CartItem> myOrderList = usersShoppingCart.GetCartItems(); //add orderdetail information to the db for each car bought for (int i = 0; i < myOrderList.Count; i++) { //create a new orderdetail object var myOrderDetail = new OrderDetail(); myOrderDetail.OrderId = myOrder.OrderId; myOrderDetail.Username = User.Identity.Name; myOrderDetail.CarId = myOrderList[i].CarID; myOrderDetail.CarPrice = myOrderList[i].Car.CarPrice; //add order detail to db _db.OrderDetails.Add(myOrderDetail); _db.SaveChanges(); } //set OrderId Session["currentOrderId"] = myOrder.OrderId; //display order information List<Order> orderList = new List<Order>(); orderList.Add(myOrder); DeliveryInfo.DataSource = orderList; DeliveryInfo.DataBind(); //display orderdetails OrderItemList.DataSource = myOrderList; OrderItemList.DataBind(); } } else { Response.Redirect("CheckoutError.aspx?" + retMsg); } } }