//When a user enters a zip code, update the page accordingly public JsonResult UpdateZip(string zipCode) { CreateNewCookie(zipCode, "Zip Code Cookie"); var featuredProduct = ProductService.GetFeaturedProduct(); var promo = PromoService.GetPromoByProductAndZip(featuredProduct.ProductId, zipCode); //Note that the next two lines are similar to my GetSalePrice in PromoService //var promo = featuredProduct.Promotions.FirstOrDefault(p => p.promoStartDate <= DateTime.Now //&& p.promoEndDate >= DateTime.Now && Convert.ToString(p.promoZipCode) == zipCode); //Note that the next two lines are similar to my GetSalePrice in PromoService //var promo = featuredProduct.Promotions.FirstOrDefault(p => p.promoStartDate <= DateTime.Now //&& p.promoEndDate >= DateTime.Now && Convert.ToString(p.promoZipCode) == zipCode); double salePrice = 0; if (promo != null && promo.SalePrice.HasValue) { salePrice = promo.SalePrice.Value; ProductViewModel productViewModel = GetProductViewModel(featuredProduct); productViewModel.ProductSalePrice = salePrice; } var result = new { status = "Udpated", promoSalePrice = salePrice }; return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult RemovePromo(int PromoId) { try { Promo promo = PromoService.GetPromo(PromoId); PromoService.SavePromo(); Product product = ProductService.GetProduct(promo.ProductId); product.TagsText = "Ta5Fabrixs"; product.PriceEU = product.OriginalPriceEU; PromoService.RemovePromo(promo.ProductId); PromoService.SavePromo(); return(RedirectToAction("Promos")); } catch (DbEntityValidationException e) { string resultingError = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { resultingError += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + ""; } } throw new Exception(resultingError); } }
private void button1_Click(object sender, EventArgs e) { AccountService accountService = new AccountService(); var res = accountService.GetById(1); PromoService promoService = new PromoService(); var promos = promoService.GetAll(); ; }
private void LoadPromos() { string errorResponse = string.Empty; PromoService promoService = new PromoService(); var promos = new List <Promo>(); // get category int?categoryId = null; if (!string.IsNullOrWhiteSpace(GetAttributeValue("CategoryId"))) { categoryId = Convert.ToInt32(GetAttributeValue("CategoryId")); } // get promo type bool isTopFree = false; bool isTopPaid = false; bool isFeatured = false; string promoType = GetAttributeValue("PromoType"); //"Top Paid, Top Free, Featured" switch (promoType) { case "Top Paid": isTopPaid = true; break; case "Top Free": isTopFree = true; break; case "Featured": isFeatured = true; break; } promos = promoService.GetPromos(categoryId, out errorResponse, isTopFree, isFeatured, isTopPaid); // check for errors ErrorCheck(errorResponse); var mergeFields = Rock.Lava.LavaHelper.GetCommonMergeFields(this.RockPage, this.CurrentPerson); mergeFields.Add("Promos", promos); // add link to detail page Dictionary <string, object> linkedPages = new Dictionary <string, object>(); linkedPages.Add("DetailPage", LinkedPageRoute("DetailPage")); mergeFields.Add("LinkedPages", linkedPages); lOutput.Text = GetAttributeValue("LavaTemplate").ResolveMergeFields(mergeFields); }
public ActionResult CreatePromo(Promo promo) { try { if (ModelState.IsValid) { if (promo.EndDate < promo.StartDate) { return(RedirectToAction("Promos")); } if (promo.StartDate < DateTime.Now) { promo.StartDate = DateTime.Now; } promo.PromoPriceLV = promo.PromoPriceEU * 2; promo.Active = true; PromoService.CreatePromo(promo); Product updatingPriceProduct = ProductService.GetProduct(promo.ProductId); updatingPriceProduct.TagsText = "Ta5Fabrixs"; updatingPriceProduct.OriginalPriceEU = updatingPriceProduct.PriceEU; updatingPriceProduct.PriceEU = promo.PromoPriceEU; ProductService.UpdateProduct(updatingPriceProduct); ProductService.SaveProduct(); } return(RedirectToAction("Promos")); } catch (DbEntityValidationException e) { string resultingError = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { resultingError += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + ""; } } throw new Exception(resultingError); } }
public void CheckForSalesAndDoThem() { try { PromoService.UpdateAllPromos(); PromoService.SavePromo(); } catch (DbEntityValidationException e) { string resultingError = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { resultingError += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + ""; } } throw new Exception(resultingError); } }
private void LoadPromos() { string errorResponse = string.Empty; PromoService promoService = new PromoService(); var promos = new List <Promo>(); // get category int?categoryId = null; if (!string.IsNullOrWhiteSpace(GetAttributeValue("CategoryId"))) { categoryId = Convert.ToInt32(GetAttributeValue("CategoryId")); } // get promo type bool isTopFree = false; bool isTopPaid = false; bool isFeatured = false; string promoType = GetAttributeValue("PromoType"); //"Top Paid, Top Free, Featured" switch (promoType) { case "Top Paid": isTopPaid = true; break; case "Top Free": isTopFree = true; break; case "Featured": isFeatured = true; break; } promos = promoService.GetPromos(categoryId, out errorResponse, isTopFree, isFeatured, isTopPaid); // check for errors ErrorCheck(errorResponse); var mergeFields = new Dictionary <string, object>(); mergeFields.Add("CurrentPerson", CurrentPerson); var globalAttributeFields = Rock.Web.Cache.GlobalAttributesCache.GetMergeFields(CurrentPerson); globalAttributeFields.ToList().ForEach(d => mergeFields.Add(d.Key, d.Value)); mergeFields.Add("Promos", promos); // add link to detail page Dictionary <string, object> linkedPages = new Dictionary <string, object>(); linkedPages.Add("DetailPage", LinkedPageUrl("DetailPage", null)); mergeFields.Add("LinkedPages", linkedPages); lOutput.Text = GetAttributeValue("LavaTemplate").ResolveMergeFields(mergeFields); // show debug info if (GetAttributeValue("EnableDebug").AsBoolean() && IsUserAuthorized(Authorization.EDIT)) { lDebug.Visible = true; lDebug.Text = mergeFields.lavaDebugInfo(); } }
/// <summary> /// Class constructor /// </summary> /// <param name="pPromoService"></param> public PromosController(PromoService pPromoService) { _promoService = pPromoService; }
public ActionResult ListPromos() { var promos = PromoService.GetPromos(); return(PartialView("~/Views/Shared/_ListPromos.cshtml", promos)); }