public string GetRequest(Order orderItem) { string Prefix = config.Attributes["MVISPrefix"].Value.ToUpper(); string DNIS = config.Attributes["DNIS"].Value.ToUpper(); string NoSoliciting = config.Attributes["NO_SOLICITING"].Value.ToUpper(); string PaymentType = config.Attributes["PaymentType"].Value.ToUpper(); // AUTH OR SALE or BLANK string PaymentMethod = config.Attributes["PAYMENT_METHOD"].Value.ToUpper(); // CC or CK (Check) string EmpNumber = config.Attributes["EmpNumber"].Value.ToUpper(); string CustomerNumber = Prefix + "-" + orderItem.CustomerId; // BillingAddress.AddressId.ToString(); List <StateProvince> states = StateManager.GetAllStates(0); String strXml = String.Empty; string lineItems = String.Empty; orderItem.LoadAttributeValues(); using (StringWriter str = new StringWriter()) { using (XmlTextWriter xml = new XmlTextWriter(str)) { string sid = "default"; string afid = string.Empty; string cid = string.Empty; string adid = string.Empty; if (orderItem.CustomFiledInfo != null) { if (orderItem.CustomFiledInfo.Count > 0) { try { if (orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "afid") != null) { afid = orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "afid").FieldValue.ToString(); } if (orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "sid") != null) { sid = orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "sid").FieldValue.ToString(); } if (orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "adid") != null) { adid = orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "adid").FieldValue.ToString(); } if (orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "cid") != null) { cid = orderItem.CustomFiledInfo.Find(x => x.FieldName.ToLower() == "cid").FieldValue.ToString(); } } catch { } } } sid = orderItem.GetAttributeValue <string>("sid", string.Empty); xml.WriteStartElement("OrderImport"); xml.WriteStartElement("Order"); xml.WriteElementString("CUSTOMER_NUMBER", CustomerNumber); // Store Billing Address ID as Customer Number xml.WriteElementString("BILL_COMPANY", ""); xml.WriteElementString("BILL_FIRST_NAME", orderItem.CustomerInfo.BillingAddress.FirstName.Replace("&", "").Replace(" &", "").Replace("'", "")); xml.WriteElementString("BILL_LAST_NAME", orderItem.CustomerInfo.BillingAddress.LastName.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("BILL_ADDRESS1", orderItem.CustomerInfo.BillingAddress.Address1.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("BILL_ADDRESS2", orderItem.CustomerInfo.BillingAddress.Address2.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("BILL_CITY", orderItem.CustomerInfo.BillingAddress.City.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("CUSTOM_2", sid); xml.WriteElementString("CUSTOM_1", DynamicSidDAL.GetDynamicSidData("ProjectCode", sid, orderItem.OrderId)); StateProvince itemBillingStateProvince = states.FirstOrDefault(x => x.StateProvinceId == Convert.ToInt32(orderItem.CustomerInfo.BillingAddress.StateProvinceId)); if (itemBillingStateProvince != null) { xml.WriteElementString("BILL_STATE", itemBillingStateProvince.Abbreviation); } else { xml.WriteElementString("BILL_STATE", string.Empty); } xml.WriteElementString("BILL_ZIPCODE", orderItem.CustomerInfo.BillingAddress.ZipPostalCode); if (orderItem.CustomerInfo.BillingAddress.CountryId == 231) { xml.WriteElementString("COUNTRY", "USA"); } else if (orderItem.CustomerInfo.BillingAddress.CountryId == 46) { xml.WriteElementString("COUNTRY", "CAN"); } xml.WriteElementString("BILL_PHONE_NUMBER", orderItem.CustomerInfo.BillingAddress.PhoneNumber); xml.WriteElementString("BILL_PHONE_2", ""); xml.WriteElementString("EMAIL", orderItem.Email); xml.WriteElementString("NO_SOLICITING", NoSoliciting); xml.WriteElementString("SHIP_TO_COMPANY", ""); xml.WriteElementString("SHIP_TO_FIRST_NAME", orderItem.CustomerInfo.ShippingAddress.FirstName.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("SHIP_TO_LAST_NAME", orderItem.CustomerInfo.ShippingAddress.LastName.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("SHIP_TO_ADDRESS1", orderItem.CustomerInfo.ShippingAddress.Address1.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("SHIP_TO_ADDRESS2", orderItem.CustomerInfo.ShippingAddress.Address2.Replace("&", "").Replace("&", "").Replace("'", "")); xml.WriteElementString("SHIP_TO_CITY", orderItem.CustomerInfo.ShippingAddress.City.Replace("&", "").Replace("&", "").Replace("'", "")); StateProvince itemShippingStateProvince = states.FirstOrDefault(x => x.StateProvinceId == Convert.ToInt32(orderItem.CustomerInfo.ShippingAddress.StateProvinceId)); if (itemShippingStateProvince != null) { xml.WriteElementString("SHIP_TO_STATE", itemShippingStateProvince.Abbreviation); } else { xml.WriteElementString("SHIP_TO_STATE", string.Empty); } xml.WriteElementString("SHIP_TO_ZIPCODE", orderItem.CustomerInfo.ShippingAddress.ZipPostalCode); if (orderItem.CustomerInfo.ShippingAddress.CountryId == 231) { xml.WriteElementString("SCOUNTRY", "USA"); } else if (orderItem.CustomerInfo.ShippingAddress.CountryId == 46) { xml.WriteElementString("SCOUNTRY", "CAN"); } xml.WriteElementString("SHIP_TO_PHONE", orderItem.CustomerInfo.BillingAddress.PhoneNumber); xml.WriteElementString("SHIP_TO_PHONE2", ""); xml.WriteElementString("ORDER_DATE", orderItem.CreatedDate.ToString("MM/dd/yy")); xml.WriteElementString("ORDER_NUMBER", Prefix + orderItem.OrderId.ToString()); xml.WriteElementString("DNIS", DNIS); xml.WriteElementString("EMP_NUMBER", EmpNumber); if (!string.IsNullOrEmpty(orderItem.CreditInfo.TransactionCode)) { xml.WriteElementString("PAYMENT_TYPE", PaymentType); // AUTH or SALE or Blank xml.WriteElementString("AMOUNT_ALREADY_PAID", (orderItem.Total).ToString("N2")); if (orderItem.CreditInfo.CreditCardNumber.Equals("4000000000000002") && string.IsNullOrEmpty(orderItem.CreditInfo.TransactionCode)) { xml.WriteElementString("MERCHANT_TRANSACTION_ID", "Test"); } else { xml.WriteElementString("MERCHANT_TRANSACTION_ID", orderItem.CreditInfo.TransactionCode); } } xml.WriteElementString("PAYMENT_METHOD", PaymentMethod); // "CC" for credit card or "CK" for check/check by phone xml.WriteElementString("CC_TYPE", GetCCType(orderItem.CreditInfo.CreditCardName)); xml.WriteElementString("CC_NUMBER", orderItem.CreditInfo.CreditCardNumber); xml.WriteElementString("EXP_DATE", orderItem.CreditInfo.CreditCardExpired.ToString("MM/yy")); xml.WriteElementString("CVV_CODE", orderItem.CreditInfo.CreditCardCSC); xml.WriteElementString("SHIPPING_METHOD", "REG"); xml.WriteElementString("SHIPPING_CARRIER", ""); // We have both Trial as well as One Pay “In the case set Use prices and use shipping to "N." string useShipping = config.Attributes["useShipping"].Value.ToUpper(); string usePrices = config.Attributes["usePrices"].Value.ToUpper(); string useTaxes = config.Attributes["useTaxes"].Value.ToUpper(); xml.WriteElementString("USE_SHIPPING", useShipping); xml.WriteElementString("SHIPPING", Math.Round(orderItem.ShippingCost + orderItem.AdditionalShippingCharge, 2).ToString("N2")); xml.WriteElementString("ORDER_STATE_SALES_TAX", Math.Round(orderItem.Tax, 2).ToString("N2")); xml.WriteElementString("USE_PRICES", usePrices); xml.WriteElementString("USE_TAXES", useTaxes); xml.WriteElementString("ORDER_SUBTOTAL", Math.Round(orderItem.FullPriceSubTotal - orderItem.DiscountAmount, 2).ToString("N2")); xml.WriteElementString("ORDER_TOTAL", Math.Round(orderItem.FullPriceSubTotal + orderItem.ShippingCost + orderItem.AdditionalShippingCharge + orderItem.Tax - orderItem.DiscountAmount, 2).ToString("N2")); int count = 1; SkuManager skuManager = new SkuManager(); string fieldnamePRODUCT = "PRODUCT"; // string fieldnameDESCRIPTION = "DESCRIPTION" + count.ToString(); string fieldnameQUANTITY = "QUANTITY"; string fieldnamePRICE = "PRICE"; string fieldnameDISCOUNT = "DISCOUNT"; string fieldnameCOUPON_CODE = "COUPON_CODE"; string fieldnameTAXRATE = "TAX_RATE"; string fieldnamePAIDPRICE = "PAID_PRICE_PROD"; string fieldnameSHIPPING = "SHIPPING"; //PAID_PRICE Order orderCouponInfo = CSResolve.Resolve <IOrderService>().GetOrderDetails(orderItem.OrderId, true); foreach (Sku Item in orderItem.SkuItems) { Sku sku = skuManager.GetSkuByID(Item.SkuId); sku.LoadAttributeValues(); if (!sku.GetAttributeValue <bool>("FreeSku", false)) { string counter = zeropad(count.ToString(), 2); fieldnamePRODUCT = "PRODUCT" + counter; fieldnameQUANTITY = "QUANTITY" + counter; fieldnamePRICE = "PRICE" + counter; fieldnameDISCOUNT = "DISCOUNT" + counter; fieldnameCOUPON_CODE = "COUPON_CODE" + counter; fieldnamePAIDPRICE = "PAID_PRICE_PROD" + counter; fieldnameTAXRATE = "TAX_RATE" + counter; fieldnameSHIPPING = "SHIPPING" + counter; xml.WriteElementString(fieldnamePRODUCT, GetSkuCode(sku.SkuId, orderItem.CustomerInfo.ShippingAddress.CountryId)); xml.WriteElementString(fieldnameQUANTITY, Item.Quantity.ToString()); xml.WriteElementString(fieldnamePRICE, sku.FullPrice.ToString("N2")); xml.WriteElementString(fieldnameTAXRATE, SiteBasePage.CalculateTaxRate(orderItem.OrderId, Item.FullPrice).ToString()); if (count == 1) { if (orderCouponInfo.DiscountCode.Length > 0) { xml.WriteElementString(fieldnamePAIDPRICE, ((sku.InitialPrice * Item.Quantity) - orderCouponInfo.DiscountAmount).ToString("N2")); xml.WriteElementString(fieldnameDISCOUNT, orderCouponInfo.DiscountAmount.ToString("n2")); xml.WriteElementString(fieldnameCOUPON_CODE, orderCouponInfo.DiscountCode); } else { xml.WriteElementString(fieldnamePAIDPRICE, (sku.InitialPrice * Item.Quantity).ToString("N2")); xml.WriteElementString(fieldnameDISCOUNT, ""); xml.WriteElementString(fieldnameCOUPON_CODE, ""); } xml.WriteElementString(fieldnameSHIPPING, orderItem.ShippingCost.ToString("N2")); xml.WriteElementString("PAID_SHIPPING_PROD01", orderItem.ShippingCost.ToString("N2")); xml.WriteElementString("PAID_TAX_PROD01", Math.Round(orderItem.Tax, 2).ToString("N2")); } else { xml.WriteElementString(fieldnamePAIDPRICE, (sku.InitialPrice * Item.Quantity).ToString("N2")); xml.WriteElementString(fieldnameDISCOUNT, ""); xml.WriteElementString(fieldnameCOUPON_CODE, ""); } count++; } } //if (orderCouponInfo.DiscountCode.Length > 0) //{ // string counter = zeropad(count.ToString(), 2); // fieldnamePRODUCT = "PRODUCT" + counter; // fieldnameQUANTITY = "QUANTITY" + counter; // fieldnamePRICE = "PRICE" + counter; // fieldnameDISCOUNT = "DISCOUNT" + counter; // fieldnameCOUPON_CODE = "COUPON_CODE" + counter; // //fieldnamePAIDPRICE = "PAID_PRICE_PROD" + counter; // //fieldnameTAXRATE = "TAX_RATE" + counter; // //fieldnameSHIPPING = "SHIPPING" + counter; // xml.WriteElementString(fieldnamePRODUCT, orderCouponInfo.DiscountCode); // xml.WriteElementString(fieldnameQUANTITY, "1"); // xml.WriteElementString(fieldnamePRICE, "0"); // xml.WriteElementString(fieldnameDISCOUNT, orderCouponInfo.DiscountAmount.ToString("n2")); // xml.WriteElementString(fieldnameCOUPON_CODE, orderCouponInfo.DiscountCode); // //xml.WriteElementString(fieldnameTAXRATE, "0"); // //xml.WriteElementString(fieldnamePAIDPRICE, "0"); // //if (count == 1) // //{ // // //xml.WriteElementString(fieldnameSHIPPING, orderItem.ShippingCost.ToString("N2")); // // xml.WriteElementString("PAID_SHIPPING_PROD01", orderItem.ShippingCost.ToString("N2")); // // xml.WriteElementString("PAID_TAX_PROD01", Math.Round(orderItem.Tax, 2).ToString("N2")); // //} // count++; //} xml.WriteEndElement(); xml.WriteStartElement("Settings"); xml.WriteElementString("MATCH_FIRST_NAME", ""); xml.WriteElementString("MATCH_LAST_NAME", ""); xml.WriteElementString("MATCH_ADDRESS", ""); xml.WriteElementString("MATCH_ADDRESS_2", ""); xml.WriteElementString("MATCH_CITY", ""); xml.WriteElementString("MATCH_STATE", ""); xml.WriteElementString("MATCH_ZIP", ""); xml.WriteElementString("MATCH_PHONE", ""); xml.WriteElementString("MATCH_EMAIL", ""); xml.WriteElementString("MATCH_CLIENT", ""); xml.WriteElementString("MATCH_CAMPAIGN", ""); xml.WriteElementString("API_LAYOUT_VERSION", "2"); xml.WriteElementString("TAX_CALCULATION_METHOD", "ITEM"); xml.WriteEndElement(); xml.WriteEndElement(); strXml = str.ToString(); } } return(strXml); }
protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (!IsPostBack) { if (CSBasePage.GetClientDeviceType() == CSBusiness.Enum.DeviceType.Mobile) { OrderHelper.MobileRedirect(); } string version = OrderHelper.GetVersionName().ToLower(); string strTermUrl = ""; strTermUrl = Request.Url.ToString().ToLower().Replace(":81", ""); OrderHelper.RedirectDesktop(); OrderHelper.SetDynamicLandingPageVersion(OrderHelper.GetVersionName(), ClientOrderData); // versionName used in Header.ascx string versioName = OrderHelper.GetVersionName().ToLower(); var qs = HttpUtility.ParseQueryString(Request.QueryString.ToString()); if (Request["sid"] == null || Request["sid"].Equals("")) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } else if (Response.Cookies["sid"] != null && Response.Cookies["sid"].Value != null && Response.Cookies["sid"].Value.Equals("1")) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } else if (Request["sid"] != null && DynamicSidDAL.GetDynamicsid(Request["sid"].ToLower()).Count == 0) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } else if (Request["sid"] != null && DynamicSidDAL.GetDynamicsid(Request["sid"].ToLower()).Count == 0 && !Request["sid"].ToLower().Equals(OrderHelper.GetDynamicVersionData("sid").ToLower())) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Remove("sid"); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } } }
protected override void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); OrderHelper.SetDynamicLandingPageVersion(OrderHelper.GetVersionName(), ClientOrderData); if (CartContext != null && CartContext.RequestParam.Equals("")) { if (Request.QueryString.Count > 0) { CartContext.RequestParam = CommonHelper.GetQueryString(Request.RawUrl); } else if (Response.Cookies["sid"] != null && Response.Cookies["sid"].Value != null) { CartContext.RequestParam = "?sid=" + Response.Cookies["sid"].Value; } } ClientCartContext clientData = (ClientCartContext)Session["ClientOrderData"]; if (!Page.IsPostBack) { string version = OrderHelper.GetVersionName().ToLower(); string strTermUrl = ""; strTermUrl = Request.Url.ToString().ToLower().Replace(":81", ""); //if (version.Equals("mobile_b2")) //{ // Response.RedirectPermanent(strTermUrl.Replace("/mobile_b2/", "/mobile_a1/")); //} SitePreference sitePrefCache = CSFactory.GetCacheSitePref(); if (!sitePrefCache.GeoLocationService) { string GeoCoountry = ""; GeoCoountry = CommonHelper.GetGeoTargetLocation(CommonHelper.IpAddress(HttpContext.Current)); } if (Request["versionlp"] != null) { Version = Request["versionlp"].ToString(); if (clientData.OrderAttributeValues != null) { if (clientData.OrderAttributeValues.ContainsKey("DynamicVerionName")) { Version = clientData.OrderAttributeValues["DynamicVerionName"].Value; } else { clientData.OrderAttributeValues.Add("DynamicVerionName", new AttributeValue(Version)); } } } OrderHelper.RedirectMobile(); OrderHelper.SetDynamicLandingPageVersion(Version, clientData); if (CartContext != null && CartContext.RequestParam.Equals("")) { if (Request.QueryString.Count > 0) { CartContext.RequestParam = CommonHelper.GetQueryString(Request.RawUrl); } else if (Response.Cookies["sid"] != null) { CartContext.RequestParam = "?sid=" + Response.Cookies["sid"].Value; } } else if (CartContext != null && Request.QueryString.Count > 0 && !CartContext.RequestParam.ToLower().Equals(CommonHelper.GetQueryString(Request.RawUrl).ToLower())) { CartContext.RequestParam = CommonHelper.GetQueryString(Request.RawUrl); } OrderHelper.SetDynamicLandingPageVersion(OrderHelper.GetVersionName(), ClientOrderData); var qs = HttpUtility.ParseQueryString(Request.QueryString.ToString()); if (Request["sid"] != null) { string sid = Request["sid"].ToLower(); string newSid = OrderHelper.getMobileSid(sid); if (!sid.Equals(newSid)) { CommonHelper.SetCookie("sid", newSid, new TimeSpan(1, 24, 1, 1)); qs.Remove("sid"); qs.Set("sid", newSid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } // versionName used in Header.ascx string versioName = OrderHelper.GetVersionName().ToLower(); if (Request["sid"] == null || Request["sid"].Equals("")) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } else if (Response.Cookies["sid"] != null && Response.Cookies["sid"].Value != null && Response.Cookies["sid"].Value.Equals("1")) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } else if (Request["sid"] != null && DynamicSidDAL.GetDynamicsid(Request["sid"].ToLower()).Count == 0) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } else if (Request["sid"] != null && DynamicSidDAL.GetDynamicsid(Request["sid"].ToLower()).Count == 0 && !Request["sid"].ToLower().Equals(OrderHelper.GetDynamicVersionData("sid").ToLower())) { string sid = OrderHelper.GetDynamicVersionData("sid"); if (sid.Length > 0) { CommonHelper.SetCookie("sid", sid, new TimeSpan(1, 24, 1, 1)); qs.Remove("sid"); qs.Set("sid", sid); if (Request.RawUrl.Contains("?")) { Response.Redirect(Request.RawUrl.Substring(0, Request.RawUrl.IndexOf('?')) + "?" + qs); } else { Response.Redirect(Request.RawUrl + "?" + qs); } } } } }
public string GetDynamicSidData(string data) { return(DynamicSidDAL.GetDynamicSidData(data)); }