示例#1
0
 protected void Session_Start(Object sender, EventArgs e)
 {
     OTCShoppingCart cart = new OTCShoppingCart(Session.SessionID);
     OTCUser user = new OTCUser();
     Session["shoppingCartId"] = cart.AddNew();
     Session["user"] = new OTCUser();
     Session["SID"] = 0;
     Session["WantsMembership"] = true;
     Session["viewedMemberShip"] = false;
     Session.Timeout = 240;
 }
示例#2
0
        protected void btnCheckout_Click(object sender, System.EventArgs e)
        {
            if(!(doValidate()))
                return;

            int sessionOrderId = Convert.ToInt32(Session["SID"]);
            ITC itc = new ITC();
            OTCShoppingCart cart	= new OTCShoppingCart(this.m_shoppingCartId);

            string promotionKey = Request.Form["promotion"].Length > 0 ? Request.Form["promotion"] : "";
            if (promotionKey.Length > 0)
            {
                //If we have a promotion, apply here & the next instance will recognize it. We could
                //have a function that would reload the shopping cart? This is much easier for the sake of time.
                cart.ApplyPromotion(promotionKey, this.m_shoppingCartId);
            }

            //BG - Added swap product sku for international and canadian
            string shippingType = String.Empty;
            if (isInternationalAutoShip()) shippingType = "International";
            else if (isCanadianAutoShip()) shippingType = "Canadian";

            if (!String.IsNullOrEmpty(shippingType))
            {
                foreach (var item in cart.CartItems) swapProduct(shippingType, item.ProductID);
            }

            //refresh cart
            cart = new OTCShoppingCart(this.m_shoppingCartId);

            OTCSalesOrder order		= new OTCSalesOrder();
            order.ShoppingCartId    = cart.ShoppingCartID;
            order.OTCPromotionId    = cart.OTCPromotionId;
            order.Address			= this.txtAddress.Text;
            order.City				= this.txtCity.Text;
            order.Country           = this.ddCountry.SelectedItem.Text;
            order.EmailAddress		= this.txtEmailAddress.Text;
            order.FirstName			= this.txtFirstName.Text;
            order.LastName			= this.txtLastName.Text;
            order.Phone             = this.txtPhone.Text;
            order.OrderCost			= cart.CartTotal;
            order.SalesTax          = this.m_salesTax;
            order.OTCSiteId			= itc.SiteId;
            order.ShippingAddress	= this.txtShippingAddress.Text;
            order.ShippingCity		= this.txtShippingCity.Text;
            order.ShippingCost		= getShippingCost(this.ddShippingMethods.SelectedItem.Value);
            order.ShippingFirstName = this.txtShippingFirstName.Text;
            order.ShippingLastName	= this.txtShippingLastName.Text;
            //order.ShippingState		= this.txtShippingStateProvince.Text;
            order.ShippingState     = this.getShippingStateOrProvince();
            order.ShippingZip		= this.txtShippingZipPostalCode.Text; //bug fix
            //order.State				= this.ddState.SelectedIndex > 0 ? this.ddState.SelectedItem.Text : "";
            order.State             = this.getBillingStateOrProvince();
            order.ShippingPhone     = this.txtShippingPhone.Text;
            order.Zip				= this.txtZipPostalCode.Text;
            order.ShippingCountryId = Convert.ToInt32(this.ddShippingCountry.SelectedValue);
            order.ShippingCountry   = this.ddShippingCountry.SelectedItem.Text;
            order.ShippingMethod    = this.ddShippingMethods.SelectedItem.Text;
            order.ShippingEmailAddress = this.txtShippingEmailAddress.Text;
            order.Comments			= this.txtComments.Value.Length > 0 ? this.txtComments.Value : "";
            int id = order.Add();
            OTCCreditCard cc        = new OTCCreditCard();
            cc.OTCSalesOrderId      = order.OTCSalesOrderId;
            cc.OTCSiteMemberId      = order.OTCSiteMemberId;
            cc.CardNumber           = this.txtCardNumber.Text;
            cc.CardType             = this.ddCCType.SelectedValue;
            cc.ExpirationMonth      = this.ddMonth.SelectedValue;
            cc.ExpirationYear       = this.ddYear.SelectedValue;
            cc.IISSessionId         = Session.SessionID;
            cc.Add();

            if(Convert.ToBoolean(Session["WantsMemberShip"]))
            {
                OTCPromotion.AddMemberPromotion(order.OTCSiteMemberId,1);
            }

            //if(this.txtComments.Value.Length > 0)
            //{
            //	OTCContact contact = new OTCContact();
            //	contact.SiteId = 7;
            //	contact.EmailAddress = this.txtEmailAddress.Text;
            //	contact.FirstName = this.txtFirstName.Text;
            //	contact.LastName = this.txtLastName.Text;
            //	contact.Comment1 = this.txtComments.Value;
            //	contact.Add();
            //}

            try
            {
                string sql = "";
                this.m_db.Open();
                string howDidYouHear = Request.Form["txtHowDidYouHear"];

                if(howDidYouHear.Length > 0)
                {
                    sql = "spInsertOTCSiteMemberQuestionAnswerAffiliation "
                        + "@OTCSiteMemberId = " + order.OTCSiteMemberId + ","
                        + "@OTCSiteMemberQuestionId = 1,"
                        + "@OTCSiteMemberAnswerID = 1,"
                        + "@AnswerText = " + OTCDatabase.SqlFormat(howDidYouHear)
                        ;
                    this.m_db.SendSQLUpdate(sql);
                }

                foreach(string s in Request.Form.ToString().Split('&')){
                    if(s.IndexOf("mq_") > -1){
                        int questionId = Convert.ToInt32(s.Split('=')[0].Replace("mq_",""));
                        int answerId   = Convert.ToInt32(s.Split('=')[1]);
                        sql = "spInsertOTCSiteMemberQuestionAnswerAffiliation "
                            + "@OTCSiteMemberId = " + order.OTCSiteMemberId + ","
                            + "@OTCSiteMemberQuestionId = " + questionId + ","
                            + "@OTCSiteMemberAnswerID = " + answerId
                            ;
                        this.m_db.SendSQLUpdate(sql);
                    }
                }

                sql = "spUpdateCartAbandonmentOrderID @sessionId = " + OTCDatabase.SqlFormat(Session.SessionID);
                sql += ",@cartId = " + cart.ShoppingCartID;
                sql += ",@OrderId = " + order.OTCSalesOrderId;
                this.m_db.SendSQLUpdate(sql);

                this.m_db.ReleaseConnection();
            }

            catch(Exception ex) {/*do nothing*/}
            OTCEncryption crypt = new OTCEncryption(7);
            cart = new OTCShoppingCart(Session.SessionID);
            Session["shoppingCartId"]   = cart.AddNew();

            Session["SID"] = 0;

            if (Page.IsValid)
            {
                Session["SessionID"] = Session.SessionID;
                Response.Redirect("../order/creditcardpost.aspx?OID=" + id.ToString() + "&_ga=" + Request.QueryString["_ga"] + "&site=" + Request.QueryString["site"]);

            }
        }
示例#3
0
        /// <summary>
        /// 
        /// </summary>
        private void resetForm()
        {
            int salesOrderId = Convert.ToInt32(Session["SID"]);
            OTCSalesOrder salesOrder = new OTCSalesOrder(salesOrderId);
            OTCShoppingCart cart = new OTCShoppingCart(Session.SessionID);
            Session["shoppingCartId"]   = cart.AddNew();
            cart = new OTCShoppingCart(Convert.ToInt32(Session["shoppingCartId"]));
            OTCShoppingCartItem item = new OTCShoppingCartItem();
            string sql = "SELECT * FROM OTCSalesOrderDetail WHERE OTCSalesOrderId = " + salesOrder.OTCSalesOrderId;
            this.m_db.Open();
            DataTable dt = this.m_db.GetDataset(sql).Tables[0];
            this.m_db.ReleaseConnection();
            foreach(DataRow dr in dt.Rows)
            {
                item.ProductID = Convert.ToInt32(dr["OTCProductId"]);
                item.ProductPrice = Convert.ToDouble(dr["ItemPrice"]);
                item.ItemCount = Convert.ToInt32(dr["ItemCount"]);
                OTCProduct p = new OTCProduct(item.ProductID);
                if(p.CategoryId == 21)
                    Session["site"] = "bm";
                else
                    Session["site"] = "bw";
                cart.AddCartItem(item);
            }
            OTCSiteMember m = new OTCSiteMember(salesOrder.OTCSiteMemberId);
            OTCCreditCard c = new OTCCreditCard(salesOrder.OTCSalesOrderId);

            if(Page.IsPostBack)
                return;

            this.txtAddress.Text = m.Address;
            //this.txtBillingStreet.Text = m.Address;
            this.txtCardNumber.Text = c.CardNumber;
            this.txtCity.Text = m.City;
            this.txtComments.Value = salesOrder.Comments;
            this.txtEmailAddress.Text = m.EmailAddress;
            this.txtFirstName.Text = m.FirstName;
            this.txtLastName.Text = m.LastName;
            this.txtPhone.Text = salesOrder.Phone;
            this.txtZipPostalCode.Text = m.Zip;
            this.txtShippingAddress.Text = salesOrder.ShippingAddress;
            this.txtShippingCity.Text = salesOrder.City;
            this.txtShippingEmailAddress.Text = salesOrder.ShippingEmailAddress;
            this.txtShippingFirstName.Text = salesOrder.ShippingFirstName;
            this.txtShippingLastName.Text = salesOrder.LastName;
            this.txtShippingPhone.Text = salesOrder.Phone;
            this.txtShippingEmailAddress.Text = salesOrder.EmailAddress;
            this.txtShippingStateProvince.Text = salesOrder.ShippingState;
            this.txtShippingZipPostalCode.Text = salesOrder.ShippingZip;

            this.ddState.SQL         = "spGetOTCState";
            this.ddState.TextField   = "StateName";
            this.ddState.IdField     = "StateAbbreviation";
            this.ddState.IntroText   = "Please Select";
            this.ddState.Fill();

            foreach(ListItem i in this.ddState.Items){
                if(i.Text == salesOrder.State){
                    i.Selected = true;
                    break;
                }
            }

            bindStateShipControl();

            foreach (ListItem i in this.ddStateShip.Items)
            {
                if (i.Text == salesOrder.State)
                {
                    i.Selected = true;
                    break;
                }
            }

            this.ddCountry.IntroText = "Please Select";
            this.ddCountry.SQL       = "spGetOTCCountry";
            this.ddCountry.TextField = "CountryName";
            this.ddCountry.IdField   = "CountryAbbreviation";
            this.ddCountry.Fill();

            foreach(ListItem i in this.ddCountry.Items){
                if(i.Text == salesOrder.Country){
                    i.Selected = true;
                    break;
                }

                if (i.Value == "United States")
                    i.Attributes.Add("style", "color:Blue");

            }

            this.ddShippingCountry.IntroText = "Please Select";
            this.ddShippingCountry.SQL       = "spGetOTCCountry";
            this.ddShippingCountry.TextField = "CountryName";
            this.ddShippingCountry.IdField   = "OTCCountryId";
            this.ddShippingCountry.Fill();

            foreach(ListItem i in this.ddShippingCountry.Items){
                if(i.Text == salesOrder.Country){
                    i.Selected = true;
                    break;
                }
            }

            this.fillCCLists();
            this.fillShippingMethods();

            foreach(ListItem i in this.ddCCType.Items){
                if(i.Text== c.CardType){
                    i.Selected = true;
                    break;
                }
            }

            foreach(ListItem i in this.ddMonth.Items){
                if(i.Value == c.ExpirationMonth){
                    i.Selected = true;
                    break;
                }
            }

            foreach(ListItem i in this.ddYear.Items){
                if(i.Value == c.ExpirationYear){
                    i.Selected = true;
                    break;
                }
            }

            double shippingRate = this.getShippingRate();
            this.ddShippingMethods.Items.Clear();
            ListItem it = new ListItem();
            it.Text  = "S/H in US - $" + shippingRate;
            if(salesOrder.ShippingMethod == it.Text)
                it.Selected = true;
            it.Value = "10.99";
            this.ddShippingMethods.Items.Add(it);

            it = new ListItem();
            it.Text  = "Rush S/H in US - " + (shippingRate + 9.99).ToString();
            it.Value = "19.99";
            if(salesOrder.ShippingMethod == it.Text)
                it.Selected = true;
            this.ddShippingMethods.Items.Add(it);

            it= new ListItem();
            it.Text = "S/H to Canada - $" + (shippingRate + 5.00).ToString();
            it.Value = (shippingRate + 5.00).ToString();
            if(salesOrder.ShippingMethod == it.Text)
                it.Selected = true;
            this.ddShippingMethods.Items.Add(it);

            it = new ListItem();
            it.Text  = "S/H to other countries and the Carribean-$30.99";
            it.Value = "30.99";
            if(salesOrder.ShippingMethod == it.Text)
                it.Selected = true;
            this.ddShippingMethods.Items.Add(it);
        }