本文整理汇总了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()) {
//.........这里部分代码省略.........