Example #1
0
        //[ValidateAntiForgeryToken]
        public JsonResult CheckBalance(String giftCardNumber, String giftCardPin)
        {
            JsonDataResultViewModel result = new JsonDataResultViewModel();

            if (String.IsNullOrEmpty(giftCardNumber) || String.IsNullOrEmpty(giftCardPin))
            {
                result.Success = false;
                result.Errors.Add("Some information provided was invalid.");

                return(Json(result, JsonRequestBehavior.AllowGet));
            }

            var gc = _giftCardService.Get(giftCardNumber, giftCardPin);

            if (gc == null)
            {
                result.Success = false;

                result.Errors.Add("Gift card could not be found.");

                return(Json(result, JsonRequestBehavior.AllowGet));
            }

            if (gc.Balance <= 0)
            {
                result.Success = false;

                result.Errors.Add("Gift card has no remaining balance.");

                return(Json(result, JsonRequestBehavior.AllowGet));
            }

            var model = new GiftCardPaymentViewModel()
            {
                Balance        = gc.Balance,
                GiftCardNumber = gc.GiftCardNumber,
                GiftCardPin    = gc.GiftCardPin
            };

            //If we got here, no errors.
            result.Data    = ViewHelpers.RenderViewToString(this.ControllerContext, "~/Views/Checkout/DisplayTemplates/DisplayGiftcardCheckout.cshtml", model);//PartialView("~/Views/Checkout/DisplayTemplates/DisplayGiftcardCheckout.cshtml", model);
            result.Success = true;

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public ActionResult _AddressFixUp(Address address)
        {
            var result = new JsonDataResultViewModel();
            var model  = new AddressFixUpViewmodel();

            model.ExistingAddress = address;

            var addressResult = _addressService.ValidateAddress(Mapper.Map <Address>(address));

            if (result != null && addressResult.Alternates.Any())
            {
                var suggAdd = addressResult.Alternates.First();

                suggAdd.State = Helpers.Converters.StateAbbrvToState(suggAdd.State);

                //TODO if suggested address is a direct match for the posted address, return false so
                //there is no fixup slide down.
                //if (suggAdd.Equals(address))
                //{
                //    result.Success = false;

                //    return Json(result);
                //}

                model.SuggestedAddress = suggAdd;

                result.Success = true;

                var viewResult = ViewHelpers
                                 .RenderViewToString(this.ControllerContext,
                                                     "~/Views/Checkout/_AddressFixUp.cshtml",
                                                     model);

                result.Data = viewResult;
            }
            else
            {
                result.Success = false;
            }

            return(Json(result));
        }