当前位置: 首页>>代码示例>>C#>>正文


C# Address.MatchOrSave方法代码示例

本文整理汇总了C#中Address.MatchOrSave方法的典型用法代码示例。如果您正苦于以下问题:C# Address.MatchOrSave方法的具体用法?C# Address.MatchOrSave怎么用?C# Address.MatchOrSave使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Address的用法示例。


在下文中一共展示了Address.MatchOrSave方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Proceed

        public ActionResult Proceed() {
            HttpContext ctx = System.Web.HttpContext.Current;
            Customer cust = ViewBag.customer;
            cust.GetFromStorage(ctx);
            Cart cart = cust.Cart;

            Settings settings = ViewBag.settings;
            Address billing = new Address();
            Address shipping = new Address();
            bool sameAsBilling = (Request.Form["same"] != null) ? true : false;
            string email = Request.Form["email"] ?? "";
            try {
                #region Get Or Create Customer
                // Build out our Customer object
                cust = cust.GetCustomerByEmail(email);
                if (cust == null || cust.ID == 0) {
                    cust = new Customer {
                        email = Request.Form["email"],
                        fname = Request.Form["fname"],
                        lname = Request.Form["lname"],
                        phone = Request.Form["phone"],
                        password = UDF.EncryptString(new PasswordGenerator().Generate()),
                        dateAdded = DateTime.UtcNow,
                        isSuspended = 0,
                        isValidated = 0,
                        receiveNewsletter = (Request.Form["receiveNewsletter"] != null) ? 1 : 0,
                        receiveOffers = (Request.Form["receiveOffers"] != null) ? 1 : 0,
                        validator = Guid.NewGuid()
                    };
                    cust.ValidateEmail(Request.Form["email"], Request.Form["email"]);
                    string[] nullables = new string[] { "phone", "issuspended", "receivenewsletter", "receiveoffers", "isvalidated", "billingid", "shippingid", "Address", "Address1", "cart", "id", "orders" };
                    UDF.Sanitize(cust, nullables);
                    cust.Save();
                }
                cart.UpdateCart(ctx, cust.ID);
                #endregion

                #region Address Initialization
                // Build out our Billing object
                billing = new Address {
                    first = Request.Form["bfirst"],
                    last = Request.Form["blast"],
                    street1 = Request.Form["bstreet1"],
                    street2 = Request.Form["bstreet2"],
                    city = Request.Form["bcity"],
                    postal_code = Request.Form["bzip"],
                    residential = (Request.Form["bresidential"] == null) ? false : true,
                    cust_id = cust.ID,
                    active = true
                };

                // Build out our Shipping object
                shipping = new Address {
                    first = Request.Form["sfirst"],
                    last = Request.Form["slast"],
                    street1 = Request.Form["sstreet1"],
                    street2 = Request.Form["sstreet2"],
                    city = Request.Form["scity"],
                    postal_code = Request.Form["szip"],
                    residential = (Request.Form["sresidential"] == null) ? false : true,
                    cust_id = cust.ID,
                    active = true
                };
                #endregion


                #region Address state validation
                // Validate billing state
                try {
                    billing.state = Convert.ToInt32(Request.Form["bstate"]);
                } catch (Exception) {
                    throw new Exception("You must select a billing state/province.");
                }
                // Validate shipping state
                if (!sameAsBilling || !billing.Equals(shipping)) {
                    try {
                        shipping.state = Convert.ToInt32(Request.Form["sstate"]);
                    } catch (Exception) {
                        throw new Exception("You must select a shipping state/province.");
                    }
                }
                #endregion

                #region Get Or Create Address in Database
                billing.cust_id = cust.ID;
                shipping.cust_id = cust.ID;
                billing.MatchOrSave();
                if (sameAsBilling || billing.Equals(shipping)) {
                    shipping = billing;
                } else {
                    shipping.MatchOrSave();
                }
                if (cust.billingID == 0 || cust.shippingID == 0) {
                    cust.SaveAddresses(billing, shipping);
                }
                #endregion
                cart.SetBilling(billing.ID);
                cart.SetShipping(shipping.ID);
                cart.BindAddresses();
                if (cart.Shipping.isPOBox()) {
//.........这里部分代码省略.........
开发者ID:janiukjf,项目名称:CURTeCommerce,代码行数:101,代码来源:CartController.cs


注:本文中的Address.MatchOrSave方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。