ResponsivePayment_GiftingProducts() public method

public ResponsivePayment_GiftingProducts ( OrderVariables oVars, bool option = false, string template = "" ) : string
oVars OrderVariables
option bool
template string
return string
        public ActionResult Payment_399()
        {
            ViewData["StatesList"] = UtilitiesModels.GetStateNameList();
            ViewData["MonthList"] = UtilitiesModels.GetMonthNameList();
            ViewData["YearList"] = UtilitiesModels.GetCardExpiryYearList();

            OrderVariables oVariables = new OrderVariables();
            OrderProcess oProcess = new OrderProcess();
            CommonModels oComm = new CommonModels();

            string cart_details, conf_pg_tac, total = "";
            string shipall = "false";
            string template = "";
            string pixel = "";
            try
            {
                if (Session["NewSBMDetails"] != null)
                {
                    oVariables = (OrderVariables)Session["NewSBMDetails"];
                    Dictionary<string, string> d = oComm.GetOfferCreatives(oVariables);
                    ViewBag.HeaderImageSrc = oComm.GetDictionaryValue("payment_header", d);
                    if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                    if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                    string cartId = oVariables.cart_id.ToString();
                    conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                    cart_details = oComm.ResponsivePayment_GiftingProducts(oVariables, Convert.ToBoolean(shipall), template);
                    total = String.Format("{0:c}", oVariables.total_amt + oVariables.tax_amt + oVariables.total_sah);
                    ViewBag.IsBonusSelected = false;
                    if (oVariables.bonus_option == true)
                    {
                        ViewBag.IsBonusSelected = true;
                    }
                    ViewBag.CartSummary = cart_details;
                    ViewBag.Cart = cartId;
                    ViewBag.Total = total;
                    ViewBag.ConfPgTAC = conf_pg_tac;
                    return View();
                }
                else
                {
                    return RedirectToAction("Three_99", "Elmo", routeValues: ViewContextExtensions.OptionalParamters(Request.QueryString));
                }
            }
            catch (Exception ex)
            {
                oComm.SendEmail("Exception Raised in EM Landers Payment Page - " + ex.Message.ToString());
                return View();
            }
            finally
            {
                oComm = null;
                oVariables = null;
            }
        }
        public ActionResult Payment_399(FormCollection form, ShippingModels.BillingDetails billing)
        {
            ViewData["StatesList"] = UtilitiesModels.GetStateNameList();
            ViewData["MonthList"] = UtilitiesModels.GetMonthNameList();
            ViewData["YearList"] = UtilitiesModels.GetCardExpiryYearList();

            OrderVariables oVariables = new OrderVariables();
            OrderProcess oProcess = new OrderProcess();
            CommonModels oComm = new CommonModels();

            string cart_details, conf_pg_tac, total = "";
            string shipall = "false";
            string template = "";
            string pixel = "";

            if (!string.IsNullOrEmpty(billing.SecurityCaptch) && Session["rndtext"] != null)
            {
                string strCaptch = Session["rndtext"] as string;
                if (!strCaptch.Equals(billing.SecurityCaptch))
                {
                    ViewBag.ErrorMsg = "Invalid Security Captcha.";
                    //return View();
                }
            }
            else
            {
                //if (string.IsNullOrEmpty(billing.SecurityCaptch))
                //{
                ViewBag.ErrorMsg = "Security Captcha is required.";
                // return View();
                //}
            }

            if (Session["ShippingDetails"] != null)
                oVariables = Session["ShippingDetails"] as OrderVariables;

            try
            {
                if (Session["NewSBMDetails"] != null)
                {
                    oVariables = (OrderVariables)Session["NewSBMDetails"];

                    if (oVariables != null)
                    {
                        if (ViewBag.ErrorMsg != null && ViewBag.ErrorMsg != "")
                        {
                            //Setting values if page is getting back to the payment view only.
                            Dictionary<string, string> d = oComm.GetOfferCreatives(oVariables);
                            ViewBag.HeaderImageSrc = oComm.GetDictionaryValue("payment_header", d);
                            if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                            if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                            string cartId = oVariables.cart_id.ToString();
                            conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                            cart_details = oComm.ResponsivePayment_GiftingProducts(oVariables, Convert.ToBoolean(shipall), template);
                            total = String.Format("{0:c}", oVariables.total_amt + oVariables.tax_amt + oVariables.total_sah);
                            ViewBag.IsBonusSelected = false;
                            if (oVariables.bonus_option == true)
                            {
                                ViewBag.IsBonusSelected = true;
                            }
                            ViewBag.CartSummary = cart_details;
                            ViewBag.Cart = cartId;
                            ViewBag.Total = total;
                            ViewBag.ConfPgTAC = conf_pg_tac;

                            return View();
                        }

                        oVariables = ShippingModels.AssignBillingToOrderVariable(oVariables, billing);
                        oVariables = oProcess.OrderSubmit(oVariables);
                        if (oVariables != null)
                        {
                            if (oVariables.order_id > 0)
                            {
                                Session["NewSBMDetails"] = null;
                                Session.Add("NewOrderDetails", oVariables);
                                return RedirectToAction("Confirmation", "Home");
                            }
                            else
                            {
                                if (oVariables.err.Length > 0)
                                {
                                    if ((oVariables.order_status == "X") || (oVariables.order_status == "F"))
                                    {
                                        Session["NewSBMDetails"] = null;
                                        Session.Add("NewOrderDetails", oVariables);
                                        return RedirectToAction("orderstatus", "Home");
                                    }
                                    else
                                    {
                                        Session.Add("NewSBMDetails", oVariables);
                                        ViewBag.ErrorMsg = oVariables.err;
                                        oVariables.err = oVariables.err.Replace("<br>", "\\r\\n");
                                    }
                                }
                                else if (oVariables.isSoftDeclined)
                                {
                                    Session["NewSBMDetails"] = null;
                                    return RedirectToAction("ThankYou", "home");
                                }
                                //Setting values if page is getting back to the payment view only.
                                Dictionary<string, string> d = oComm.GetOfferCreatives(oVariables);
                                ViewBag.HeaderImageSrc = oComm.GetDictionaryValue("payment_header", d);
                                if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                                if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                                string cartId = oVariables.cart_id.ToString();
                                conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                                cart_details = oComm.ResponsivePayment_GiftingProducts(oVariables, Convert.ToBoolean(shipall), template);
                                total = String.Format("{0:c}", oVariables.total_amt + oVariables.tax_amt + oVariables.total_sah);
                                ViewBag.IsBonusSelected = false;
                                if (oVariables.bonus_option == true)
                                {
                                    ViewBag.IsBonusSelected = true;
                                }
                                ViewBag.CartSummary = cart_details;
                                ViewBag.Cart = cartId;
                                ViewBag.Total = total;
                                ViewBag.ConfPgTAC = conf_pg_tac;
                            }
                        }
                        else
                        {
                            return RedirectToAction("orderstatus", "Home");
                        }
                    }
                    return View();
                }
                else
                {
                    return RedirectToAction("Three_99", "Elmo", routeValues: ViewContextExtensions.OptionalParamters(Request.QueryString));
                }

            }
            catch (Exception ex)
            {
                oComm.SendEmail("Exception Raised in EM Landers Payment Page (Submit) - " + ex.Message.ToString());
                return View();
            }
            finally
            {
                oComm = null;
                oVariables = null;
                oProcess = null;
            }
        }
        public ActionResult four_for_1_spring2(string SubmitButton, FormCollection form, ShippingModels.ShippingBillingOrder shipping)
        {
            ViewData["StatesList"] = UtilitiesModels.GetStateNameList();
            ViewData["GenderList"] = UtilitiesModels.GetChildGenderNameList();
            ViewData["MonthList"] = UtilitiesModels.GetMonthNameList();
            ViewData["YearList"] = UtilitiesModels.GetCardExpiryYearList();
            OrderProcess oProcess = new OrderProcess();
            CommonMethods oComm = new CommonMethods();
            CommonModels oCom = new CommonModels();
            OrderVariables oVariables = new OrderVariables();
            string cart_details, conf_pg_tac, total = "";
            string shipall = "false";
            string template = "";
            string pixel = "";
            try
            {
                if (!string.IsNullOrEmpty(SubmitButton))
                {
                    switch (SubmitButton.ToLower())
                    {
                        case "rush my books":
                            oVariables = oProcess.GetOfferAndPageDetails("fosina-seuss-4for1-secure-activity");
                            shipping.stepNumber = 1;
                            var offerService = new OfferService();
                            oVariables = offerService.MapQueryStringToOrderVariables(oVariables: oVariables);
                            oVariables = ShippingModels.AssignShippingBillingToOrderVariables(oVariables, shipping);
                            oVariables = oProcess.OrderSubmit(oVariables);
                            if (oVariables != null)
                            {
                                if (oVariables.order_id > 0)
                                {
                                    Session.Add("NewOrderDetails", oVariables);
                                    if (oVariables.upsellId != 0)
                                    {
                                        Session["fireFaceBookConfirmationPixel"] = "false";
                                        return RedirectToAction("OrderDetails", "AdditionalOffers");
                                    }
                                    else
                                    {
                                        Session["fireFaceBookConfirmationPixel"] = "true";
                                        return RedirectToAction("Confirmation", "Home");
                                    }
                                }
                                else
                                {
                                    if (oVariables.err.Length >= 0)
                                    {
                                        if ((oVariables.order_status == "X") || (oVariables.order_status == "F"))
                                        {
                                            Session.Add("NewOrderDetails", oVariables);
                                            return RedirectToAction("orderstatus", "Home");
                                        }
                                        else if (oVariables.err.Length > 0)
                                        {
                                            ViewBag.ErrorMsg = oVariables.err;
                                            oVariables.err = oVariables.err.Replace("<br>", "\\r\\n");
                                        }
                                        else if ((oVariables.order_status == "N") || (oVariables.redirect_page.Length > 0))
                                        {
                                            Session.Add("NewSBMDetails", oVariables);
                                            shipping.stepNumber = 2;
                                            #region LoadPaymentSection
                                            try
                                            {
                                                if (Session["NewSBMDetails"] != null)
                                                {
                                                    oVariables = (OrderVariables)Session["NewSBMDetails"];
                                                    Dictionary<string, string> d = oCom.GetOfferCreatives(oVariables);
                                                    ViewBag.HeaderImageSrc = oComm.GetDictionaryValue("payment_header", d);
                                                    if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                                                    if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                                                    string cartId = oVariables.cart_id.ToString();
                                                    conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                                                    cart_details = oCom.ResponsivePayment_GiftingProducts(oVariables, Convert.ToBoolean(shipall), template);
                                                    total = String.Format("{0:c}", oVariables.total_amt + oVariables.tax_amt + oVariables.total_sah);
                                                    ViewBag.IsBonusSelected = false;
                                                    if (oVariables.bonus_option == true)
                                                    {
                                                        ViewBag.IsBonusSelected = true;
                                                    }
                                                    ViewBag.CartSummary = cart_details;
                                                    ViewBag.Cart = cartId;
                                                    ViewBag.Total = total;
                                                    ViewBag.ConfPgTAC = conf_pg_tac;
                                                    return View();
                                                }
                                                else
                                                {
                                                    return RedirectToAction("four_for_1_spring", "seuss", routeValues: ViewContextExtensions.OptionalParamters(Request.QueryString));
                                                }
                                            }
                                            catch (Exception ex)
                                            {
                                                oCom.SendEmail("Exception Raised in EM Landers Payment Page - " + ex.Message.ToString());
                                                return View();
                                            }
                                            finally
                                            {
                                                oComm = null;
                                                oVariables = null;
                                            }
                                            #endregion
                                        }
                                        else
                                        {
                                            ViewBag.ErrorMsg = oVariables.err;
                                            oVariables.err = oVariables.err.Replace("<br>", "\\r\\n");
                                        }
                                    }
                                }
                            }
                            else
                            {
                                //page_log += "Order is NOT processed, Order Process returned NULL.<br>";
                                Session["NewSBMDetails"] = null;
                                return RedirectToAction("orderstatus", "Home");
                            }
                            break;

                        case "submit order":
                            #region Payment Submit
                            if (!string.IsNullOrEmpty(shipping.SecurityCaptch) && Session["rndtext"] != null)
                            {
                                string strCaptch = Session["rndtext"] as string;
                                if (!strCaptch.Equals(shipping.SecurityCaptch))
                                {
                                    ViewBag.ErrorMsg = "Invalid Security Captch.";
                                    // return View();
                                }
                            }
                            else
                            {
                                //if (string.IsNullOrEmpty(billing.SecurityCaptch))
                                //{
                                ViewBag.ErrorMsg = "Security Captch is required.";
                                // return View();
                                //}
                            }

                            if (Session["ShippingDetails"] != null)
                                oVariables = Session["ShippingDetails"] as OrderVariables;

                            try
                            {
                                if (Session["NewSBMDetails"] != null)
                                {
                                    oVariables = (OrderVariables)Session["NewSBMDetails"];

                                    if (oVariables != null)
                                    {
                                        if (ViewBag.ErrorMsg != null && ViewBag.ErrorMsg != "")
                                        {
                                            //Setting values if page is getting back to the payment view only.
                                            Dictionary<string, string> d = oCom.GetOfferCreatives(oVariables);
                                            ViewBag.HeaderImageSrc = oCom.GetDictionaryValue("payment_header", d);
                                            if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                                            if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                                            string cartId = oVariables.cart_id.ToString();
                                            conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                                            cart_details = oCom.ResponsivePayment_GiftingProducts(oVariables, Convert.ToBoolean(shipall), template);
                                            total = String.Format("{0:c}", oVariables.total_amt + oVariables.tax_amt + oVariables.total_sah);
                                            ViewBag.IsBonusSelected = false;
                                            if (oVariables.bonus_option == true)
                                            {
                                                ViewBag.IsBonusSelected = true;
                                            }
                                            ViewBag.CartSummary = cart_details;
                                            ViewBag.Cart = cartId;
                                            ViewBag.Total = total;
                                            ViewBag.ConfPgTAC = conf_pg_tac;
                                            // billing.SecurityCaptch = "";
                                            // ViewData.Model = billing;
                                            //return View(ViewData.Model);
                                            return View();
                                        }

                                        shipping.stepNumber = 2;
                                        oVariables = ShippingModels.AssignShippingBillingToOrderVariables(oVariables, shipping);
                                        oVariables = oProcess.OrderSubmit(oVariables);
                                        if (oVariables != null)
                                        {
                                            if (oVariables.order_id > 0)
                                            {
                                                Session["NewSBMDetails"] = null;
                                                Session.Add("NewOrderDetails", oVariables);
                                                if (oVariables.upsellId != 0)
                                                {
                                                    Session["fireFaceBookConfirmationPixel"] = "false";
                                                    return RedirectToAction("OrderDetails", "AdditionalOffers");
                                                }
                                                else
                                                {
                                                    Session["fireFaceBookConfirmationPixel"] = "true";
                                                    return RedirectToAction("Confirmation", "Home");
                                                }
                                            }
                                            else
                                            {
                                                if (oVariables.err.Length > 0)
                                                {
                                                    if ((oVariables.order_status == "X") || (oVariables.order_status == "F"))
                                                    {
                                                        Session["NewSBMDetails"] = null;
                                                        Session.Add("NewOrderDetails", oVariables);
                                                        return RedirectToAction("orderstatus", "Home");
                                                    }
                                                    else
                                                    {
                                                        Session.Add("NewSBMDetails", oVariables);
                                                        ViewBag.ErrorMsg = oVariables.err;
                                                        oVariables.err = oVariables.err.Replace("<br>", "\\r\\n");
                                                    }
                                                }
                                                else if (oVariables.isSoftDeclined)
                                                {
                                                    Session["NewSBMDetails"] = null;
                                                    return RedirectToAction("ThankYou", "home");
                                                }
                                                //Setting values if page is getting back to the payment view only.
                                                Dictionary<string, string> d = oCom.GetOfferCreatives(oVariables);
                                                ViewBag.HeaderImageSrc = oComm.GetDictionaryValue("payment_header", d);
                                                if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                                                if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                                                string cartId = oVariables.cart_id.ToString();
                                                conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                                                cart_details = oCom.ResponsivePayment_GiftingProducts(oVariables, Convert.ToBoolean(shipall), template);
                                                total = String.Format("{0:c}", oVariables.total_amt + oVariables.tax_amt + oVariables.total_sah);
                                                ViewBag.IsBonusSelected = false;
                                                if (oVariables.bonus_option == true)
                                                {
                                                    ViewBag.IsBonusSelected = true;
                                                }
                                                ViewBag.CartSummary = cart_details;
                                                ViewBag.Cart = cartId;
                                                ViewBag.Total = total;
                                                ViewBag.ConfPgTAC = conf_pg_tac;
                                            }
                                        }
                                        else
                                        {
                                            return RedirectToAction("orderstatus", "Home");
                                        }
                                    }
                                    return View();
                                }
                                else
                                {
                                    return RedirectToAction("four_for_1_spring2", "seuss", routeValues: ViewContextExtensions.OptionalParamters(Request.QueryString));
                                }

                            }
                            catch (Exception ex)
                            {
                                oCom.SendEmail("Exception Raised in EM Landers Payment Page (Submit) - " + ex.Message.ToString());
                                return View();
                            }
                            finally
                            {
                                oComm = null;
                                oVariables = null;
                                oProcess = null;
                            }
                            #endregion
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                string page_log = "Exception raised. Exception: " + ex.Message.ToString() + "<br>";
                string s = "";// oCom.LogBrowserCapabilities(Request.Browser);
                oCom.SendEmail(HttpContext.Request.Url.ToString() + "<br>ex.message = " + ex.Message.ToString() + "<br> Additional Information - " + page_log + ".<br> Browser Details....<br>" + s);
                return View();
            }
            finally
            {
                oVariables = null;
                oComm = null;
                oProcess = null;
            }
            return View();
        }
        private void BindCartDetails()
        {
            OrderVariables oVariables = new OrderVariables();
            OrderProcess oProcess = new OrderProcess();
            CommonModels oComm = new CommonModels();
            double totalAmount = 0;
            double taxAmt = 0;
            string cart_details, conf_pg_tac, total = "";
            string shipall = "false";
            string template = "";

            if (Session["NewOrderDetails"] != null)
            {
                oVariables = (OrderVariables)Session["NewOrderDetails"];

                if (oVariables != null)
                {
                    Dictionary<string, string> d = oComm.GetOfferCreatives(oVariables);
                    ViewBag.UpsellHeaderImage = oComm.GetDictionaryValue("upsell_header", d);
                    if ((string)Request.QueryString["shipall"] != null) { shipall = (string)Request.QueryString["shipall"]; }
                    if ((string)Request.QueryString["template"] != null) { template = (string)Request.QueryString["template"]; }
                    string cartId = oVariables.cart_id.ToString();
                    conf_pg_tac = oVariables.PageVars[0].conf_pg_tac;
                    cart_details = oComm.ResponsivePayment_GiftingProducts(oVariables, out taxAmt, out totalAmount, Convert.ToBoolean(shipall), template, true);
                    ViewBag.taxAmt = String.Format("{0:C}", taxAmt);
                    ViewBag.totalAmount = String.Format("{0:C}", totalAmount);

                    ViewBag.IsBonusSelected = false;
                    if (oVariables.bonus_option == true)
                    {
                        ViewBag.IsBonusSelected = true;
                    }
                    ViewBag.CartSummary = cart_details;
                    ViewBag.Cart = cartId;
                    ViewBag.Total = total;
                    ViewBag.ConfPgTAC = conf_pg_tac;
                    ViewBag.ChoiceBook = oVariables.shopping_cart_items;
                }

            }
        }