public checkoutPageItem getCheckoutPageByPageItemAndPageType(titizOto.Models.tbl_page pageItem, checkoutStep pageType, string langCode, string mainCheckoutPageUrl) { var item = new checkoutPageItem(); item.name = pageItem.name; item.url = langCode + "/" + mainCheckoutPageUrl + "/" + pageItem.url + ".html"; item.step = pageType; return item; }
public List<checkoutPageItem> getCheckoutStepList(titizOto.Models.titizOtoEntities db, int langId, string langCode) { List<checkoutPageItem> list = new List<checkoutPageItem>(); pageShared ps = new pageShared(db); checkoutPageItem item = null; int[] pageTypeList = new int[] { (int)pageType.checkoutRegisterStatu, (int)pageType.checkoutDelivery, (int)pageType.checkoutBilling, (int)pageType.checkoutCargo, (int)pageType.checkoutPayment, (int)pageType.checkoutSummary, (int)pageType.checkoutMain, (int)pageType.checkoutComplete, (int)pageType.checkoutErrorProcess }; var pageList = db.tbl_page.Where(a => pageTypeList.Contains(a.pageTypeId) && a.langId == langId).ToList(); var mainCheckoutPage = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutMain).FirstOrDefault(); // register Statu var pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutRegisterStatu).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.registerOptions, langCode, mainCheckoutPage.url); list.Add(item); } // deliverty pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutDelivery).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.delivery, langCode, mainCheckoutPage.url); list.Add(item); } // billing pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutBilling).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.billing, langCode, mainCheckoutPage.url); list.Add(item); } // cargo pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutCargo).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.cargo, langCode, mainCheckoutPage.url); list.Add(item); } // paymentOptions pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutPayment).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.payment, langCode, mainCheckoutPage.url); list.Add(item); } // summary pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutSummary).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.summary, langCode, mainCheckoutPage.url); list.Add(item); } // Important Error pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutErrorProcess).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.error, langCode, mainCheckoutPage.url); list.Add(item); } // Complete pageItem = pageList.Where(a => a.pageTypeId == (int)pageType.checkoutComplete).FirstOrDefault(); if (pageItem != null) { item = getCheckoutPageByPageItemAndPageType(pageItem, checkoutStep.complete, langCode, mainCheckoutPage.url); list.Add(item); } return list; }
public Tuple<bool, string, checkoutStep> validationOnCurrentStep(titizOto.Models.titizOtoEntities db, checkoutStep step) { if (this.isCartItemChange) { return new Tuple<bool, string, checkoutStep>(false, null, checkoutStep.none); } var formerValidation = returnValidResult(); var currentValidation = returnValidResult(); int lastSuccessPage = (int)lastSuccessStep; int currentPage = (int)step; // Access Validation if (currentPage > lastSuccessPage + 1) { checkoutStep lastAccessStep = (checkoutStep)(lastSuccessPage + 1); return new Tuple<bool, string, checkoutStep>(false, null, lastAccessStep); } switch (step) { case checkoutStep.delivery: if (!isRegisterOptionsValid()) { return new Tuple<bool, string, checkoutStep>(false, null, checkoutStep.registerOptions); } break; case checkoutStep.billing: formerValidation = validationOnCurrentStep(db, checkoutStep.delivery); if (!formerValidation.Item1) { return formerValidation; } var deliveryValidation = isDeliveryValid(db); if (!deliveryValidation.Item1) { return new Tuple<bool, string, checkoutStep>(false, deliveryValidation.Item2, checkoutStep.delivery); } break; case checkoutStep.cargo: formerValidation = validationOnCurrentStep(db, checkoutStep.billing); if (!formerValidation.Item1) { return formerValidation; } var billingValidation = isBillingValid(db); if (!billingValidation.Item1) { return new Tuple<bool, string, checkoutStep>(false, billingValidation.Item2, checkoutStep.billing); } break; case checkoutStep.payment: formerValidation = validationOnCurrentStep(db, checkoutStep.cargo); if (!formerValidation.Item1) { return formerValidation; } var cargoValidation = isCargoValid(db); if (!cargoValidation.Item1) { return new Tuple<bool, string, checkoutStep>(false, cargoValidation.Item2, checkoutStep.cargo); } break; case checkoutStep.summary: formerValidation = validationOnCurrentStep(db, checkoutStep.payment); if (!formerValidation.Item1) { return formerValidation; } var paymentValidation = isPaymentValid(db); if (!paymentValidation.Item1) { return new Tuple<bool, string, checkoutStep>(false, paymentValidation.Item2, checkoutStep.payment); } break; } return returnValidResult(); }
private Tuple<bool, string> isPaymentValid(titizOto.Models.titizOtoEntities db) { switch (this.paymentOptionChoose) { case paymentOption.noAnswer: return new Tuple<bool, string>(false, null); case paymentOption.transfer: if (this.transferInfo != null) { var eftItem = db.tbl_bankEft.Where(a => a.bankEftId == this.transferInfo.selectedTransferId).FirstOrDefault(); if (eftItem != null) { return new Tuple<bool, string>(true, null); } } return new Tuple<bool, string>(false, null); case paymentOption.creditCard: if (this.cardInfo != null) { checkoutShared cs = new checkoutShared(db); var cardInfoValidation = cs.isCardInfoValid(this.cardInfo); return cardInfoValidation; } break; } return new Tuple<bool, string>(false, null); }
/// <summary> /// bool - isValid , string - Message , string - redirectStep /// </summary> /// <returns></returns> public Tuple<bool, string, checkoutStep> validationOnCurrentStep(titizOto.Models.titizOtoEntities db) { return validationOnCurrentStep(db, this.currentStep); }
public Tuple<bool, string> isDeliveryValid(titizOto.Models.titizOtoEntities db) { HelperSite.Shared.addressShared ads = new HelperSite.Shared.addressShared(db); // Unregistered User if (!cartItem.isRegisteredUser) { // Validate Track Info, name,surname,email var validateTrackInfo = ads.isValidTrackData(this.trackInfo); if (!validateTrackInfo.Item1) { return validateTrackInfo; } // Validate Address var addressValidation = ads.isValidAddress(this.deliveryAddress); if (!addressValidation.Item1) { return addressValidation; } } else // Registered User { var addressItem = ads.getAddressById(this.deliveryAddressId); if (addressItem == null || addressItem.statu == false) { return new Tuple<bool, string>(false, lang.checkoutDeliveryRequired); } } return new Tuple<bool, string>(true, null); }
public Tuple<bool, string> isCargoValid(titizOto.Models.titizOtoEntities db) { if (db.tbl_cargo.Where(a => a.statu).Any(a => a.cargoId == this.cargoId)) { return new Tuple<bool, string>(true, null); } else { return new Tuple<bool, string>(false, null); } }
public Tuple<bool, string> isBillingValid(titizOto.Models.titizOtoEntities db) { HelperSite.Shared.addressShared ads = new HelperSite.Shared.addressShared(db); // Unregistered User if (!cartItem.isRegisteredUser) { // Validate Address var addressValidation = ads.isValidAddress(this.billingAddress); if (!addressValidation.Item1) { return addressValidation; } } else { var addressItem = ads.getAddressById(this.billingAddressId); if (addressItem == null || addressItem.statu == false) { return new Tuple<bool, string>(false, lang.checkoutDeliveryRequired); } } return new Tuple<bool, string>(true, null); }
public string getAddressHtml(tbl_address addressItem, AddressHtmlType addressType, titizOto.Areas.radmin.Controllers.OrderController helperController) { if (addressItem != null) { switch (addressType) { case AddressHtmlType.agreement: var item = getAddressAccountTemplate(addressItem); return item.content; case AddressHtmlType.mail: case AddressHtmlType.orderDetail: return helperController.RenderRazorViewToString("AddressMailHtml", addressItem); case AddressHtmlType.adminOrderDetail: return helperController.RenderRazorViewToString("AddressAdminHtml", addressItem); } } return ""; }