Ejemplo n.º 1
0
        protected void CreateUser_Click(object sender, EventArgs e)
        {
            var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var signInManager = Context.GetOwinContext().Get <ApplicationSignInManager>();
            var user          = new ApplicationUser()
            {
                UserName = Email.Text, Email = Email.Text
            };
            IdentityResult result = manager.Create(user, Password.Text);

            if (result.Succeeded)
            {
                // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                //string code = manager.GenerateEmailConfirmationToken(user.Id);
                //string callbackUrl = IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Id, Request);
                //manager.SendEmail(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>.");

                signInManager.SignIn(user, isPersistent: false, rememberBrowser: false);

                using (Nation1.Logic.ShoppingCartActions usersShoppingCart = new Nation1.Logic.ShoppingCartActions())
                {
                    String cartId = usersShoppingCart.GetCartId();
                    usersShoppingCart.MigrateCart(cartId, user.Id);
                }

                IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
            }
            else
            {
                ErrorMessage.Text = result.Errors.FirstOrDefault();
            }
        }
Ejemplo n.º 2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         // Verify user has completed the checkout process.
         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;
             ProductContext _db = new ProductContext();
             // 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 (Nation1.Logic.ShoppingCartActions usersShoppingCart =
                        new Nation1.Logic.ShoppingCartActions())
             {
                 usersShoppingCart.EmptyCart();
             }
             // Clear order id.
             Session["currentOrderId"] = string.Empty;
         }
         else
         {
             Response.Redirect("CheckoutError.aspx?" + retMsg);
         }
     }
 }
Ejemplo n.º 3
0
        protected void LogIn(object sender, EventArgs e)
        {
            if (IsValid)
            {
                // Validate the user password
                var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                var signinManager = Context.GetOwinContext().GetUserManager <ApplicationSignInManager>();

                // This doen't count login failures towards account lockout
                // To enable password failures to trigger lockout, change to shouldLockout: true
                var result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: false);

                switch (result)
                {
                case SignInStatus.Success:

                    Nation1.Logic.ShoppingCartActions usersShoppingCart =
                        new Nation1.Logic.ShoppingCartActions();
                    String cartId = usersShoppingCart.GetCartId();
                    usersShoppingCart.MigrateCart(cartId, Email.Text);

                    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                    break;

                case SignInStatus.LockedOut:
                    Response.Redirect("/Account/Lockout");
                    break;

                case SignInStatus.RequiresVerification:
                    Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}",
                                                    Request.QueryString["ReturnUrl"],
                                                    RememberMe.Checked),
                                      true);
                    break;

                case SignInStatus.Failure:
                default:
                    FailureText.Text     = "Invalid login attempt";
                    ErrorMessage.Visible = true;
                    break;
                }
            }
        }
Ejemplo n.º 4
0
 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["SHIPTOSTREET"].ToString();
             myOrder.City       = decoder["SHIPTOCITY"].ToString();
             myOrder.State      = decoder["SHIPTOSTATE"].ToString();
             myOrder.PostalCode = decoder["SHIPTOZIP"].ToString();
             myOrder.Country    = decoder["SHIPTOCOUNTRYCODE"].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 paymentAmoutFromPayPal =
                     Convert.ToDecimal(decoder["AMT"].ToString());
                 if (paymentAmountOnCheckout != paymentAmoutFromPayPal)
                 {
                     Response.Redirect("CheckoutError.aspx?" +
                                       "Desc=Amount%20total%20mismatch.");
                 }
             }
             catch (Exception)
             {
                 Response.Redirect("CheckoutError.aspx?" +
                                   "Desc=Amount%20total%20mismatch.");
             }
             // Get DB context.
             ProductContext _db = new ProductContext();
             // Add order to DB.
             _db.Orders.Add(myOrder);
             _db.SaveChanges();
             // Get the shopping cart items and process them.
             using (Nation1.Logic.ShoppingCartActions usersShoppingCart = new Nation1.Logic.ShoppingCartActions())
             {
                 List <CartItem> myOrderList = usersShoppingCart.GetCartItems();
                 // Add OrderDetail information to the DB for each product purchased.
                 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.ProductId    = myOrderList[i].ProductId;
                     myOrderDetail.Quantity     = myOrderList[i].Quantity;
                     myOrderDetail.UnitPrice    = myOrderList[i].Product.UnitPrice;
                     myOrderDetail.RepeatPeriod = myOrderList[i].RepeatPeriod;
                     // Add OrderDetail 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);
                 ShipInfo.DataSource = orderList;
                 ShipInfo.DataBind();
                 // Display OrderDetails.
                 OrderItemList.DataSource = myOrderList;
                 OrderItemList.DataBind();
             }
         }
         else
         {
             Response.Redirect("CheckoutError.aspx?" + retMsg);
         }
     }
 }